• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# SPDX-License-Identifier: GPL-2.0-only
2#
3# Mellanox driver configuration
4#
5
6config MLX5_CORE
7	tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
8	depends on PCI
9	select NET_DEVLINK
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
14	default n
15	help
16	  Core driver for low level functionality of the ConnectX-4 and
17	  Connect-IB cards by Mellanox Technologies.
18
19config MLX5_ACCEL
20	bool
21
22config MLX5_FPGA
23	bool "Mellanox Technologies Innova support"
24	depends on MLX5_CORE
25	select MLX5_ACCEL
26	help
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.
32
33config MLX5_CORE_EN
34	bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
35	depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
36	select PAGE_POOL
37	select DIMLIB
38	default n
39	help
40	  Ethernet support in Mellanox Technologies ConnectX-4 NIC.
41
42config MLX5_EN_ARFS
43	bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
44	depends on MLX5_CORE_EN && RFS_ACCEL
45	default y
46	help
47	  Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
48	  Enables ethernet netdevice arfs support and ntuple filtering.
49
50config MLX5_EN_RXNFC
51	bool "Mellanox MLX5 ethernet rx nfc flow steering support"
52	depends on MLX5_CORE_EN
53	default y
54	help
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
58	  API.
59
60config MLX5_MPFS
61	bool "Mellanox Technologies MLX5 MPFS support"
62	depends on MLX5_CORE_EN
63	default y
64	help
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
68	  requesting PF.
69
70config MLX5_ESWITCH
71	bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
72	depends on MLX5_CORE_EN && NET_SWITCHDEV
73	default y
74	help
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).
80
81config MLX5_CLS_ACT
82	bool "MLX5 TC classifier action support"
83	depends on MLX5_ESWITCH && NET_CLS_ACT
84	default y
85	help
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.
92
93	  If set to N, TC offloads in both NIC and switchdev modes will be disabled.
94	  If unsure, set to Y
95
96config MLX5_TC_CT
97	bool "MLX5 TC connection tracking offload support"
98	depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
99	default y
100	help
101	  Say Y here if you want to support offloading connection tracking rules
102	  via tc ct action.
103
104	  If unsure, set to Y
105
106config MLX5_CORE_EN_DCB
107	bool "Data Center Bridging (DCB) Support"
108	default y
109	depends on MLX5_CORE_EN && DCB
110	help
111	  Say Y here if you want to use Data Center Bridging (DCB) in the
112	  driver.
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.
115
116	  If unsure, set to Y
117
118config MLX5_CORE_IPOIB
119	bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
120	depends on MLX5_CORE_EN
121	default n
122	help
123	  MLX5 IPoIB offloads & acceleration support.
124
125config MLX5_FPGA_IPSEC
126	bool "Mellanox Technologies IPsec Innova support"
127	depends on MLX5_CORE
128	depends on MLX5_FPGA
129	default n
130	help
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.
136
137config MLX5_IPSEC
138	bool "Mellanox Technologies IPsec Connect-X support"
139	depends on MLX5_CORE_EN
140	depends on XFRM_OFFLOAD
141	depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
142	select MLX5_ACCEL
143	default n
144	help
145	Build IPsec support for the Connect-X family of network cards by Mellanox
146	Technologies.
147	Note: If you select this option, the mlx5_core driver will include
148	IPsec support for the Connect-X family.
149
150config MLX5_EN_IPSEC
151	bool "IPSec XFRM cryptography-offload accelaration"
152	depends on MLX5_CORE_EN
153	depends on XFRM_OFFLOAD
154	depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
155	depends on MLX5_FPGA_IPSEC || MLX5_IPSEC
156	default n
157	help
158	  Build support for IPsec cryptography-offload accelaration in the NIC.
159	  Note: Support for hardware with this capability needs to be selected
160	  for this option to become available.
161
162config MLX5_FPGA_TLS
163	bool "Mellanox Technologies TLS Innova support"
164	depends on TLS_DEVICE
165	depends on TLS=y || MLX5_CORE=m
166	depends on MLX5_CORE_EN
167	depends on MLX5_FPGA
168	depends on XPS
169	select MLX5_EN_TLS
170	default n
171	help
172	Build TLS support for the Innova family of network cards by Mellanox
173	Technologies. Innova network cards are comprised of a ConnectX chip
174	and an FPGA chip on one board. If you select this option, the
175	mlx5_core driver will include the Innova FPGA core and allow building
176	sandbox-specific client drivers.
177
178config MLX5_TLS
179	bool "Mellanox Technologies TLS Connect-X support"
180	depends on TLS_DEVICE
181	depends on TLS=y || MLX5_CORE=m
182	depends on MLX5_CORE_EN
183	depends on XPS
184	select MLX5_ACCEL
185	select MLX5_EN_TLS
186	default n
187	help
188	Build TLS support for the Connect-X family of network cards by Mellanox
189	Technologies.
190
191config MLX5_EN_TLS
192	bool
193	help
194	Build support for TLS cryptography-offload accelaration in the NIC.
195	Note: Support for hardware with this capability needs to be selected
196	for this option to become available.
197
198config MLX5_SW_STEERING
199	bool "Mellanox Technologies software-managed steering"
200	depends on MLX5_CORE_EN && MLX5_ESWITCH
201	select CRC32
202	default y
203	help
204	Build support for software-managed steering in the NIC.
205