1#
2# Mellanox driver configuration
3#
4
5config MLX5_CORE
6	tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
7	depends on MAY_USE_DEVLINK
8	depends on PCI
9	imply PTP_1588_CLOCK
10	imply VXLAN
11	default n
12	---help---
13	  Core driver for low level functionality of the ConnectX-4 and
14	  Connect-IB cards by Mellanox Technologies.
15
16config MLX5_ACCEL
17	bool
18
19config MLX5_FPGA
20        bool "Mellanox Technologies Innova support"
21        depends on MLX5_CORE
22	select MLX5_ACCEL
23        ---help---
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.
29
30config MLX5_CORE_EN
31	bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
32	depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
33	depends on IPV6=y || IPV6=n || MLX5_CORE=m
34	select PAGE_POOL
35	default n
36	---help---
37	  Ethernet support in Mellanox Technologies ConnectX-4 NIC.
38
39config MLX5_EN_ARFS
40	bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
41	depends on MLX5_CORE_EN && RFS_ACCEL
42	default y
43	---help---
44	  Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
45	  Enables ethernet netdevice arfs support and ntuple filtering.
46
47config MLX5_EN_RXNFC
48	bool "Mellanox MLX5 ethernet rx nfc flow steering support"
49	depends on MLX5_CORE_EN
50	default y
51	---help---
52	  Mellanox MLX5 ethernet rx nfc flow steering support
53	  Enables ethtool receive network flow classification, which allows user defined
54	  flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
55	  API.
56
57config MLX5_MPFS
58        bool "Mellanox Technologies MLX5 MPFS support"
59        depends on MLX5_CORE_EN
60	default y
61        ---help---
62	  Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
63          support in ConnectX NIC. MPFs is required for when multi-PF configuration
64          is enabled to allow passing user configured unicast MAC addresses to the
65          requesting PF.
66
67config MLX5_ESWITCH
68	bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
69	depends on MLX5_CORE_EN && NET_SWITCHDEV
70	default y
71	---help---
72	  Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
73          E-Switch provides internal SRIOV packet steering and switching for the
74          enabled VFs and PF in two available modes:
75                Legacy SRIOV mode (L2 mac vlan steering based).
76                Switchdev mode (eswitch offloads).
77
78config MLX5_CORE_EN_DCB
79	bool "Data Center Bridging (DCB) Support"
80	default y
81	depends on MLX5_CORE_EN && DCB
82	---help---
83	  Say Y here if you want to use Data Center Bridging (DCB) in the
84	  driver.
85	  If set to N, will not be able to configure QoS and ratelimit attributes.
86	  This flag is depended on the kernel's DCB support.
87
88	  If unsure, set to Y
89
90config MLX5_CORE_IPOIB
91	bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
92	depends on MLX5_CORE_EN
93	default n
94	---help---
95	  MLX5 IPoIB offloads & acceleration support.
96
97config MLX5_EN_IPSEC
98	bool "IPSec XFRM cryptography-offload accelaration"
99	depends on MLX5_ACCEL
100	depends on MLX5_CORE_EN
101	depends on XFRM_OFFLOAD
102	depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
103	default n
104	---help---
105	  Build support for IPsec cryptography-offload accelaration in the NIC.
106	  Note: Support for hardware with this capability needs to be selected
107	  for this option to become available.
108
109config MLX5_EN_TLS
110	bool "TLS cryptography-offload accelaration"
111	depends on MLX5_CORE_EN
112	depends on TLS_DEVICE
113	depends on TLS=y || MLX5_CORE=m
114	depends on MLX5_ACCEL
115	default n
116	---help---
117	  Build support for TLS cryptography-offload accelaration in the NIC.
118	  Note: Support for hardware with this capability needs to be selected
119	  for this option to become available.
120