Loading Documentation/networking/device_drivers/index.rst +1 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ Contents: intel/i40e intel/iavf intel/ice mellanox/mlx5 .. only:: subproject Loading Documentation/networking/device_drivers/mellanox/mlx5.rst 0 → 100644 +101 −0 Original line number Diff line number Diff line .. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB ================================================= Mellanox ConnectX(R) mlx5 core VPI Network Driver ================================================= Copyright (c) 2019, Mellanox Technologies LTD. Contents ======== - `Enabling the driver and kconfig options`_ Enabling the driver and kconfig options ================================================ | mlx5 core is modular and most of the major mlx5 core driver features can be selected (compiled in/out) | at build time via kernel Kconfig flags. | Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic flags | CONFIG_MLX5_CORE=y/m and CONFIG_MLX5_CORE_EN=y. | For the list of advanced features please see below. **CONFIG_MLX5_CORE=(y/m/n)** (module mlx5_core.ko) | The driver can be enabled by choosing CONFIG_MLX5_CORE=y/m in kernel config. | This will provide mlx5 core driver for mlx5 ulps to interface with (mlx5e, mlx5_ib). **CONFIG_MLX5_CORE_EN=(y/n)** | Choosing this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads. | mlx5e is the mlx5 ulp driver which provides netdevice kernel interface, when chosen, mlx5e will be | built-in into mlx5_core.ko. **CONFIG_MLX5_EN_ARFS=(y/n)** | Enables Hardware-accelerated receive flow steering (arfs) support, and ntuple filtering. | https://community.mellanox.com/s/article/howto-configure-arfs-on-connectx-4 **CONFIG_MLX5_EN_RXNFC=(y/n)** | Enables ethtool receive network flow classification, which allows user defined | flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc API. **CONFIG_MLX5_CORE_EN_DCB=(y/n)**: | Enables `Data Center Bridging (DCB) Support <https://community.mellanox.com/s/article/howto-auto-config-pfc-and-ets-on-connectx-4-via-lldp-dcbx>`_. **CONFIG_MLX5_MPFS=(y/n)** | Ethernet Multi-Physical Function Switch (MPFS) support in ConnectX NIC. | MPFs is required for when `Multi-Host <http://www.mellanox.com/page/multihost>`_ configuration is enabled to allow passing | user configured unicast MAC addresses to the requesting PF. **CONFIG_MLX5_ESWITCH=(y/n)** | Ethernet SRIOV E-Switch support in ConnectX NIC. E-Switch provides internal SRIOV packet steering | and switching for the enabled VFs and PF in two available modes: | 1) `Legacy SRIOV mode (L2 mac vlan steering based) <https://community.mellanox.com/s/article/howto-configure-sr-iov-for-connectx-4-connectx-5-with-kvm--ethernet-x>`_. | 2) `Switchdev mode (eswitch offloads) <https://www.mellanox.com/related-docs/prod_software/ASAP2_Hardware_Offloading_for_vSwitches_User_Manual_v4.4.pdf>`_. **CONFIG_MLX5_CORE_IPOIB=(y/n)** | IPoIB offloads & acceleration support. | Requires CONFIG_MLX5_CORE_EN to provide an accelerated interface for the rdma | IPoIB ulp netdevice. **CONFIG_MLX5_FPGA=(y/n)** | Build support for the Innova family of network cards by Mellanox Technologies. | Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board. | If you select this option, the mlx5_core driver will include the Innova FPGA core and allow | building sandbox-specific client drivers. **CONFIG_MLX5_EN_IPSEC=(y/n)** | Enables `IPSec XFRM cryptography-offload accelaration <http://www.mellanox.com/related-docs/prod_software/Mellanox_Innova_IPsec_Ethernet_Adapter_Card_User_Manual.pdf>`_. **CONFIG_MLX5_EN_TLS=(y/n)** | TLS cryptography-offload accelaration. **CONFIG_MLX5_INFINIBAND=(y/n/m)** (module mlx5_ib.ko) | Provides low-level InfiniBand/RDMA and `RoCE <https://community.mellanox.com/s/article/recommended-network-configuration-examples-for-roce-deployment>`_ support. **External options** ( Choose if the corresponding mlx5 feature is required ) - CONFIG_PTP_1588_CLOCK: When chosen, mlx5 ptp support will be enabled - CONFIG_VXLAN: When chosen, mlx5 vxaln support will be enabled. - CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtool). MAINTAINERS +1 −0 Original line number Diff line number Diff line Loading @@ -10108,6 +10108,7 @@ Q: http://patchwork.ozlabs.org/project/netdev/list/ S: Supported F: drivers/net/ethernet/mellanox/mlx5/core/ F: include/linux/mlx5/ F: Documentation/networking/device_drivers/mellanox/ MELLANOX MLX5 IB driver M: Leon Romanovsky <leonro@mellanox.com> Loading Loading
Documentation/networking/device_drivers/index.rst +1 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ Contents: intel/i40e intel/iavf intel/ice mellanox/mlx5 .. only:: subproject Loading
Documentation/networking/device_drivers/mellanox/mlx5.rst 0 → 100644 +101 −0 Original line number Diff line number Diff line .. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB ================================================= Mellanox ConnectX(R) mlx5 core VPI Network Driver ================================================= Copyright (c) 2019, Mellanox Technologies LTD. Contents ======== - `Enabling the driver and kconfig options`_ Enabling the driver and kconfig options ================================================ | mlx5 core is modular and most of the major mlx5 core driver features can be selected (compiled in/out) | at build time via kernel Kconfig flags. | Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic flags | CONFIG_MLX5_CORE=y/m and CONFIG_MLX5_CORE_EN=y. | For the list of advanced features please see below. **CONFIG_MLX5_CORE=(y/m/n)** (module mlx5_core.ko) | The driver can be enabled by choosing CONFIG_MLX5_CORE=y/m in kernel config. | This will provide mlx5 core driver for mlx5 ulps to interface with (mlx5e, mlx5_ib). **CONFIG_MLX5_CORE_EN=(y/n)** | Choosing this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads. | mlx5e is the mlx5 ulp driver which provides netdevice kernel interface, when chosen, mlx5e will be | built-in into mlx5_core.ko. **CONFIG_MLX5_EN_ARFS=(y/n)** | Enables Hardware-accelerated receive flow steering (arfs) support, and ntuple filtering. | https://community.mellanox.com/s/article/howto-configure-arfs-on-connectx-4 **CONFIG_MLX5_EN_RXNFC=(y/n)** | Enables ethtool receive network flow classification, which allows user defined | flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc API. **CONFIG_MLX5_CORE_EN_DCB=(y/n)**: | Enables `Data Center Bridging (DCB) Support <https://community.mellanox.com/s/article/howto-auto-config-pfc-and-ets-on-connectx-4-via-lldp-dcbx>`_. **CONFIG_MLX5_MPFS=(y/n)** | Ethernet Multi-Physical Function Switch (MPFS) support in ConnectX NIC. | MPFs is required for when `Multi-Host <http://www.mellanox.com/page/multihost>`_ configuration is enabled to allow passing | user configured unicast MAC addresses to the requesting PF. **CONFIG_MLX5_ESWITCH=(y/n)** | Ethernet SRIOV E-Switch support in ConnectX NIC. E-Switch provides internal SRIOV packet steering | and switching for the enabled VFs and PF in two available modes: | 1) `Legacy SRIOV mode (L2 mac vlan steering based) <https://community.mellanox.com/s/article/howto-configure-sr-iov-for-connectx-4-connectx-5-with-kvm--ethernet-x>`_. | 2) `Switchdev mode (eswitch offloads) <https://www.mellanox.com/related-docs/prod_software/ASAP2_Hardware_Offloading_for_vSwitches_User_Manual_v4.4.pdf>`_. **CONFIG_MLX5_CORE_IPOIB=(y/n)** | IPoIB offloads & acceleration support. | Requires CONFIG_MLX5_CORE_EN to provide an accelerated interface for the rdma | IPoIB ulp netdevice. **CONFIG_MLX5_FPGA=(y/n)** | Build support for the Innova family of network cards by Mellanox Technologies. | Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board. | If you select this option, the mlx5_core driver will include the Innova FPGA core and allow | building sandbox-specific client drivers. **CONFIG_MLX5_EN_IPSEC=(y/n)** | Enables `IPSec XFRM cryptography-offload accelaration <http://www.mellanox.com/related-docs/prod_software/Mellanox_Innova_IPsec_Ethernet_Adapter_Card_User_Manual.pdf>`_. **CONFIG_MLX5_EN_TLS=(y/n)** | TLS cryptography-offload accelaration. **CONFIG_MLX5_INFINIBAND=(y/n/m)** (module mlx5_ib.ko) | Provides low-level InfiniBand/RDMA and `RoCE <https://community.mellanox.com/s/article/recommended-network-configuration-examples-for-roce-deployment>`_ support. **External options** ( Choose if the corresponding mlx5 feature is required ) - CONFIG_PTP_1588_CLOCK: When chosen, mlx5 ptp support will be enabled - CONFIG_VXLAN: When chosen, mlx5 vxaln support will be enabled. - CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtool).
MAINTAINERS +1 −0 Original line number Diff line number Diff line Loading @@ -10108,6 +10108,7 @@ Q: http://patchwork.ozlabs.org/project/netdev/list/ S: Supported F: drivers/net/ethernet/mellanox/mlx5/core/ F: include/linux/mlx5/ F: Documentation/networking/device_drivers/mellanox/ MELLANOX MLX5 IB driver M: Leon Romanovsky <leonro@mellanox.com> Loading