0
点赞
收藏
分享

微信扫一扫

DPVS适配Mellanox-25G/100G网卡

AbrahamW 2022-12-13 阅读 133


目录

  • ​​安装Mlnx-Ofed​​
  • ​​Mellanox 25G网卡​​
  • ​​信息搜集​​
  • ​​下载合适的mlx-ofed​​
  • ​​安装MLNX-OFED​​
  • ​​Mellanox 100G网卡​​
  • ​​DPDK适配网卡​​
  • ​​查看DPDK官方信息​​
  • ​​DPDK MLX5 PMD支持的特性​​
  • ​​DPDK不同版本对于Mellanox网卡的支持​​
  • ​​dpdk 19.11才支持Mellanox Cx-6 Dx 100G网卡​​
  • ​​dpdk 17.11 不支持Mellanox cx4-lx 25G的fdir​​
  • ​​其他​​
  • ​​参考​​

安装Mlnx-Ofed

Mellanox 25G网卡

信息搜集

  • 查看固件版本, pci,驱动信息

# ethtool -i ens3f1
driver: mlx5_core
version: 5.0-1.0.0.0
firmware-version: 14.27.1016 (MT_2420110034)
expansion-rom-version:
bus-info: 0000:5e:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: yes

  • 查看speed

# ethtool  ens3f1
Settings for ens3f1:
Supported ports: [ FIBRE ]
Supported link modes: 1000baseKX/Full
10000baseKR/Full
25000baseCR/Full
25000baseKR/Full
25000baseSR/Full
Supported pause frame use: Symmetric
Supports auto-negotiation: Yes
Supported FEC modes: None BaseR RS
Advertised link modes: 1000baseKX/Full
10000baseKR/Full
25000baseCR/Full
25000baseKR/Full
25000baseSR/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Advertised FEC modes: RS
Speed: 25000Mb/s
Duplex: Full
Port: FIBRE
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: d
Wake-on: d
Current message level: 0x00000004 (4)
link
Link detected: yes

ps: 只有接口up状态,才可以协商speed;

  • 查看网卡的队列大小

# ethtool -g ens5f0
Ring parameters for ens5f0:
Pre-set maximums:
RX: 8192
RX Mini: 0
RX Jumbo: 0
TX: 8192
Current hardware settings:
RX: 1024
RX Mini: 0
RX Jumbo: 0
TX: 1024

  • 查看网卡的收发队列个数

# ip -d link show dev ens5f0
2: ens5f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 1016 numrxqueues 63 gso_max_size 65536 gso_max_segs 65535

# ethtool -l ens5f0
Channel parameters for ens5f0:
Pre-set maximums:
RX: 0
TX: 0
Other: 512
Combined: 63
Current hardware settings:
RX: 0
TX: 0
Other: 0
Combined: 63

  • 查看网卡PN (Part number)

# lspci -vv -s "5e:00.0" | grep -i "part number" -A 3
[PN] Part number: MCX4121A-ACAT

下载合适的mlx-ofed

  • 查询合适的Mlnx-ofed版本
    基于上面的网卡的固件版本,PN号来选择MLNX-OFED 驱动的版本

参见:​​mellanox网卡固件和mlnx-ofed版本映射表​​

  • 查看某版本的MLNX_OFED的详细信息
    通过该文档,可以看出MLNX-OFED支持的系统,网卡,当前版本的新特性,安装,卸载,升级等等;如下所示:
  • DPVS适配Mellanox-25G/100G网卡_dpvs


  • DPVS适配Mellanox-25G/100G网卡_User_02

  • 参见:​​mlnx-ofed 5.0.2.1.8.0的详细介绍​​
  • 下载MLNX-OFED
    确定了MLNX-OFED的版本后,再基于当前的机器的系统(centos)、平台(x86-64)等,再进行下载。
  • DPVS适配Mellanox-25G/100G网卡_dpvs_03

  • 参见:​​指定版本的mlnx-ofed 的下载​​

安装MLNX-OFED

参见上面提到的MLNX-OFED的详细信息中的信息,可以得到MLNX-OFED的安装指导。
我的常用的方法入下:

(1)下载mlnx-ofed 的 tar包 并解压;
(2) 安装
/opt/mlnx_ofed/mlnxofedinstall --add-kernel-support --upstream-libs --dpdk --skip-repo
(3)机器 reboot
(4) 验证
# ofed_info -s
MLNX_OFED_LINUX-5.0-2.1.8.0:

