From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wisam Monther Subject: [PATCH v2] net/mlx5: add ConnectX-6 device IDs Date: Mon, 31 Dec 2018 12:43:48 +0000 Message-ID: <1546260214-10064-1-git-send-email-wisamm@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: Shahaf Shuler Return-path: Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60082.outbound.protection.outlook.com [40.107.6.82]) by dpdk.org (Postfix) with ESMTP id D4FAD1B105 for ; Mon, 31 Dec 2018 13:43:49 +0100 (CET) Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This commit includes the add of: - ConnectX-6 device ID - ConnectX-6 SRIOV device ID Signed-off-by: Wisam Jaddo --- Changes in v2: - Updated mlx5 docs to include ConnectX-6 product. - Add ConnectX-6 virtual function device as well. config/common_base | 4 ++-- doc/guides/nics/mlx5.rst | 32 +++++++++++++++++--------------- drivers/net/mlx5/mlx5.c | 8 ++++++++ drivers/net/mlx5/mlx5.h | 2 ++ 4 files changed, 29 insertions(+), 17 deletions(-) diff --git a/config/common_base b/config/common_base index 0e3f900..964a695 100644 --- a/config/common_base +++ b/config/common_base @@ -323,8 +323,8 @@ CONFIG_RTE_LIBRTE_MLX4_DEBUG=3Dn CONFIG_RTE_LIBRTE_MLX4_DLOPEN_DEPS=3Dn =20 # -# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5 & Bluefield -# (MLX5) PMD +# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5, +# ConnectX-6 & Bluefield (MLX5) PMD # CONFIG_RTE_LIBRTE_MLX5_PMD=3Dn CONFIG_RTE_LIBRTE_MLX5_DEBUG=3Dn diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index 2c516fe..add8bc1 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -7,8 +7,9 @@ MLX5 poll mode driver =20 The MLX5 poll mode driver library (**librte_pmd_mlx5**) provides support for **Mellanox ConnectX-4**, **Mellanox ConnectX-4 Lx** , **Mellanox -ConnectX-5** and **Mellanox Bluefield** families of 10/25/40/50/100 Gb/s -adapters as well as their virtual functions (VF) in SR-IOV context. +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 (V= F) +in SR-IOV context. =20 Information and documentation about these adapters can be found on the `Mellanox website `__. Help is also provided by t= he @@ -274,8 +275,8 @@ Run-time configuration =20 Supported on: =20 - - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5 and Bluefield. - - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5 and Bluefield. + - x86_64 with ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6 and Blue= field. + - POWER8 and ARMv8 with ConnectX-4 LX, ConnectX-5, ConnectX-6 and Bluefi= eld. =20 - ``rxq_cqe_pad_en`` parameter [int] =20 @@ -359,13 +360,13 @@ Run-time configuration =20 This option should be used in combination with ``txq_inline`` above. =20 - On ConnectX-4, ConnectX-4 LX, ConnectX-5 and Bluefield without + On ConnectX-4, ConnectX-4 LX, ConnectX-5, ConnectX-6 and Bluefield witho= ut Enhanced MPW: =20 - Disabled by default. - In case ``txq_inline`` is set recommendation is 4. =20 - On ConnectX-5 and Bluefield with Enhanced MPW: + On ConnectX-5, ConnectX-6 and Bluefield with Enhanced MPW: =20 - Set to 8 by default. =20 @@ -386,7 +387,7 @@ Run-time configuration - ``txq_mpw_en`` parameter [int] =20 A nonzero value enables multi-packet send (MPS) for ConnectX-4 Lx and - enhanced multi-packet send (Enhanced MPS) for ConnectX-5 and Bluefield. + enhanced multi-packet send (Enhanced MPS) for ConnectX-5, ConnectX-6 and= Bluefield. MPS 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 @@ -401,13 +402,13 @@ Run-time configuration DEV_TX_OFFLOAD_VXLAN_TNL_TSO, DEV_TX_OFFLOAD_GRE_TNL_TSO, DEV_TX_OFFLOAD= _VLAN_INSERT``. When those offloads are requested the MPS send function will not be used= . =20 - It is currently only supported on the ConnectX-4 Lx, ConnectX-5 and Blue= field + It is currently only supported on the ConnectX-4 Lx, ConnectX-5, Connect= X-6 and Bluefield families of adapters. On ConnectX-4 Lx the MPW is considered un-secure hence disabled by defau= lt. Users which enable the MPW should be aware that application which provid= es incorrect mbuf descriptors in the Tx burst can lead to serious errors in the host = including, on some cases, NIC to get stuck. - On ConnectX-5 and Bluefield the MPW is secure and enabled by default. + On ConnectX-5, ConnectX-6 and Bluefield the MPW is secure and enabled by= default. =20 - ``txq_mpw_hdr_dseg_en`` parameter [int] =20 @@ -427,14 +428,14 @@ Run-time configuration =20 - ``tx_vec_en`` parameter [int] =20 - A nonzero value enables Tx vector on ConnectX-5 and Bluefield NICs if th= e number of + A nonzero value enables Tx vector on ConnectX-5, ConnectX-6 and Bluefiel= d NICs if the number of global Tx queues on the port is less than ``txqs_max_vec``. =20 This option cannot be used with certain offloads such as ``DEV_TX_OFFLOA= D_TCP_TSO, DEV_TX_OFFLOAD_VXLAN_TNL_TSO, DEV_TX_OFFLOAD_GRE_TNL_TSO, DEV_TX_OFFLOAD= _VLAN_INSERT``. When those offloads are requested the MPS send function will not be used= . =20 - Enabled by default on ConnectX-5 and Bluefield. + Enabled by default on ConnectX-5, ConnectX-6 and Bluefield. =20 - ``rx_vec_en`` parameter [int] =20 @@ -518,7 +519,7 @@ DPDK and must be installed separately: - **libmlx5** =20 Low-level user space driver library for Mellanox - ConnectX-4/ConnectX-5/Bluefield devices, it is automatically loaded + ConnectX-4/ConnectX-5/ConnectX-6/Bluefield devices, it is automatically = loaded by libibverbs. =20 This library basically implements send/receive calls to the hardware @@ -540,7 +541,7 @@ DPDK and must be installed separately: their devices: =20 - mlx5_core: hardware driver managing Mellanox - ConnectX-4/ConnectX-5/Bluefield devices and related Ethernet kernel + ConnectX-4/ConnectX-5/ConnectX-6/Bluefield devices and related Etherne= t kernel network devices. - mlx5_ib: InifiniBand device driver. - ib_uverbs: user space driver for Verbs (entry point for libibverbs). @@ -548,7 +549,7 @@ DPDK and must be installed separately: - **Firmware update** =20 Mellanox OFED releases include firmware updates for - ConnectX-4/ConnectX-5/Bluefield adapters. + ConnectX-4/ConnectX-5/ConnectX-6/Bluefield adapters. =20 Because each release provides new features, these updates must be applie= d to match the kernel modules and libraries they come with. @@ -589,6 +590,7 @@ Mellanox OFED - ConnectX-4 Lx: **14.21.1000** and above. - ConnectX-5: **16.21.1000** and above. - ConnectX-5 Ex: **16.21.1000** and above. + - ConnectX-6: **20.99.5374** and above. - Bluefield: **18.99.3950** and above. =20 While these libraries and kernel modules are available on OpenFabrics @@ -820,7 +822,7 @@ Usage example ------------- =20 This section demonstrates how to launch **testpmd** with Mellanox -ConnectX-4/ConnectX-5/Bluefield devices managed by librte_pmd_mlx5. +ConnectX-4/ConnectX-5/ConnectX-6/Bluefield devices managed by librte_pmd_m= lx5. =20 #. Load the kernel modules: =20 diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index 9e5cab1..4521045 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1586,6 +1586,14 @@ static const struct rte_pci_id mlx5_pci_id_map[] =3D= { PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF) }, { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX6) + }, + { + RTE_PCI_DEVICE(PCI_VENDOR_ID_MELLANOX, + PCI_DEVICE_ID_MELLANOX_CONNECTX6VF) + }, + { .vendor_id =3D 0 } }; diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index b2fe5cb..b48cd94 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -52,6 +52,8 @@ enum { PCI_DEVICE_ID_MELLANOX_CONNECTX5EXVF =3D 0x101a, PCI_DEVICE_ID_MELLANOX_CONNECTX5BF =3D 0xa2d2, PCI_DEVICE_ID_MELLANOX_CONNECTX5BFVF =3D 0xa2d3, + PCI_DEVICE_ID_MELLANOX_CONNECTX6 =3D 0x101b, + PCI_DEVICE_ID_MELLANOX_CONNECTX6VF =3D 0x101c, }; =20 /** Switch information returned by mlx5_nl_switch_info(). */ --=20 2.7.4