Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: GPL-2.0-only
0002 #
0003 # Mellanox driver configuration
0004 #
0005 
0006 config MLX5_CORE
0007         tristate "Mellanox 5th generation network adapters (ConnectX series) core driver"
0008         depends on PCI
0009         select AUXILIARY_BUS
0010         select NET_DEVLINK
0011         depends on VXLAN || !VXLAN
0012         depends on MLXFW || !MLXFW
0013         depends on PTP_1588_CLOCK_OPTIONAL
0014         depends on PCI_HYPERV_INTERFACE || !PCI_HYPERV_INTERFACE
0015         help
0016           Core driver for low level functionality of the ConnectX-4 and
0017           Connect-IB cards by Mellanox Technologies.
0018 
0019 config MLX5_FPGA
0020         bool "Mellanox Technologies Innova support"
0021         depends on MLX5_CORE
0022         help
0023           Build support for the Innova family of network cards by Mellanox
0024           Technologies. Innova network cards are comprised of a ConnectX chip
0025           and an FPGA chip on one board. If you select this option, the
0026           mlx5_core driver will include the Innova FPGA core and allow building
0027           sandbox-specific client drivers.
0028 
0029 config MLX5_CORE_EN
0030         bool "Mellanox 5th generation network adapters (ConnectX series) Ethernet support"
0031         depends on NETDEVICES && ETHERNET && INET && PCI && MLX5_CORE
0032         select PAGE_POOL
0033         select DIMLIB
0034         help
0035           Ethernet support in Mellanox Technologies ConnectX-4 NIC.
0036 
0037 config MLX5_EN_ARFS
0038         bool "Mellanox MLX5 ethernet accelerated receive flow steering (ARFS) support"
0039         depends on MLX5_CORE_EN && RFS_ACCEL
0040         default y
0041         help
0042           Mellanox MLX5 ethernet hardware-accelerated receive flow steering support,
0043           Enables ethernet netdevice arfs support and ntuple filtering.
0044 
0045 config MLX5_EN_RXNFC
0046         bool "Mellanox MLX5 ethernet rx nfc flow steering support"
0047         depends on MLX5_CORE_EN
0048         default y
0049         help
0050           Mellanox MLX5 ethernet rx nfc flow steering support
0051           Enables ethtool receive network flow classification, which allows user defined
0052           flow rules to direct traffic into arbitrary rx queue via ethtool set/get_rxnfc
0053           API.
0054 
0055 config MLX5_MPFS
0056         bool "Mellanox Technologies MLX5 MPFS support"
0057         depends on MLX5_CORE_EN
0058         default y
0059         help
0060           Mellanox Technologies Ethernet Multi-Physical Function Switch (MPFS)
0061           support in ConnectX NIC. MPFs is required for when multi-PF configuration
0062           is enabled to allow passing user configured unicast MAC addresses to the
0063           requesting PF.
0064 
0065 config MLX5_ESWITCH
0066         bool "Mellanox Technologies MLX5 SRIOV E-Switch support"
0067         depends on MLX5_CORE_EN && NET_SWITCHDEV
0068         default y
0069         help
0070           Mellanox Technologies Ethernet SRIOV E-Switch support in ConnectX NIC.
0071           E-Switch provides internal SRIOV packet steering and switching for the
0072           enabled VFs and PF in two available modes:
0073                 Legacy SRIOV mode (L2 mac vlan steering based).
0074                 Switchdev mode (eswitch offloads).
0075 
0076 config MLX5_BRIDGE
0077         bool
0078         depends on MLX5_ESWITCH && BRIDGE
0079         default y
0080         help
0081           mlx5 ConnectX offloads support for Ethernet Bridging (BRIDGE).
0082           Enable adding representors of mlx5 uplink and VF ports to Bridge and
0083           offloading rules for traffic between such ports. Supports VLANs (trunk and
0084           access modes).
0085 
0086 config MLX5_CLS_ACT
0087         bool "MLX5 TC classifier action support"
0088         depends on MLX5_ESWITCH && NET_CLS_ACT
0089         default y
0090         help
0091           mlx5 ConnectX offloads support for TC classifier action (NET_CLS_ACT),
0092           works in both native NIC mode and Switchdev SRIOV mode.
0093           Actions get attached to a Hardware offloaded classifiers and are
0094           invoked after a successful classification. Actions are used to
0095           overwrite the classification result, instantly drop or redirect and/or
0096           reformat packets in wire speeds without involving the host cpu.
0097 
0098           If set to N, TC offloads in both NIC and switchdev modes will be disabled.
0099           If unsure, set to Y
0100 
0101 config MLX5_TC_CT
0102         bool "MLX5 TC connection tracking offload support"
0103         depends on MLX5_CLS_ACT && NF_FLOW_TABLE && NET_ACT_CT && NET_TC_SKB_EXT
0104         default y
0105         help
0106           Say Y here if you want to support offloading connection tracking rules
0107           via tc ct action.
0108 
0109           If unsure, set to Y
0110 
0111 config MLX5_TC_SAMPLE
0112         bool "MLX5 TC sample offload support"
0113         depends on MLX5_CLS_ACT
0114         depends on PSAMPLE=y || PSAMPLE=n || MLX5_CORE=m
0115         default y
0116         help
0117           Say Y here if you want to support offloading sample rules via tc
0118           sample action.
0119           If set to N, will not be able to configure tc rules with sample
0120           action.
0121 
0122           If unsure, set to Y
0123 
0124 config MLX5_CORE_EN_DCB
0125         bool "Data Center Bridging (DCB) Support"
0126         default y
0127         depends on MLX5_CORE_EN && DCB
0128         help
0129           Say Y here if you want to use Data Center Bridging (DCB) in the
0130           driver.
0131           If set to N, will not be able to configure QoS and ratelimit attributes.
0132           This flag is depended on the kernel's DCB support.
0133 
0134           If unsure, set to Y
0135 
0136 config MLX5_CORE_IPOIB
0137         bool "Mellanox 5th generation network adapters (connectX series) IPoIB offloads support"
0138         depends on MLX5_CORE_EN
0139         help
0140           MLX5 IPoIB offloads & acceleration support.
0141 
0142 config MLX5_EN_IPSEC
0143         bool "Mellanox Technologies IPsec Connect-X support"
0144         depends on MLX5_CORE_EN
0145         depends on XFRM_OFFLOAD
0146         depends on INET_ESP_OFFLOAD || INET6_ESP_OFFLOAD
0147         help
0148           Build support for IPsec cryptography-offload acceleration in the NIC.
0149 
0150 config MLX5_EN_TLS
0151         bool "Mellanox Technologies TLS Connect-X support"
0152         depends on TLS_DEVICE
0153         depends on TLS=y || MLX5_CORE=m
0154         depends on MLX5_CORE_EN
0155         help
0156         Build support for TLS cryptography-offload acceleration in the NIC.
0157 
0158 config MLX5_SW_STEERING
0159         bool "Mellanox Technologies software-managed steering"
0160         depends on MLX5_CORE_EN && MLX5_ESWITCH
0161         select CRC32
0162         default y
0163         help
0164         Build support for software-managed steering in the NIC.
0165 
0166 config MLX5_SF
0167         bool "Mellanox Technologies subfunction device support using auxiliary device"
0168         depends on MLX5_CORE && MLX5_CORE_EN
0169         help
0170         Build support for subfuction device in the NIC. A Mellanox subfunction
0171         device can support RDMA, netdevice and vdpa device.
0172         It is similar to a SRIOV VF but it doesn't require SRIOV support.
0173 
0174 config MLX5_SF_MANAGER
0175         bool
0176         depends on MLX5_SF && MLX5_ESWITCH
0177         default y
0178         help
0179         Build support for subfuction port in the NIC. A Mellanox subfunction
0180         port is managed through devlink.  A subfunction supports RDMA, netdevice
0181         and vdpa device. It is similar to a SRIOV VF but it doesn't require
0182         SRIOV support.