File Index
Files and directories
Sign in
FILE

kconfig.rst

File preview with syntax highlighting.

linux-6.19.14/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst RESTRUCTUREDTEXT
  1.. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
  2.. include:: <isonum.txt>
  3
  4=======================================
  5Enabling the driver and kconfig options
  6=======================================
  7
  8:Copyright: |copy| 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
  9
 10| mlx5 core is modular and most of the major mlx5 core driver features can be selected (compiled in/out)
 11| at build time via kernel Kconfig flags.
 12| Basic features, ethernet net device rx/tx offloads and XDP, are available with the most basic flags
 13| CONFIG_MLX5_CORE=y/m and CONFIG_MLX5_CORE_EN=y.
 14| For the list of advanced features, please see below.
 15
 16**CONFIG_MLX5_BRIDGE=(y/n)**
 17
 18|    Enable :ref:`Ethernet Bridging (BRIDGE) offloading support <mlx5_bridge_offload>`.
 19|    This will provide the ability to add representors of mlx5 uplink and VF
 20|    ports to Bridge and offloading rules for traffic between such ports.
 21|    Supports VLANs (trunk and access modes).
 22
 23
 24**CONFIG_MLX5_CORE=(y/m/n)** (module mlx5_core.ko)
 25
 26|    The driver can be enabled by choosing CONFIG_MLX5_CORE=y/m in kernel config.
 27|    This will provide mlx5 core driver for mlx5 ulps to interface with (mlx5e, mlx5_ib).
 28
 29
 30**CONFIG_MLX5_CORE_EN=(y/n)**
 31
 32|    Choosing this option will allow basic ethernet netdevice support with all of the standard rx/tx offloads.
 33|    mlx5e is the mlx5 ulp driver which provides netdevice kernel interface, when chosen, mlx5e will be
 34|    built-in into mlx5_core.ko.
 35
 36
 37**CONFIG_MLX5_CORE_EN_DCB=(y/n)**:
 38
 39|    Enables `Data Center Bridging (DCB) Support <https://enterprise-support.nvidia.com/s/article/howto-auto-config-pfc-and-ets-on-connectx-4-via-lldp-dcbx>`_.
 40
 41
 42**CONFIG_MLX5_CORE_IPOIB=(y/n)**
 43
 44|    IPoIB offloads & acceleration support.
 45|    Requires CONFIG_MLX5_CORE_EN to provide an accelerated interface for the rdma
 46|    IPoIB ulp netdevice.
 47
 48
 49**CONFIG_MLX5_CLS_ACT=(y/n)**
 50
 51|    Enables offload support for TC classifier action (NET_CLS_ACT).
 52|    Works in both native NIC mode and Switchdev SRIOV mode.
 53|    Flow-based classifiers, such as those registered through
 54|    `tc-flower(8)`, are processed by the device, rather than the
 55|    host. Actions that would then overwrite matching classification
 56|    results would then be instant due to the offload.
 57
 58
 59**CONFIG_MLX5_EN_ARFS=(y/n)**
 60
 61|    Enables Hardware-accelerated receive flow steering (arfs) support, and ntuple filtering.
 62|    https://enterprise-support.nvidia.com/s/article/howto-configure-arfs-on-connectx-4
 63
 64
 65**CONFIG_MLX5_EN_IPSEC=(y/n)**
 66
 67|    Enables :ref:`IPSec XFRM cryptography-offload acceleration <xfrm_device>`.
 68
 69
 70**CONFIG_MLX5_MACSEC=(y/n)**
 71
 72|    Build support for MACsec cryptography-offload acceleration in the NIC.
 73
 74
 75**CONFIG_MLX5_EN_RXNFC=(y/n)**
 76
 77|    Enables ethtool receive network flow classification, which allows user defined
 78|    flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc API.
 79
 80
 81**CONFIG_MLX5_EN_TLS=(y/n)**
 82
 83|    TLS cryptography-offload acceleration.
 84
 85
 86**CONFIG_MLX5_ESWITCH=(y/n)**
 87
 88|    Ethernet SRIOV E-Switch support in ConnectX NIC. E-Switch provides internal SRIOV packet steering
 89|    and switching for the enabled VFs and PF in two available modes:
 90|           1) `Legacy SRIOV mode (L2 mac vlan steering based) <https://enterprise-support.nvidia.com/s/article/HowTo-Configure-SR-IOV-for-ConnectX-4-ConnectX-5-ConnectX-6-with-KVM-Ethernet>`_.
 91|           2) :ref:`Switchdev mode (eswitch offloads) <switchdev>`.
 92
 93
 94**CONFIG_MLX5_FPGA=(y/n)**
 95
 96|    Build support for the Innova family of network cards by Mellanox Technologies.
 97|    Innova network cards are comprised of a ConnectX chip and an FPGA chip on one board.
 98|    If you select this option, the mlx5_core driver will include the Innova FPGA core and allow
 99|    building sandbox-specific client drivers.
