diff options
author | Rahul Rameshbabu <rrameshbabu@nvidia.com> | 2022-10-15 22:25:12 -0700 |
---|---|---|
committer | Saeed Mahameed <saeedm@nvidia.com> | 2023-02-04 02:07:03 -0800 |
commit | a12ba19269d727a4f9f68365a8d4542513c369d8 (patch) | |
tree | 935ef18ae6cc4aa457b15db88f9865679a9ee5de /Documentation/networking/device_drivers/ethernet | |
parent | f2d51e579359b708d7063eef543bec6a57d2b5e9 (diff) | |
download | lwn-a12ba19269d727a4f9f68365a8d4542513c369d8.tar.gz lwn-a12ba19269d727a4f9f68365a8d4542513c369d8.zip |
net/mlx5: Update Kconfig parameter documentation
Provide information for Kconfig flags defined but not documented till this
patch series for the mlx5 driver.
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Diffstat (limited to 'Documentation/networking/device_drivers/ethernet')
-rw-r--r-- | Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst | 127 | ||||
-rw-r--r-- | Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst | 2 |
2 files changed, 100 insertions, 29 deletions
diff --git a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst index a5186d59821e..43b1f7e87ec4 100644 --- a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst +++ b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst @@ -13,6 +13,14 @@ Enabling the driver and kconfig options | CONFIG_MLX5_CORE=y/m and CONFIG_MLX5_CORE_EN=y. | For the list of advanced features, please see below. +**CONFIG_MLX5_BRIDGE=(y/n)** + +| Enable :ref:`Ethernet Bridging (BRIDGE) offloading support <mlx5_bridge_offload>`. +| This will provide the ability to add representors of mlx5 uplink and VF +| ports to Bridge and offloading rules for traffic between such ports. +| Supports VLANs (trunk and access modes). + + **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. @@ -26,28 +34,53 @@ Enabling the driver and kconfig options | built-in into mlx5_core.ko. +**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_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_CLS_ACT=(y/n)** + +| Enables offload support for TC classifier action (NET_CLS_ACT). +| Works in both native NIC mode and Switchdev SRIOV mode. +| Flow-based classifiers, such as those registered through +| `tc-flower(8)`, are processed by the device, rather than the +| host. Actions that would then overwrite matching classification +| results would then be instant due to the offload. + + **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 +| 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)** +**CONFIG_MLX5_EN_IPSEC=(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. +| Enables `IPSec XFRM cryptography-offload acceleration <https://support.mellanox.com/s/article/ConnectX-6DX-Bluefield-2-IPsec-HW-Full-Offload-Configuration-Guide>`_. -**CONFIG_MLX5_CORE_EN_DCB=(y/n)**: +**CONFIG_MLX5_EN_MACSEC=(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>`_. +| Build support for MACsec cryptography-offload acceleration in the NIC. -**CONFIG_MLX5_MPFS=(y/n)** +**CONFIG_MLX5_EN_RXNFC=(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. +| 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_EN_TLS=(y/n)** + +| TLS cryptography-offload acceleration. **CONFIG_MLX5_ESWITCH=(y/n)** @@ -58,13 +91,6 @@ Enabling the driver and kconfig options | 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. @@ -73,27 +99,70 @@ Enabling the driver and kconfig options | building sandbox-specific client drivers. -**CONFIG_MLX5_EN_IPSEC=(y/n)** - -| Enables `IPSec XFRM cryptography-offload acceleration <http://www.mellanox.com/related-docs/prod_software/Mellanox_Innova_IPsec_Ethernet_Adapter_Card_User_Manual.pdf>`_. +**CONFIG_MLX5_INFINIBAND=(y/n/m)** (module mlx5_ib.ko) -**CONFIG_MLX5_EN_TLS=(y/n)** +| Provides low-level InfiniBand/RDMA and `RoCE <https://community.mellanox.com/s/article/recommended-network-configuration-examples-for-roce-deployment>`_ support. -| TLS cryptography-offload acceleration. +**CONFIG_MLX5_MPFS=(y/n)** -**CONFIG_MLX5_INFINIBAND=(y/n/m)** (module mlx5_ib.ko) +| 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. -| Provides low-level InfiniBand/RDMA and `RoCE <https://community.mellanox.com/s/article/recommended-network-configuration-examples-for-roce-deployment>`_ support. **CONFIG_MLX5_SF=(y/n)** -| Build support for subfunction. -| Subfunctons are more light weight than PCI SRIOV VFs. Choosing this option -| will enable support for creating subfunction devices. +| Build support for subfunction. +| Subfunctons are more light weight than PCI SRIOV VFs. Choosing this option +| will enable support for creating subfunction devices. + + +**CONFIG_MLX5_SF_MANAGER=(y/n)** + +| Build support for subfuction port in the NIC. A Mellanox subfunction +| port is managed through devlink. A subfunction supports RDMA, netdevice +| and vdpa device. It is similar to a SRIOV VF but it doesn't require +| SRIOV support. + + +**CONFIG_MLX5_SW_STEERING=(y/n)** + +| Build support for software-managed steering in the NIC. + + +**CONFIG_MLX5_TC_CT=(y/n)** + +| Support offloading connection tracking rules via tc ct action. + + +**CONFIG_MLX5_TC_SAMPLE=(y/n)** + +| Support offloading sample rules via tc sample action. + + +**CONFIG_MLX5_VDPA=(y/n)** + +| Support library for Mellanox VDPA drivers. Provides code that is +| common for all types of VDPA drivers. The following drivers are planned: +| net, block. + + +**CONFIG_MLX5_VDPA_NET=(y/n)** + +| VDPA network driver for ConnectX6 and newer. Provides offloading +| of virtio net datapath such that descriptors put on the ring will +| be executed by the hardware. It also supports a variety of stateless +| offloads depending on the actual device used and firmware version. + + +**CONFIG_MLX5_VFIO_PCI=(y/n)** + +| This provides migration support for MLX5 devices using the VFIO framework. + **External options** ( Choose if the corresponding mlx5 feature is required ) +- CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtool). - CONFIG_PTP_1588_CLOCK: When chosen, mlx5 ptp support will be enabled - CONFIG_VXLAN: When chosen, mlx5 vxlan support will be enabled. -- CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtool). diff --git a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst index c8d895a17eb6..01deedb71597 100644 --- a/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst +++ b/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/switchdev.rst @@ -7,6 +7,8 @@ Switchdev :Copyright: |copy| 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +.. _mlx5_bridge_offload: + Bridge offload ============== |