net/mlx5e: Add CONFIG_MLX5_EN_ARFS for accelerated flow steering support
[sfrench/cifs-2.6.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         default n
11         ---help---
12           Core driver for low level functionality of the ConnectX-4 and
13           Connect-IB cards by Mellanox Technologies.
14
15 config MLX5_ACCEL
16         bool
17
18 config MLX5_FPGA
19         bool "Mellanox Technologies Innova support"
20         depends on MLX5_CORE
21         select MLX5_ACCEL
22         ---help---
23           Build support for the Innova family of network cards by Mellanox
24           Technologies. Innova network cards are comprised of a ConnectX chip
25           and an FPGA chip on one board. If you select this option, the
26           mlx5_core driver will include the Innova FPGA core and allow building
27           sandbox-specific client drivers.
28
29 config MLX5_CORE_EN
30         bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
31         depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
32         depends on IPV6=y || IPV6=n || MLX5_CORE=m
33         select PAGE_POOL
34         default n
35         ---help---
36           Ethernet support in Mellanox Technologies ConnectX-4 NIC.
37
38 config MLX5_EN_ARFS
39         bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
40         depends on MLX5_CORE_EN && RFS_ACCEL
41         default y
42         ---help---
43           Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
44           Enables ethernet netdevice arfs support and ntuple filtering.
45
46 config MLX5_EN_RXNFC
47         bool "Mellanox MLX5 ethernet rx nfc flow steering support"
48         depends on MLX5_CORE_EN
49         default y
50         ---help---
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
54           API.
55
56 config MLX5_MPFS
57         bool "Mellanox Technologies MLX5 MPFS support"
58         depends on MLX5_CORE_EN
59         default y
60         ---help---
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
64           requesting PF.
65
66 config MLX5_ESWITCH
67         bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
68         depends on MLX5_CORE_EN && NET_SWITCHDEV
69         default y
70         ---help---
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).
76
77 config MLX5_CORE_EN_DCB
78         bool "Data Center Bridging (DCB) Support"
79         default y
80         depends on MLX5_CORE_EN && DCB
81         ---help---
82           Say Y here if you want to use Data Center Bridging (DCB) in the
83           driver.
84           If set to N, will not be able to configure QoS and ratelimit attributes.
85           This flag is depended on the kernel's DCB support.
86
87           If unsure, set to Y
88
89 config MLX5_CORE_IPOIB
90         bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
91         depends on MLX5_CORE_EN
92         default n
93         ---help---
94           MLX5 IPoIB offloads & acceleration support.
95
96 config MLX5_EN_IPSEC
97         bool "IPSec XFRM cryptography-offload accelaration"
98         depends on MLX5_ACCEL
99         depends on MLX5_CORE_EN
100         depends on XFRM_OFFLOAD
101         depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
102         default n
103         ---help---
104           Build support for IPsec cryptography-offload accelaration in the NIC.
105           Note: Support for hardware with this capability needs to be selected
106           for this option to become available.
107
108 config MLX5_EN_TLS
109         bool "TLS cryptography-offload accelaration"
110         depends on MLX5_CORE_EN
111         depends on TLS_DEVICE
112         depends on TLS=y || MLX5_CORE=m
113         depends on MLX5_ACCEL
114         default n
115         ---help---
116           Build support for TLS cryptography-offload accelaration in the NIC.
117           Note: Support for hardware with this capability needs to be selected
118           for this option to become available.