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