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
17 Core driver for low level functionality of the ConnectX-4 and
18 Connect-IB cards by Mellanox Technologies.
24 bool "Mellanox Technologies Innova support"
28 Build support for the Innova family of network cards by Mellanox
29 Technologies. Innova network cards are comprised of a ConnectX chip
30 and an FPGA chip on one board. If you select this option, the
31 mlx5_core driver will include the Innova FPGA core and allow building
32 sandbox-specific client drivers.
35 bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
36 depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
41 Ethernet support in Mellanox Technologies ConnectX-4 NIC.
44 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
45 depends on MLX5_CORE_EN && RFS_ACCEL
48 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
49 Enables ethernet netdevice arfs support and ntuple filtering.
52 bool "Mellanox MLX5 ethernet rx nfc flow steering support"
53 depends on MLX5_CORE_EN
56 Mellanox MLX5 ethernet rx nfc flow steering support
57 Enables ethtool receive network flow classification, which allows user defined
58 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
62 bool "Mellanox Technologies MLX5 MPFS support"
63 depends on MLX5_CORE_EN
66 Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
67 support in ConnectX NIC. MPFs is required for when multi-PF configuration
68 is enabled to allow passing user configured unicast MAC addresses to the
72 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
73 depends on MLX5_CORE_EN && NET_SWITCHDEV
76 Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
77 E-Switch provides internal SRIOV packet steering and switching for the
78 enabled VFs and PF in two available modes:
79 Legacy SRIOV mode (L2 mac vlan steering based).
80 Switchdev mode (eswitch offloads).
83 bool "MLX5 TC classifier action support"
84 depends on MLX5_ESWITCH && NET_CLS_ACT
87 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
88 works in both native NIC mode and Switchdev SRIOV mode.
89 Actions get attached to a Hardware offloaded classifiers and are
90 invoked after a successful classification. Actions are used to
91 overwrite the classification result, instantly drop or redirect and/or
92 reformat packets in wire speeds without involving the host cpu.
94 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
98 bool "MLX5 TC connection tracking offload support"
99 depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
102 Say Y here if you want to support offloading connection tracking rules
107 config MLX5_TC_SAMPLE
108 bool "MLX5 TC sample offload support"
109 depends on MLX5_CLS_ACT
112 Say Y here if you want to support offloading sample rules via tc
114 If set to N, will not be able to configure tc rules with sample
119 config MLX5_CORE_EN_DCB
120 bool "Data Center Bridging (DCB) Support"
122 depends on MLX5_CORE_EN && DCB
124 Say Y here if you want to use Data Center Bridging (DCB) in the
126 If set to N, will not be able to configure QoS and ratelimit attributes.
127 This flag is depended on the kernel's DCB support.
131 config MLX5_CORE_IPOIB
132 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
133 depends on MLX5_CORE_EN
136 MLX5 IPoIB offloads & acceleration support.
138 config MLX5_FPGA_IPSEC
139 bool "Mellanox Technologies IPsec Innova support"
144 Build IPsec support for the Innova family of network cards by Mellanox
145 Technologies. Innova network cards are comprised of a ConnectX chip
146 and an FPGA chip on one board. If you select this option, the
147 mlx5_core driver will include the Innova FPGA core and allow building
148 sandbox-specific client drivers.
151 bool "Mellanox Technologies IPsec Connect-X support"
152 depends on MLX5_CORE_EN
153 depends on XFRM_OFFLOAD
154 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
158 Build IPsec support for the Connect-X family of network cards by Mellanox
160 Note: If you select this option, the mlx5_core driver will include
161 IPsec support for the Connect-X family.
164 bool "IPSec XFRM cryptography-offload acceleration"
165 depends on MLX5_CORE_EN
166 depends on XFRM_OFFLOAD
167 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
168 depends on MLX5_FPGA_IPSEC || MLX5_IPSEC
171 Build support for IPsec cryptography-offload acceleration in the NIC.
172 Note: Support for hardware with this capability needs to be selected
173 for this option to become available.
176 bool "Mellanox Technologies TLS Innova support"
177 depends on TLS_DEVICE
178 depends on TLS=y || MLX5_CORE=m
179 depends on MLX5_CORE_EN
184 Build TLS support for the Innova family of network cards by Mellanox
185 Technologies. Innova network cards are comprised of a ConnectX chip
186 and an FPGA chip on one board. If you select this option, the
187 mlx5_core driver will include the Innova FPGA core and allow building
188 sandbox-specific client drivers.
191 bool "Mellanox Technologies TLS Connect-X support"
192 depends on TLS_DEVICE
193 depends on TLS=y || MLX5_CORE=m
194 depends on MLX5_CORE_EN
199 Build TLS support for the Connect-X family of network cards by Mellanox
205 Build support for TLS cryptography-offload acceleration in the NIC.
206 Note: Support for hardware with this capability needs to be selected
207 for this option to become available.
209 config MLX5_SW_STEERING
210 bool "Mellanox Technologies software-managed steering"
211 depends on MLX5_CORE_EN && MLX5_ESWITCH
215 Build support for software-managed steering in the NIC.
218 bool "Mellanox Technologies subfunction device support using auxiliary device"
219 depends on MLX5_CORE && MLX5_CORE_EN
222 Build support for subfuction device in the NIC. A Mellanox subfunction
223 device can support RDMA, netdevice and vdpa device.
224 It is similar to a SRIOV VF but it doesn't require SRIOV support.
226 config MLX5_SF_MANAGER
228 depends on MLX5_SF && MLX5_ESWITCH
231 Build support for subfuction port in the NIC. A Mellanox subfunction
232 port is managed through devlink. A subfunction supports RDMA, netdevice
233 and vdpa device. It is similar to a SRIOV VF but it doesn't require