forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/drivers/net/ethernet/mellanox/mlx5/core/Kconfig
....@@ -1,16 +1,18 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # Mellanox driver configuration
34 #
45
56 config MLX5_CORE
67 tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
7
- depends on MAY_USE_DEVLINK
88 depends on PCI
9
- imply PTP_1588_CLOCK
10
- imply VXLAN
11
- imply MLXFW
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
1214 default n
13
- ---help---
15
+ help
1416 Core driver for low level functionality of the ConnectX-4 and
1517 Connect-IB cards by Mellanox Technologies.
1618
....@@ -18,30 +20,30 @@
1820 bool
1921
2022 config MLX5_FPGA
21
- bool "Mellanox Technologies Innova support"
22
- depends on MLX5_CORE
23
+ bool "Mellanox Technologies Innova support"
24
+ depends on MLX5_CORE
2325 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.
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.
3032
3133 config MLX5_CORE_EN
3234 bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
3335 depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
34
- depends on IPV6=y || IPV6=n || MLX5_CORE=m
3536 select PAGE_POOL
37
+ select DIMLIB
3638 default n
37
- ---help---
39
+ help
3840 Ethernet support in Mellanox Technologies ConnectX-4 NIC.
3941
4042 config MLX5_EN_ARFS
4143 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
4244 depends on MLX5_CORE_EN && RFS_ACCEL
4345 default y
44
- ---help---
46
+ help
4547 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
4648 Enables ethernet netdevice arfs support and ntuple filtering.
4749
....@@ -49,38 +51,63 @@
4951 bool "Mellanox MLX5 ethernet rx nfc flow steering support"
5052 depends on MLX5_CORE_EN
5153 default y
52
- ---help---
54
+ help
5355 Mellanox MLX5 ethernet rx nfc flow steering support
5456 Enables ethtool receive network flow classification, which allows user defined
5557 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
5658 API.
5759
5860 config MLX5_MPFS
59
- bool "Mellanox Technologies MLX5 MPFS support"
60
- depends on MLX5_CORE_EN
61
+ bool "Mellanox Technologies MLX5 MPFS support"
62
+ depends on MLX5_CORE_EN
6163 default y
62
- ---help---
64
+ help
6365 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.
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.
6769
6870 config MLX5_ESWITCH
6971 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
7072 depends on MLX5_CORE_EN && NET_SWITCHDEV
7173 default y
72
- ---help---
74
+ help
7375 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).
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_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
+
96
+config 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
78105
79106 config MLX5_CORE_EN_DCB
80107 bool "Data Center Bridging (DCB) Support"
81108 default y
82109 depends on MLX5_CORE_EN && DCB
83
- ---help---
110
+ help
84111 Say Y here if you want to use Data Center Bridging (DCB) in the
85112 driver.
86113 If set to N, will not be able to configure QoS and ratelimit attributes.
....@@ -92,29 +119,86 @@
92119 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
93120 depends on MLX5_CORE_EN
94121 default n
95
- ---help---
122
+ help
96123 MLX5 IPoIB offloads & acceleration support.
97124
98
-config MLX5_EN_IPSEC
99
- bool "IPSec XFRM cryptography-offload accelaration"
100
- depends on MLX5_ACCEL
125
+config 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
+
137
+config MLX5_IPSEC
138
+ bool "Mellanox Technologies IPsec Connect-X support"
101139 depends on MLX5_CORE_EN
102140 depends on XFRM_OFFLOAD
103141 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
142
+ select MLX5_ACCEL
104143 default n
105
- ---help---
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
+
150
+config 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
106158 Build support for IPsec cryptography-offload accelaration in the NIC.
107159 Note: Support for hardware with this capability needs to be selected
108160 for this option to become available.
109161
110
-config MLX5_EN_TLS
111
- bool "TLS cryptography-offload accelaration"
112
- depends on MLX5_CORE_EN
162
+config MLX5_FPGA_TLS
163
+ bool "Mellanox Technologies TLS Innova support"
113164 depends on TLS_DEVICE
114165 depends on TLS=y || MLX5_CORE=m
115
- depends on MLX5_ACCEL
166
+ depends on MLX5_CORE_EN
167
+ depends on MLX5_FPGA
168
+ depends on XPS
169
+ select MLX5_EN_TLS
116170 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.
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
+
178
+config 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
+
191
+config 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
+
198
+config 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.