| .. | .. |
|---|
| 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. |
|---|