启用驱动程序和 kconfig 选项

版权:

© 2023, NVIDIA CORPORATION & AFFILIATES。保留所有权利。

mlx5 核心是模块化的,并且大多数主要的 mlx5 核心驱动程序功能可以通过内核 Kconfig 标志在构建时选择(编译进/出)。
在构建时通过内核 Kconfig 标志选择(编译进/出)。
基本功能、以太网网络设备 rx/tx 卸载和 XDP 可通过最基本的标志获得
CONFIG_MLX5_CORE=y/m 和 CONFIG_MLX5_CORE_EN=y。
有关高级功能的列表,请参见下文。

CONFIG_MLX5_BRIDGE=(y/n)

这将提供将 mlx5 上行链路和 VF 的代表添加到网桥并卸载此类端口之间流量规则的能力。
端口到网桥并卸载此类端口之间流量的规则。
支持 VLAN(干线和访问模式)。

CONFIG_MLX5_CORE=(y/m/n) (模块 mlx5_core.ko)

可以通过在内核配置中选择 CONFIG_MLX5_CORE=y/m 来启用驱动程序。
这将为 mlx5 ulp 提供与接口(mlx5e、mlx5_ib)的 mlx5 核心驱动程序。

CONFIG_MLX5_CORE_EN=(y/n)

选择此选项将允许基本以太网网络设备支持以及所有标准的 rx/tx 卸载。
mlx5e 是 mlx5 ulp 驱动程序,它提供网络设备内核接口,选择后,mlx5e 将被构建到 mlx5_core.ko 中。
构建到 mlx5_core.ko 中。

CONFIG_MLX5_CORE_EN_DCB=(y/n):

CONFIG_MLX5_CORE_IPOIB=(y/n)

IPoIB 卸载和加速支持。
需要 CONFIG_MLX5_CORE_EN 来为 rdma 提供加速接口
IPoIB ulp 网络设备。

CONFIG_MLX5_CLS_ACT=(y/n)

启用对 TC 分类器操作 (NET_CLS_ACT) 的卸载支持。
在原生 NIC 模式和 Switchdev SRIOV 模式下工作。
基于流的分类器,例如通过注册的分类器
tc-flower(8),由设备处理,而不是
主机。然后,由于卸载,会立即覆盖匹配分类
结果的操作。

CONFIG_MLX5_EN_ARFS=(y/n)

启用硬件加速接收流转向 (arfs) 支持和 ntuple 过滤。

CONFIG_MLX5_EN_IPSEC=(y/n)

CONFIG_MLX5_MACSEC=(y/n)

在 NIC 中构建对 MACsec 加密卸载加速的支持。

CONFIG_MLX5_EN_RXNFC=(y/n)

启用 ethtool 接收网络流分类,允许用户定义的
流规则通过 ethtool set/get_rxnfc API 将流量定向到任意 rx 队列。

CONFIG_MLX5_EN_TLS=(y/n)

TLS 加密卸载加速。

CONFIG_MLX5_ESWITCH=(y/n)

ConnectX NIC 中的以太网 SRIOV E-Switch 支持。E-Switch 为两个可用模式中的已启用 VF 和 PF 提供内部 SRIOV 数据包转向和切换
和切换

CONFIG_MLX5_FPGA=(y/n)

构建对 Mellanox Technologies 的 Innova 系列网卡的支持。
Innova 网卡由一个 ConnectX 芯片和一个 FPGA 芯片组成。
如果您选择此选项,mlx5_core 驱动程序将包括 Innova FPGA 核心并允许
构建特定于沙盒的客户端驱动程序。

CONFIG_MLX5_INFINIBAND=(y/n/m) (模块 mlx5_ib.ko)

提供低级 InfiniBand/RDMA 和 RoCE 支持。

CONFIG_MLX5_MPFS=(y/n)

ConnectX NIC 中的以太网多物理功能交换机 (MPFS) 支持。
当启用 多主机 配置以允许传递
用户配置的单播 MAC 地址给请求的 PF 时,需要 MPF。

CONFIG_MLX5_SF=(y/n)

构建对子功能的支持。
子功能比 PCI SRIOV VF 更轻量级。选择此选项
将启用创建子功能设备的支持。

CONFIG_MLX5_SF_MANAGER=(y/n)

构建对 NIC 中子功能端口的支持。Mellanox 子功能
端口通过 devlink 管理。子功能支持 RDMA、网络设备
和 vdpa 设备。它类似于 SRIOV VF,但不需要
SRIOV 支持。

CONFIG_MLX5_SW_STEERING=(y/n)

构建对 NIC 中软件管理转向的支持。

CONFIG_MLX5_HW_STEERING=(y/n)

构建对 NIC 中硬件管理转向的支持。

CONFIG_MLX5_TC_CT=(y/n)

支持通过 tc ct 操作卸载连接跟踪规则。

CONFIG_MLX5_TC_SAMPLE=(y/n)

支持通过 tc sample 操作卸载采样规则。

CONFIG_MLX5_VDPA=(y/n)

Mellanox VDPA 驱动程序的支持库。提供代码
所有类型的 VDPA 驱动程序都通用。计划以下驱动程序
网络、块。

CONFIG_MLX5_VDPA_NET=(y/n)

适用于 ConnectX6 及更新版本的 VDPA 网络驱动程序。提供卸载
virtio 网络数据路径,以便放置在环上的描述符
由硬件执行。它还支持各种无状态
卸载取决于使用的实际设备和固件版本。

CONFIG_MLX5_VFIO_PCI=(y/n)

这为使用 VFIO 框架的 MLX5 设备提供迁移支持。

外部选项(如果需要相应的 mlx5 功能,请选择)

  • CONFIG_MLXFW:选择后,将启用 mlx5 固件刷新支持(通过 devlink 和 ethtool)。

  • CONFIG_PTP_1588_CLOCK:选择后,将启用 mlx5 ptp 支持

  • CONFIG_VXLAN:选择后,将启用 mlx5 vxlan 支持。