Mellanox 100G网卡

同上

DPDK适配网卡

查看DPDK官方信息

DPVS适配Mellanox-25G/100G网卡_Ethernet_04

  • dpdk doc文档、手册

https://www.dpdk.org/  ---> DPDK Core --->Document

各个版本的手册:

DPVS适配Mellanox-25G/100G网卡_User_05

  • API 手册
    介绍了当前版本的DPDK的 模块,源码(example例子的源码,各个文件分布,头文件、函数的源码等);
  • guides 手册

DPVS适配Mellanox-25G/100G网卡_User_06

  • dpdk支持的硬件信息

https://www.dpdk.org/  ---> DPDK Core --->

DPVS适配Mellanox-25G/100G网卡_sed_07

  • dpdk 源码下载
    推荐方法一;
  • 方法一:
    参见:​​​dpdk官方tar包下载​​ https://www.dpdk.org/ —> DPDK Core —> Download
  • DPVS适配Mellanox-25G/100G网卡_dpvs_08


  • 方法二:
    从github中下载;

DPDK MLX5 PMD支持的特性

DPVS适配Mellanox-25G/100G网卡_Ethernet_09

参考:​​pmd MLX5 Ethernet Poll Mode Driver​​

DPDK不同版本对于Mellanox网卡的支持

dpdk 19.11才支持Mellanox Cx-6 Dx 100G网卡

DPVS适配Mellanox-25G/100G网卡_sed_10


DPVS适配Mellanox-25G/100G网卡_User_11


如下所示,dpdk 18.11 还没有开始支持 Mellanox cx-6 Dx;

DPVS适配Mellanox-25G/100G网卡_sed_12

dpdk 17.11 不支持Mellanox cx4-lx 25G的fdir

Mellanox cx-4 lx 25G使用的是Mlx5的驱动,所以看看各个dpdk版本对于mlx5驱动的更新。如下所示:

  • dpdk 16.11对于mlx5的支持
  • DPVS适配Mellanox-25G/100G网卡_sed_13

  • dpdk17.11 对于mlx5的支持
  • DPVS适配Mellanox-25G/100G网卡_Ethernet_14

  • dpdk18.11对于mlx5的支持
  • DPVS适配Mellanox-25G/100G网卡_User_15

其他

  • 查看当前的网卡的PCI信息

# lspci | grep Mellanox
31:00.0 Ethernet controller: Mellanox Technologies MT28841
31:00.1 Ethernet controller: Mellanox Technologies MT28841
98:00.0 Ethernet controller: Mellanox Technologies MT28841
b1:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]
b1:00.1 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

  • 查看当前系统的MLNX OFED版本信息

# ofed_info -h
Usage: /bin/ofed_info [options]
Options:
-s Show package name and version number.
-n Show numerical version number only.
-l List installed packages details (Default option).

# ofed_info -s
MLNX_OFED_LINUX-5.0-2.1.8.0:

DPVS适配Mellanox-25G/100G网卡_Ethernet_16

参考



Mellanox 官网:
https://www.dpdk.org/

(1) DPDK 中对于 Mellanox PMD 之 MLX5


https://doc.dpdk.org/guides/nics/mlx5.html
【DPDK MLX5 Ethernet Poll Mode Driver】

https://fast.dpdk.org/doc/perf/DPDK_18_11_Mellanox_NIC_performance_report.pdf
【DPDK 18.11 在 Mellanox nic 的性能测试报告:】
「学习网卡的性能测试的格式、测试哪些点,怎么测试。」

(2) Mellanox 手册/datasheet:
「没有像样的datasheet, 没有看到像intel 82599 datasheet 这么详尽的datasheet」

https://www.nvidia.com/en-us/networking/ethernet/connectx-5/
【nvidia 官网中介绍:只有product brief,介绍的太简单了】

(3) MLNX-OFED 手册:
https://docs.nvidia.com/networking/display/MLNXOFEDv551032/Introduction
https://network.nvidia.com/related-docs/prod_software/Mellanox_OFED_Linux_User_Manual_v2.4-1.0.0.pdf
【这个 mlnx-ofed 手册,还可以】


举报

相关推荐

0 条评论