210 lines · plain
1# SPDX-License-Identifier: GPL-2.0-only2#3# Mellanox driver configuration4#5 6config MLX5_CORE7 tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"8 depends on PCI9 select AUXILIARY_BUS10 select NET_DEVLINK11 depends on VXLAN || !VXLAN12 depends on MLXFW || !MLXFW13 depends on PTP_1588_CLOCK_OPTIONAL14 depends on PCI_HYPERV_INTERFACE || !PCI_HYPERV_INTERFACE15 depends on HWMON || !HWMON16 help17 Core driver for low level functionality of the ConnectX-4 and18 Connect-IB cards by Mellanox Technologies.19 20config MLX5_FPGA21 bool "Mellanox Technologies Innova support"22 depends on MLX5_CORE23 help24 Build support for the Innova family of network cards by Mellanox25 Technologies. Innova network cards are comprised of a ConnectX chip26 and an FPGA chip on one board. If you select this option, the27 mlx5_core driver will include the Innova FPGA core and allow building28 sandbox-specific client drivers.29 30config MLX5_CORE_EN31 bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"32 depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE33 select PAGE_POOL34 select DIMLIB35 help36 Ethernet support in Mellanox Technologies ConnectX-4 NIC.37 38config MLX5_EN_ARFS39 bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"40 depends on MLX5_CORE_EN && RFS_ACCEL41 default y42 help43 Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,44 Enables ethernet netdevice arfs support and ntuple filtering.45 46config MLX5_EN_RXNFC47 bool "Mellanox MLX5 ethernet rx nfc flow steering support"48 depends on MLX5_CORE_EN49 default y50 help51 Mellanox MLX5 ethernet rx nfc flow steering support52 Enables ethtool receive network flow classification, which allows user defined53 flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc54 API.55 56config MLX5_MPFS57 bool "Mellanox Technologies MLX5 MPFS support"58 depends on MLX5_CORE_EN59 default y60 help61 Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)62 support in ConnectX NIC. MPFs is required for when multi-PF configuration63 is enabled to allow passing user configured unicast MAC addresses to the64 requesting PF.65 66config MLX5_ESWITCH67 bool "Mellanox Technologies MLX5 SRIOV E-Switch support"68 depends on MLX5_CORE_EN && NET_SWITCHDEV69 default y70 help71 Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.72 E-Switch provides internal SRIOV packet steering and switching for the73 enabled VFs and PF in two available modes:74 Legacy SRIOV mode (L2 mac vlan steering based).75 Switchdev mode (eswitch offloads).76 77config MLX5_BRIDGE78 bool79 depends on MLX5_ESWITCH && BRIDGE80 default y81 help82 mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).83 Enable adding representors of mlx5 uplink and VF ports to Bridge and84 offloading rules for traffic between such ports. Supports VLANs (trunk and85 access modes).86 87config MLX5_CLS_ACT88 bool "MLX5 TC classifier action support"89 depends on MLX5_ESWITCH && NET_CLS_ACT && NET_TC_SKB_EXT90 default y91 help92 mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),93 works in both native NIC mode and Switchdev SRIOV mode.94 Actions get attached to a Hardware offloaded classifiers and are95 invoked after a successful classification. Actions are used to96 overwrite the classification result, instantly drop or redirect and/or97 reformat packets in wire speeds without involving the host cpu.98 99 If set to N, TC offloads in both NIC and switchdev modes will be disabled.100 If unsure, set to Y101 102config MLX5_TC_CT103 bool "MLX5 TC connection tracking offload support"104 depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT105 default y106 help107 Say Y here if you want to support offloading connection tracking rules108 via tc ct action.109 110 If unsure, set to Y111 112config MLX5_TC_SAMPLE113 bool "MLX5 TC sample offload support"114 depends on MLX5_CLS_ACT115 depends on PSAMPLE=y || PSAMPLE=n || MLX5_CORE=m116 default y117 help118 Say Y here if you want to support offloading sample rules via tc119 sample action.120 If set to N, will not be able to configure tc rules with sample121 action.122 123 If unsure, set to Y124 125config MLX5_CORE_EN_DCB126 bool "Data Center Bridging (DCB) Support"127 default y128 depends on MLX5_CORE_EN && DCB129 help130 Say Y here if you want to use Data Center Bridging (DCB) in the131 driver.132 If set to N, will not be able to configure QoS and ratelimit attributes.133 This flag is depended on the kernel's DCB support.134 135 If unsure, set to Y136 137config MLX5_CORE_IPOIB138 bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"139 depends on MLX5_CORE_EN140 help141 MLX5 IPoIB offloads & acceleration support.142 143config MLX5_MACSEC144 bool "Connect-X support for MACSec offload"145 depends on MLX5_CORE_EN146 depends on MACSEC147 default n148 help149 Build support for MACsec cryptography-offload acceleration in the NIC.150 151config MLX5_EN_IPSEC152 bool "Mellanox Technologies IPsec Connect-X support"153 depends on MLX5_CORE_EN154 depends on XFRM_OFFLOAD155 depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD156 help157 Build support for IPsec cryptography-offload acceleration in the NIC.158 159config MLX5_EN_TLS160 bool "Mellanox Technologies TLS Connect-X support"161 depends on TLS_DEVICE162 depends on TLS=y || MLX5_CORE=m163 depends on MLX5_CORE_EN164 help165 Build support for TLS cryptography-offload acceleration in the NIC.166 167config MLX5_SW_STEERING168 bool "Mellanox Technologies software-managed steering"169 depends on MLX5_CORE_EN && MLX5_ESWITCH170 select CRC32171 default y172 help173 Build support for software-managed steering in the NIC.174 175config MLX5_HW_STEERING176 bool "Mellanox Technologies hardware-managed steering"177 depends on MLX5_CORE_EN && MLX5_ESWITCH178 default y179 help180 Build support for Hardware-Managed Flow Steering (HMFS) in the NIC.181 HMFS is a new approach to managing steering rules where STEs are182 written to ICM by HW (as opposed to SW in software-managed steering),183 which allows higher rate of rule insertion.184 185config MLX5_SF186 bool "Mellanox Technologies subfunction device support using auxiliary device"187 depends on MLX5_CORE && MLX5_CORE_EN188 help189 Build support for subfuction device in the NIC. A Mellanox subfunction190 device can support RDMA, netdevice and vdpa device.191 It is similar to a SRIOV VF but it doesn't require SRIOV support.192 193config MLX5_SF_MANAGER194 bool195 depends on MLX5_SF && MLX5_ESWITCH196 default y197 help198 Build support for subfuction port in the NIC. A Mellanox subfunction199 port is managed through devlink. A subfunction supports RDMA, netdevice200 and vdpa device. It is similar to a SRIOV VF but it doesn't require201 SRIOV support.202 203config MLX5_DPLL204 tristate "Mellanox 5th generation network adapters (ConnectX series) DPLL support"205 depends on NETDEVICES && ETHERNET && PCI && MLX5_CORE206 select DPLL207 help208 DPLL support in Mellanox Technologies ConnectX NICs.209 210