100
101
102**CONFIG_MLX5_INFINIBAND=(y/n/m)** (module mlx5_ib.ko)
103
104|    Provides low-level InfiniBand/RDMA and `RoCE <https://enterprise-support.nvidia.com/s/article/recommended-network-configuration-examples-for-roce-deployment>`_ support.
105
106
107**CONFIG_MLX5_MPFS=(y/n)**
108
109|    Ethernet Multi-Physical Function Switch (MPFS) support in ConnectX NIC.
110|    MPFs is required for when `Multi-Host <https://www.nvidia.com/en-us/networking/multi-host/>`_ configuration is enabled to allow passing
111|    user configured unicast MAC addresses to the requesting PF.
112
113
114**CONFIG_MLX5_SF=(y/n)**
115
116|    Build support for subfunction.
117|    Subfunctons are more light weight than PCI SRIOV VFs. Choosing this option
118|    will enable support for creating subfunction devices.
119
120
121**CONFIG_MLX5_SF_MANAGER=(y/n)**
122
123|    Build support for subfuction port in the NIC. A Mellanox subfunction
124|    port is managed through devlink.  A subfunction supports RDMA, netdevice
125|    and vdpa device. It is similar to a SRIOV VF but it doesn't require
126|    SRIOV support.
127
128
129**CONFIG_MLX5_SW_STEERING=(y/n)**
130
131|    Build support for software-managed steering in the NIC.
132
133**CONFIG_MLX5_HW_STEERING=(y/n)**
134
135|    Build support for hardware-managed steering in the NIC.
136
137**CONFIG_MLX5_TC_CT=(y/n)**
138
139|    Support offloading connection tracking rules via tc ct action.
140
141
142**CONFIG_MLX5_TC_SAMPLE=(y/n)**
143
144|    Support offloading sample rules via tc sample action.
145
146
147**CONFIG_MLX5_VDPA=(y/n)**
148
149|    Support library for Mellanox VDPA drivers. Provides code that is
150|    common for all types of VDPA drivers. The following drivers are planned:
151|    net, block.
152
153
154**CONFIG_MLX5_VDPA_NET=(y/n)**
155
156|    VDPA network driver for ConnectX6 and newer. Provides offloading
157|    of virtio net datapath such that descriptors put on the ring will
158|    be executed by the hardware. It also supports a variety of stateless
159|    offloads depending on the actual device used and firmware version.
160
161
162**CONFIG_MLX5_VFIO_PCI=(y/n)**
163
164|    This provides migration support for MLX5 devices using the VFIO framework.
165
166
167**External options** ( Choose if the corresponding mlx5 feature is required )
168
169- CONFIG_MLXFW: When chosen, mlx5 firmware flashing support will be enabled (via devlink and ethtool).
170- CONFIG_PTP_1588_CLOCK: When chosen, mlx5 ptp support will be enabled
171- CONFIG_VXLAN: When chosen, mlx5 vxlan support will be enabled.
~/ Read-only file preview.