OSDN Git Service

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[tomoyo/tomoyo-test1.git] / drivers / net / ethernet / mellanox / mlx5 / core / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Mellanox driver configuration
4 #
5
6 config 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
19 config MLX5_ACCEL
20         bool
21
22 config 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
33 config 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
42 config 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
50 config 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
60 config 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
70 config 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
81 config MLX5_TC_CT
82         bool "MLX5 TC connection tracking offload support"
83         depends on MLX5_CORE_EN && NET_SWITCHDEV && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
84         default y
85         help
86           Say Y here if you want to support offloading connection tracking rules
87           via tc ct action.
88
89           If unsure, set to Y
90
91 config MLX5_CORE_EN_DCB
92         bool "Data Center Bridging (DCB) Support"
93         default y
94         depends on MLX5_CORE_EN && DCB
95         ---help---
96           Say Y here if you want to use Data Center Bridging (DCB) in the
97           driver.
98           If set to N, will not be able to configure QoS and ratelimit attributes.
99           This flag is depended on the kernel's DCB support.
100
101           If unsure, set to Y
102
103 config MLX5_CORE_IPOIB
104         bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
105         depends on MLX5_CORE_EN
106         default n
107         ---help---
108           MLX5 IPoIB offloads & acceleration support.
109
110 config MLX5_FPGA_IPSEC
111         bool "Mellanox Technologies IPsec Innova support"
112         depends on MLX5_CORE
113         depends on MLX5_FPGA
114         default n
115         help
116         Build IPsec support for the Innova family of network cards by Mellanox
117         Technologies. Innova network cards are comprised of a ConnectX chip
118         and an FPGA chip on one board. If you select this option, the
119         mlx5_core driver will include the Innova FPGA core and allow building
120         sandbox-specific client drivers.
121
122 config MLX5_EN_IPSEC
123         bool "IPSec XFRM cryptography-offload accelaration"
124         depends on MLX5_CORE_EN
125         depends on XFRM_OFFLOAD
126         depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
127         depends on MLX5_FPGA_IPSEC
128         default n
129         help
130           Build support for IPsec cryptography-offload accelaration in the NIC.
131           Note: Support for hardware with this capability needs to be selected
132           for this option to become available.
133
134 config MLX5_FPGA_TLS
135         bool "Mellanox Technologies TLS Innova support"
136         depends on TLS_DEVICE
137         depends on TLS=y || MLX5_CORE=m
138         depends on MLX5_FPGA
139         default n
140         help
141         Build TLS support for the Innova family of network cards by Mellanox
142         Technologies. Innova network cards are comprised of a ConnectX chip
143         and an FPGA chip on one board. If you select this option, the
144         mlx5_core driver will include the Innova FPGA core and allow building
145         sandbox-specific client drivers.
146
147 config MLX5_TLS
148         bool "Mellanox Technologies TLS Connect-X support"
149         depends on MLX5_CORE_EN
150         depends on TLS_DEVICE
151         depends on TLS=y || MLX5_CORE=m
152         select MLX5_ACCEL
153         default n
154         help
155         Build TLS support for the Connect-X family of network cards by Mellanox
156         Technologies.
157
158 config MLX5_EN_TLS
159         bool "TLS cryptography-offload accelaration"
160         depends on MLX5_CORE_EN
161         depends on MLX5_FPGA_TLS || MLX5_TLS
162         default y
163         help
164         Build support for TLS cryptography-offload accelaration in the NIC.
165         Note: Support for hardware with this capability needs to be selected
166         for this option to become available.
167
168 config MLX5_SW_STEERING
169         bool "Mellanox Technologies software-managed steering"
170         depends on MLX5_CORE_EN && MLX5_ESWITCH
171         default y
172         help
173         Build support for software-managed steering in the NIC.