1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Mellanox driver configuration 4# 5 6config 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 19config MLX5_ACCEL 20 bool 21 22config 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 33config 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 42config 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 50config 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 60config 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 70config 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 81config 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 96config 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 105 106config MLX5_CORE_EN_DCB 107 bool "Data Center Bridging (DCB) Support" 108 default y 109 depends on MLX5_CORE_EN && DCB 110 help 111 Say Y here if you want to use Data Center Bridging (DCB) in the 112 driver. 113 If set to N, will not be able to configure QoS and ratelimit attributes. 114 This flag is depended on the kernel's DCB support. 115 116 If unsure, set to Y 117 118config MLX5_CORE_IPOIB 119 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" 120 depends on MLX5_CORE_EN 121 default n 122 help 123 MLX5 IPoIB offloads & acceleration support. 124 125config 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 137config MLX5_IPSEC 138 bool "Mellanox Technologies IPsec Connect-X support" 139 depends on MLX5_CORE_EN 140 depends on XFRM_OFFLOAD 141 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD 142 select MLX5_ACCEL 143 default n 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 150config 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 158 Build support for IPsec cryptography-offload accelaration in the NIC. 159 Note: Support for hardware with this capability needs to be selected 160 for this option to become available. 161 162config MLX5_FPGA_TLS 163 bool "Mellanox Technologies TLS Innova support" 164 depends on TLS_DEVICE 165 depends on TLS=y || MLX5_CORE=m 166 depends on MLX5_CORE_EN 167 depends on MLX5_FPGA 168 depends on XPS 169 select MLX5_EN_TLS 170 default n 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 178config 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 191config 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 198config 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. 205