1 # SPDX-License-Identifier: GPL-2.0-only
3 # Mellanox driver configuration
7 tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
10 depends on VXLAN || !VXLAN
11 depends on MLXFW || !MLXFW
12 depends on PTP_1588_CLOCK || !PTP_1588_CLOCK
13 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
40 Ethernet support in Mellanox Technologies ConnectX-4 NIC.
43 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
44 depends on MLX5_CORE_EN && RFS_ACCEL
47 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
48 Enables ethernet netdevice arfs support and ntuple filtering.
51 bool "Mellanox MLX5 ethernet rx nfc flow steering support"
52 depends on MLX5_CORE_EN
55 Mellanox MLX5 ethernet rx nfc flow steering support
56 Enables ethtool receive network flow classification, which allows user defined
57 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
61 bool "Mellanox Technologies MLX5 MPFS support"
62 depends on MLX5_CORE_EN
65 Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
66 support in ConnectX NIC. MPFs is required for when multi-PF configuration
67 is enabled to allow passing user configured unicast MAC addresses to the
71 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
72 depends on MLX5_CORE_EN && NET_SWITCHDEV
75 Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
76 E-Switch provides internal SRIOV packet steering and switching for the
77 enabled VFs and PF in two available modes:
78 Legacy SRIOV mode (L2 mac vlan steering based).
79 Switchdev mode (eswitch offloads).
82 bool "MLX5 TC classifier action support"
83 depends on MLX5_ESWITCH && NET_CLS_ACT
86 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
87 works in both native NIC mode and Switchdev SRIOV mode.
88 Actions get attached to a Hardware offloaded classifiers and are
89 invoked after a successful classification. Actions are used to
90 overwrite the classification result, instantly drop or redirect and/or
91 reformat packets in wire speeds without involving the host cpu.
93 If set to N, TC offloads in both NIC and switchdev modes will be disabled.
97 bool "MLX5 TC connection tracking offload support"
98 depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
101 Say Y here if you want to support offloading connection tracking rules
106 config MLX5_CORE_EN_DCB
107 bool "Data Center Bridging (DCB) Support"
109 depends on MLX5_CORE_EN && DCB
111 Say Y here if you want to use Data Center Bridging (DCB) in the
113 If set to N, will not be able to configure QoS and ratelimit attributes.
114 This flag is depended on the kernel's DCB support.
118 config MLX5_CORE_IPOIB
119 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
120 depends on MLX5_CORE_EN
123 MLX5 IPoIB offloads & acceleration support.
125 config MLX5_FPGA_IPSEC
126 bool "Mellanox Technologies IPsec Innova support"
131 Build IPsec support for the Innova family of network cards by Mellanox
132 Technologies. Innova network cards are comprised of a ConnectX chip
133 and an FPGA chip on one board. If you select this option, the
134 mlx5_core driver will include the Innova FPGA core and allow building
135 sandbox-specific client drivers.
138 bool "IPSec XFRM cryptography-offload accelaration"
139 depends on MLX5_CORE_EN
140 depends on XFRM_OFFLOAD
141 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
142 depends on MLX5_FPGA_IPSEC
145 Build support for IPsec cryptography-offload accelaration in the NIC.
146 Note: Support for hardware with this capability needs to be selected
147 for this option to become available.
150 bool "Mellanox Technologies TLS Innova support"
151 depends on TLS_DEVICE
152 depends on TLS=y || MLX5_CORE=m
153 depends on MLX5_CORE_EN
159 Build TLS support for the Innova family of network cards by Mellanox
160 Technologies. Innova network cards are comprised of a ConnectX chip
161 and an FPGA chip on one board. If you select this option, the
162 mlx5_core driver will include the Innova FPGA core and allow building
163 sandbox-specific client drivers.
166 bool "Mellanox Technologies TLS Connect-X support"
167 depends on TLS_DEVICE
168 depends on TLS=y || MLX5_CORE=m
169 depends on MLX5_CORE_EN
175 Build TLS support for the Connect-X family of network cards by Mellanox
181 Build support for TLS cryptography-offload accelaration in the NIC.
182 Note: Support for hardware with this capability needs to be selected
183 for this option to become available.
185 config MLX5_SW_STEERING
186 bool "Mellanox Technologies software-managed steering"
187 depends on MLX5_CORE_EN && MLX5_ESWITCH
190 Build support for software-managed steering in the NIC.