~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/networking/device_drivers/ethernet/mellanox/mlx5/kconfig.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 .. SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
  2 .. include:: <isonum.txt>
  3 
  4 =======================================
  5 Enabling 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.

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php