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 imply PTP_1588_CLOCK 11 imply VXLAN 12 imply MLXFW 13 imply 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_CORE_EN_DCB 82 bool "Data Center Bridging (DCB) Support" 83 default y 84 depends on MLX5_CORE_EN && DCB 85 ---help--- 86 Say Y here if you want to use Data Center Bridging (DCB) in the 87 driver. 88 If set to N, will not be able to configure QoS and ratelimit attributes. 89 This flag is depended on the kernel's DCB support. 90 91 If unsure, set to Y 92 93config MLX5_CORE_IPOIB 94 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support" 95 depends on MLX5_CORE_EN 96 default n 97 ---help--- 98 MLX5 IPoIB offloads & acceleration support. 99 100config MLX5_FPGA_IPSEC 101 bool "Mellanox Technologies IPsec Innova support" 102 depends on MLX5_CORE 103 depends on MLX5_FPGA 104 default n 105 help 106 Build IPsec support for the Innova family of network cards by Mellanox 107 Technologies. Innova network cards are comprised of a ConnectX chip 108 and an FPGA chip on one board. If you select this option, the 109 mlx5_core driver will include the Innova FPGA core and allow building 110 sandbox-specific client drivers. 111 112config MLX5_EN_IPSEC 113 bool "IPSec XFRM cryptography-offload accelaration" 114 depends on MLX5_CORE_EN 115 depends on XFRM_OFFLOAD 116 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD 117 depends on MLX5_FPGA_IPSEC 118 default n 119 help 120 Build support for IPsec cryptography-offload accelaration in the NIC. 121 Note: Support for hardware with this capability needs to be selected 122 for this option to become available. 123 124config MLX5_FPGA_TLS 125 bool "Mellanox Technologies TLS Innova support" 126 depends on TLS_DEVICE 127 depends on TLS=y || MLX5_CORE=m 128 depends on MLX5_FPGA 129 default n 130 help 131 Build TLS 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_TLS 138 bool "Mellanox Technologies TLS Connect-X support" 139 depends on MLX5_CORE_EN 140 depends on TLS_DEVICE 141 depends on TLS=y || MLX5_CORE=m 142 select MLX5_ACCEL 143 default n 144 help 145 Build TLS support for the Connect-X family of network cards by Mellanox 146 Technologies. 147 148config MLX5_EN_TLS 149 bool "TLS cryptography-offload accelaration" 150 depends on MLX5_CORE_EN 151 depends on MLX5_FPGA_TLS || MLX5_TLS 152 default y 153 help 154 Build support for TLS cryptography-offload accelaration in the NIC. 155 Note: Support for hardware with this capability needs to be selected 156 for this option to become available. 157 158config MLX5_SW_STEERING 159 bool "Mellanox Technologies software-managed steering" 160 depends on MLX5_CORE_EN && MLX5_ESWITCH 161 default y 162 help 163 Build support for software-managed steering in the NIC. 164