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_OPTIONAL
14 depends on PCI_HYPERV_INTERFACE || !PCI_HYPERV_INTERFACE
15 depends on HWMON || !HWMON
17 Core driver for low level functionality of the ConnectX-4 and
18 Connect-IB cards by Mellanox Technologies.
21 bool "Mellanox Technologies Innova support"
24 Build support for the Innova family of network cards by Mellanox
25 Technologies. Innova network cards are comprised of a ConnectX chip
26 and an FPGA chip on one board. If you select this option, the
27 mlx5_core driver will include the Innova FPGA core and allow building
28 sandbox-specific client drivers.
31 bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
32 depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
36 Ethernet support in Mellanox Technologies ConnectX-4 NIC.
39 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
40 depends on MLX5_CORE_EN && RFS_ACCEL
43 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
44 Enables ethernet netdevice arfs support and ntuple filtering.
47 bool "Mellanox MLX5 ethernet rx nfc flow steering support"
48 depends on MLX5_CORE_EN
51 Mellanox MLX5 ethernet rx nfc flow steering support
52 Enables ethtool receive network flow classification, which allows user defined
53 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
57 bool "Mellanox Technologies MLX5 MPFS support"
58 depends on MLX5_CORE_EN
61 Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
62 support in ConnectX NIC. MPFs is required for when multi-PF configuration
63 is enabled to allow passing user configured unicast MAC addresses to the
67 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
68 depends on MLX5_CORE_EN && NET_SWITCHDEV
71 Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
72 E-Switch provides internal SRIOV packet steering and switching for the
73 enabled VFs and PF in two available modes:
74 Legacy SRIOV mode (L2 mac vlan steering based).
75 Switchdev mode (eswitch offloads).
79 depends on MLX5_ESWITCH && BRIDGE
82 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
83 Enable adding representors of mlx5 uplink and VF ports to Bridge and
84 offloading rules for traffic between such ports. Supports VLANs (trunk and
88 bool "MLX5 TC classifier action support"
89 depends on MLX5_ESWITCH && NET_CLS_ACT && NET_TC_SKB_EXT
92 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
93 works in both native NIC mode and Switchdev SRIOV mode.
94 Actions get attached to a Hardware offloaded classifiers and are
95 invoked after a successful classification. Actions are used to
96 overwrite the classification result, instantly drop or redirect and/or
97 reformat packets in wire speeds without involving the host cpu.
99 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
103 bool "MLX5 TC connection tracking offload support"
104 depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT
107 Say Y here if you want to support offloading connection tracking rules
112 config MLX5_TC_SAMPLE
113 bool "MLX5 TC sample offload support"
114 depends on MLX5_CLS_ACT
115 depends on PSAMPLE=y || PSAMPLE=n || MLX5_CORE=m
118 Say Y here if you want to support offloading sample rules via tc
120 If set to N, will not be able to configure tc rules with sample
125 config MLX5_CORE_EN_DCB
126 bool "Data Center Bridging (DCB) Support"
128 depends on MLX5_CORE_EN && DCB
130 Say Y here if you want to use Data Center Bridging (DCB) in the
132 If set to N, will not be able to configure QoS and ratelimit attributes.
133 This flag is depended on the kernel's DCB support.
137 config MLX5_CORE_IPOIB
138 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
139 depends on MLX5_CORE_EN
141 MLX5 IPoIB offloads & acceleration support.
144 bool "Connect-X support for MACSec offload"
145 depends on MLX5_CORE_EN
149 Build support for MACsec cryptography-offload acceleration in the NIC.
152 bool "Mellanox Technologies IPsec Connect-X support"
153 depends on MLX5_CORE_EN
154 depends on XFRM_OFFLOAD
155 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
157 Build support for IPsec cryptography-offload acceleration in the NIC.
160 bool "Mellanox Technologies TLS Connect-X support"
161 depends on TLS_DEVICE
162 depends on TLS=y || MLX5_CORE=m
163 depends on MLX5_CORE_EN
165 Build support for TLS cryptography-offload acceleration in the NIC.
167 config MLX5_SW_STEERING
168 bool "Mellanox Technologies software-managed steering"
169 depends on MLX5_CORE_EN && MLX5_ESWITCH
173 Build support for software-managed steering in the NIC.
176 bool "Mellanox Technologies subfunction device support using auxiliary device"
177 depends on MLX5_CORE && MLX5_CORE_EN
179 Build support for subfuction device in the NIC. A Mellanox subfunction
180 device can support RDMA, netdevice and vdpa device.
181 It is similar to a SRIOV VF but it doesn't require SRIOV support.
183 config MLX5_SF_MANAGER
185 depends on MLX5_SF && MLX5_ESWITCH
188 Build support for subfuction port in the NIC. A Mellanox subfunction
189 port is managed through devlink. A subfunction supports RDMA, netdevice
190 and vdpa device. It is similar to a SRIOV VF but it doesn't require
194 tristate "Mellanox 5th generation network adapters (ConnectX series) DPLL support"
195 depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE
198 DPLL support in Mellanox Technologies ConnectX NICs.