1 # SPDX-License-Identifier: GPL-2.0-only
3 # Mellanox driver configuration
7 tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
11 depends on VXLAN || !VXLAN
12 depends on MLXFW || !MLXFW
13 depends on PTP_1588_CLOCK || !PTP_1588_CLOCK
14 depends on PCI_HYPERV_INTERFACE || !PCI_HYPERV_INTERFACE
16 Core driver for low level functionality of the ConnectX-4 and
17 Connect-IB cards by Mellanox Technologies.
23 bool "Mellanox Technologies Innova support"
27 Build support for the Innova family of network cards by Mellanox
28 Technologies. Innova network cards are comprised of a ConnectX chip
29 and an FPGA chip on one board. If you select this option, the
30 mlx5_core driver will include the Innova FPGA core and allow building
31 sandbox-specific client drivers.
34 bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
35 depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
39 Ethernet support in Mellanox Technologies ConnectX-4 NIC.
42 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
43 depends on MLX5_CORE_EN && RFS_ACCEL
46 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
47 Enables ethernet netdevice arfs support and ntuple filtering.
50 bool "Mellanox MLX5 ethernet rx nfc flow steering support"
51 depends on MLX5_CORE_EN
54 Mellanox MLX5 ethernet rx nfc flow steering support
55 Enables ethtool receive network flow classification, which allows user defined
56 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
60 bool "Mellanox Technologies MLX5 MPFS support"
61 depends on MLX5_CORE_EN
64 Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
65 support in ConnectX NIC. MPFs is required for when multi-PF configuration
66 is enabled to allow passing user configured unicast MAC addresses to the
70 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
71 depends on MLX5_CORE_EN && NET_SWITCHDEV
74 Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
75 E-Switch provides internal SRIOV packet steering and switching for the
76 enabled VFs and PF in two available modes:
77 Legacy SRIOV mode (L2 mac vlan steering based).
78 Switchdev mode (eswitch offloads).
82 depends on MLX5_ESWITCH && BRIDGE
85 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
86 Enable adding representors of mlx5 uplink and VF ports to Bridge and
87 offloading rules for traffic between such ports. Supports VLANs (trunk and
91 bool "MLX5 TC classifier action support"
92 depends on MLX5_ESWITCH && NET_CLS_ACT
95 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
96 works in both native NIC mode and Switchdev SRIOV mode.
97 Actions get attached to a Hardware offloaded classifiers and are
98 invoked after a successful classification. Actions are used to
99 overwrite the classification result, instantly drop or redirect and/or
100 reformat packets in wire speeds without involving the host cpu.
102 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
106 bool "MLX5 TC connection tracking offload support"
107 depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
110 Say Y here if you want to support offloading connection tracking rules
115 config MLX5_TC_SAMPLE
116 bool "MLX5 TC sample offload support"
117 depends on MLX5_CLS_ACT
120 Say Y here if you want to support offloading sample rules via tc
122 If set to N, will not be able to configure tc rules with sample
127 config MLX5_CORE_EN_DCB
128 bool "Data Center Bridging (DCB) Support"
130 depends on MLX5_CORE_EN && DCB
132 Say Y here if you want to use Data Center Bridging (DCB) in the
134 If set to N, will not be able to configure QoS and ratelimit attributes.
135 This flag is depended on the kernel's DCB support.
139 config MLX5_CORE_IPOIB
140 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
141 depends on MLX5_CORE_EN
143 MLX5 IPoIB offloads & acceleration support.
145 config MLX5_FPGA_IPSEC
146 bool "Mellanox Technologies IPsec Innova support"
150 Build IPsec support for the Innova family of network cards by Mellanox
151 Technologies. Innova network cards are comprised of a ConnectX chip
152 and an FPGA chip on one board. If you select this option, the
153 mlx5_core driver will include the Innova FPGA core and allow building
154 sandbox-specific client drivers.
157 bool "Mellanox Technologies IPsec Connect-X support"
158 depends on MLX5_CORE_EN
159 depends on XFRM_OFFLOAD
160 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
163 Build IPsec support for the Connect-X family of network cards by Mellanox
165 Note: If you select this option, the mlx5_core driver will include
166 IPsec support for the Connect-X family.
169 bool "IPSec XFRM cryptography-offload acceleration"
170 depends on MLX5_CORE_EN
171 depends on XFRM_OFFLOAD
172 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
173 depends on MLX5_FPGA_IPSEC || MLX5_IPSEC
175 Build support for IPsec cryptography-offload acceleration in the NIC.
176 Note: Support for hardware with this capability needs to be selected
177 for this option to become available.
180 bool "Mellanox Technologies TLS Innova support"
181 depends on TLS_DEVICE
182 depends on TLS=y || MLX5_CORE=m
183 depends on MLX5_CORE_EN
187 Build TLS support for the Innova family of network cards by Mellanox
188 Technologies. Innova network cards are comprised of a ConnectX chip
189 and an FPGA chip on one board. If you select this option, the
190 mlx5_core driver will include the Innova FPGA core and allow building
191 sandbox-specific client drivers.
194 bool "Mellanox Technologies TLS Connect-X support"
195 depends on TLS_DEVICE
196 depends on TLS=y || MLX5_CORE=m
197 depends on MLX5_CORE_EN
201 Build TLS support for the Connect-X family of network cards by Mellanox
207 Build support for TLS cryptography-offload acceleration in the NIC.
208 Note: Support for hardware with this capability needs to be selected
209 for this option to become available.
211 config MLX5_SW_STEERING
212 bool "Mellanox Technologies software-managed steering"
213 depends on MLX5_CORE_EN && MLX5_ESWITCH
217 Build support for software-managed steering in the NIC.
220 bool "Mellanox Technologies subfunction device support using auxiliary device"
221 depends on MLX5_CORE && MLX5_CORE_EN
223 Build support for subfuction device in the NIC. A Mellanox subfunction
224 device can support RDMA, netdevice and vdpa device.
225 It is similar to a SRIOV VF but it doesn't require SRIOV support.
227 config MLX5_SF_MANAGER
229 depends on MLX5_SF && MLX5_ESWITCH
232 Build support for subfuction port in the NIC. A Mellanox subfunction
233 port is managed through devlink. A subfunction supports RDMA, netdevice
234 and vdpa device. It is similar to a SRIOV VF but it doesn't require