.. | .. |
---|
| 1 | +# SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | # |
---|
2 | 3 | # Mellanox driver configuration |
---|
3 | 4 | # |
---|
4 | 5 | |
---|
5 | 6 | config MLX5_CORE |
---|
6 | 7 | tristate "Mellanox 5th generation network adapters (ConnectX series) core driver" |
---|
7 | | - depends on MAY_USE_DEVLINK |
---|
8 | 8 | 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 |
---|
12 | 14 | default n |
---|
13 | | - ---help--- |
---|
| 15 | + help |
---|
14 | 16 | Core driver for low level functionality of the ConnectX-4 and |
---|
15 | 17 | Connect-IB cards by Mellanox Technologies. |
---|
16 | 18 | |
---|
.. | .. |
---|
18 | 20 | bool |
---|
19 | 21 | |
---|
20 | 22 | 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 |
---|
23 | 25 | 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. |
---|
30 | 32 | |
---|
31 | 33 | config MLX5_CORE_EN |
---|
32 | 34 | bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support" |
---|
33 | 35 | depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE |
---|
34 | | - depends on IPV6=y || IPV6=n || MLX5_CORE=m |
---|
35 | 36 | select PAGE_POOL |
---|
| 37 | + select DIMLIB |
---|
36 | 38 | default n |
---|
37 | | - ---help--- |
---|
| 39 | + help |
---|
38 | 40 | Ethernet support in Mellanox Technologies ConnectX-4 NIC. |
---|
39 | 41 | |
---|
40 | 42 | config MLX5_EN_ARFS |
---|
41 | 43 | bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support" |
---|
42 | 44 | depends on MLX5_CORE_EN && RFS_ACCEL |
---|
43 | 45 | default y |
---|
44 | | - ---help--- |
---|
| 46 | + help |
---|
45 | 47 | Mellanox MLX5 ethernet hardware-accelerated receive flow steering support, |
---|
46 | 48 | Enables ethernet netdevice arfs support and ntuple filtering. |
---|
47 | 49 | |
---|
.. | .. |
---|
49 | 51 | bool "Mellanox MLX5 ethernet rx nfc flow steering support" |
---|
50 | 52 | depends on MLX5_CORE_EN |
---|
51 | 53 | default y |
---|
52 | | - ---help--- |
---|
| 54 | + help |
---|
53 | 55 | Mellanox MLX5 ethernet rx nfc flow steering support |
---|
54 | 56 | Enables ethtool receive network flow classification, which allows user defined |
---|
55 | 57 | flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc |
---|
56 | 58 | API. |
---|
57 | 59 | |
---|
58 | 60 | 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 |
---|
61 | 63 | default y |
---|
62 | | - ---help--- |
---|
| 64 | + help |
---|
63 | 65 | 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. |
---|
67 | 69 | |
---|
68 | 70 | config MLX5_ESWITCH |
---|
69 | 71 | bool "Mellanox Technologies MLX5 SRIOV E-Switch support" |
---|
70 | 72 | depends on MLX5_CORE_EN && NET_SWITCHDEV |
---|
71 | 73 | default y |
---|
72 | | - ---help--- |
---|
| 74 | + help |
---|
73 | 75 | 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 |
---|
78 | 105 | |
---|
79 | 106 | config MLX5_CORE_EN_DCB |
---|
80 | 107 | bool "Data Center Bridging (DCB) Support" |
---|
81 | 108 | default y |
---|
82 | 109 | depends on MLX5_CORE_EN && DCB |
---|
83 | | - ---help--- |
---|
| 110 | + help |
---|
84 | 111 | Say Y here if you want to use Data Center Bridging (DCB) in the |
---|
85 | 112 | driver. |
---|
86 | 113 | If set to N, will not be able to configure QoS and ratelimit attributes. |
---|
.. | .. |
---|
92 | 119 | bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" |
---|
93 | 120 | depends on MLX5_CORE_EN |
---|
94 | 121 | default n |
---|
95 | | - ---help--- |
---|
| 122 | + help |
---|
96 | 123 | MLX5 IPoIB offloads & acceleration support. |
---|
97 | 124 | |
---|
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" |
---|
101 | 139 | depends on MLX5_CORE_EN |
---|
102 | 140 | depends on XFRM_OFFLOAD |
---|
103 | 141 | depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD |
---|
| 142 | + select MLX5_ACCEL |
---|
104 | 143 | 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 |
---|
106 | 158 | Build support for IPsec cryptography-offload accelaration in the NIC. |
---|
107 | 159 | Note: Support for hardware with this capability needs to be selected |
---|
108 | 160 | for this option to become available. |
---|
109 | 161 | |
---|
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" |
---|
113 | 164 | depends on TLS_DEVICE |
---|
114 | 165 | 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 |
---|
116 | 170 | 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. |
---|