From 5fc66630bed5db8b0e2507e7324f1c8f98e0dd9a Mon Sep 17 00:00:00 2001 From: Raslan Darawsheh Date: Thu, 7 Nov 2019 09:36:09 +0000 Subject: [PATCH] net/mlx5: add ConnectX6-DX device ID This adds new device id to the list of Mellanox devices that runs mlx5 PMD. - ConnectX-6DX device ID - ConnectX-6DX SRIOV device ID Signed-off-by: Raslan Darawsheh Acked-by: Viacheslav Ovsiienko --- doc/guides/nics/mlx5.rst | 36 ++++++++++++++++---------- doc/guides/rel_notes/release_19_11.rst | 1 + drivers/net/mlx5/mlx5.c | 9 +++++++ drivers/net/mlx5/mlx5.h | 2 ++ 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 4f1093f6a5..0dec788726 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -7,9 +7,9 @@ MLX5 poll mode driver The MLX5 poll mode driver library (**librte_pmd_mlx5**) provides support for **Mellanox ConnectX-4**, **Mellanox ConnectX-4 Lx** , **Mellanox -ConnectX-5**, **Mellanox ConnectX-6** and **Mellanox BlueField** families -of 10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) -in SR-IOV context. +ConnectX-5**, **Mellanox ConnectX-6**, **Mellanox ConnectX-6DX** and +**Mellanox BlueField** families of 10/25/40/50/100/200 Gb/s adapters +as well as their virtual functions (VF) in SR-IOV context. Information and documentation about these adapters can be found on the `Mellanox website `__. Help is also provided by the @@ -313,8 +313,10 @@ Run-time configuration Supported on: - - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6 and BlueField. - - POWER9 and ARMv8 with ConnectX-4 LX, ConnectX-5, ConnectX-6 and BlueField. + - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6, ConnectX-6 DX + and BlueField. + - POWER9 and ARMv8 with ConnectX-4 LX, ConnectX-5, ConnectX-6, ConnectX-6 DX + and BlueField. - ``rxq_cqe_pad_en`` parameter [int] @@ -344,8 +346,10 @@ Run-time configuration Supported on: - - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6 and BlueField. - - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5, ConnectX-6 and BlueField. + - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6, ConnectX-6 DX + and BlueField. + - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5, ConnectX-6, ConnectX-6 DX + and BlueField. - ``mprq_en`` parameter [int] @@ -537,11 +541,11 @@ Run-time configuration - ``txq_mpw_en`` parameter [int] A nonzero value enables Enhanced Multi-Packet Write (eMPW) for ConnectX-5, - ConnectX-6 and BlueField. eMPW allows the TX burst function to pack up multiple - packets in a single descriptor session in order to save PCI bandwidth and improve - performance at the cost of a slightly higher CPU usage. When ``txq_inline_mpw`` - is set along with ``txq_mpw_en``, TX burst function copies entire packet - data on to TX descriptor instead of including pointer of packet. + ConnectX-6, ConnectX-6 DX and BlueField. eMPW allows the TX burst function to pack + up multiple packets in a single descriptor session in order to save PCI bandwidth + and improve performance at the cost of a slightly higher CPU usage. When + ``txq_inline_mpw`` is set along with ``txq_mpw_en``, TX burst function copies + entire packet data on to TX descriptor instead of including pointer of packet. The Enhanced Multi-Packet Write feature is enabled by default if NIC supports it, can be disabled by explicit specifying 0 value for ``txq_mpw_en`` option. @@ -550,8 +554,8 @@ Run-time configuration - ``tx_vec_en`` parameter [int] - A nonzero value enables Tx vector on ConnectX-5, ConnectX-6 and BlueField - NICs if the number of global Tx queues on the port is less than + A nonzero value enables Tx vector on ConnectX-5, ConnectX-6, ConnectX-6 DX + and BlueField NICs if the number of global Tx queues on the port is less than ``txqs_max_vec``. The parameter is deprecated and ignored. - ``rx_vec_en`` parameter [int] @@ -794,6 +798,7 @@ Mellanox OFED/EN - ConnectX-5: **16.21.1000** and above. - ConnectX-5 Ex: **16.21.1000** and above. - ConnectX-6: **20.99.5374** and above. + - ConnectX-6 DX: **22.27.0090** and above. - BlueField: **18.25.1010** and above. While these libraries and kernel modules are available on OpenFabrics @@ -837,6 +842,9 @@ Supported NICs * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G) +* Mellanox(R) ConnectX(R)-6 200G MCX654106A-HCAT (4x200G) +* Mellanox(R) ConnectX(R)-6DX EN 100G MCX623106AN-CDAT (2*100g) +* Mellanox(R) ConnectX(R)-6DX EN 200G MCX623105AN-VDAT (1*200g) Quick Start Guide on OFED/EN ---------------------------- diff --git a/doc/guides/rel_notes/release_19_11.rst b/doc/guides/rel_notes/release_19_11.rst index 3ed49bc2cc..da48051506 100644 --- a/doc/guides/rel_notes/release_19_11.rst +++ b/doc/guides/rel_notes/release_19_11.rst @@ -178,6 +178,7 @@ New Features * Added support for VLAN set VID offload command. * Added support for matching on packets withe Geneve tunnel header. * Added hairpin support. + * Added ConnectX6-DX support. * **Updated the AF_XDP PMD.** diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 72c30bf63b..102c6abe89 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -2891,6 +2891,7 @@ mlx5_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, case PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF: case PCI_DEVICE_ID_MELLANOX_CONNECTX6VF: + case PCI_DEVICE_ID_MELLANOX_CONNECTX6DXVF: dev_config.vf = 1; break; default: @@ -3060,6 +3061,14 @@ static const struct rte_pci_id mlx5_pci_id_map[] = { RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, PCI_DEVICE_ID_MELLANOX_CONNECTX6VF) }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX6DX) + }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX6DXVF) + }, { .vendor_id = 0 } diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index f644998868..b56dae15ec 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -55,6 +55,8 @@ enum { PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF = 0xa2d3, PCI_DEVICE_ID_MELLANOX_CONNECTX6 = 0x101b, PCI_DEVICE_ID_MELLANOX_CONNECTX6VF = 0x101c, + PCI_DEVICE_ID_MELLANOX_CONNECTX6DX = 0x101d, + PCI_DEVICE_ID_MELLANOX_CONNECTX6DXVF = 0x101e, }; /* Request types for IPC. */ -- 2.20.1