網(wǎng)卡型號
MCX4121A-ACAT
15b3 Mellanox Technologies
1015 MT27710 Family [ConnectX-4 Lx]
15b3 0003 Stand-up ConnectX-4 Lx EN, 25GbE dual-port SFP28, PCIe3.0 x8, MCX4121A-ACAT
系統(tǒng)
centos 7.3.1611
注意
- 是否需要UIO/igb_uio等內核模塊?
不需要, 不能使用dpdk-init將網(wǎng)卡綁定為igb_uio模塊 - 大頁內存的使用有什么區(qū)別?
echo 1024> /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
echo 1024> /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
- 需要什么其他內核模塊?
需要, 通過Mellanox_OFED安裝 - 網(wǎng)卡如何使用RSS?
無需額外設置, 應該與i40e相同 - 如何turning Mlx網(wǎng)卡?
參考mlnx_tuning_scripts_package
包
網(wǎng)卡操作
[root@localhost mxl5_test]# cat /sys/class/net/ens1f1/settings/hfunc
Operational hfunc: xor
Supported hfuncs: xor toeplitz
[root@localhost mxl5_test]# ethtool --show-rxfh ens1f1
RSS hash key:
2a:e7:34:ef:fa:33:d2:d9:e9:8c:49:c9:88:83:76:ef:ea:5f:62:c2:58:ce:41:0f:6f:f2:f8:4b:aa:23:73:e5:f9:7c:0e:73:a0:e7:88:ce
支持rss
echo toeplitz > /sys/class/net/ens1f1/settings/hfunc
OFED
ofed_info -s
rpm -qa | grep rdma
mlx5 DPDK編譯
下載Linux驅動
wget http://www.mellanox.com/downloads/ofed/MLNX_EN-4.3-1.0.1.0/mlnx-en-4.3-1.0.1.0-rhel7.4-x86_64.tgz
下載這個 MLNX_OFED_LINUX-4.3-1.0.1.0-rhel7.3-x86_64.tgz
DPDK官網(wǎng)參考
http://doc.dpdk.org/guides/nics/mlx5.html
http://doc.dpdk.org/guides-16.11/nics/mlx5.html
應用編譯
linkFlags += "-Wl,-lrte_pmd_mlx5 -Wl, -libverbs"
問題
1.dpdk編譯錯誤, MLX5_RSS_HF_MASK 未聲明.
dpdk-16.11.6/drivers/net/mlx5/mlx5_ethdev.c:661:34: 錯誤:‘MLX5_RSS_HF_MASK 未聲明(在此函數(shù)內第一次使用)
dpdk-16.11 dpdk-16.11.4可以編譯通過, dpdk-16.11.5之后不能編譯通過.
可能的解決方法:
選擇正確的Mellanox OFED版本.
不同的OFED版本對應的功能可能不能, 需要查看release說明, 并實際測試.
dpdk16.11 -> Mellanox OFED3.4 NOK
dpdk17.11 -> Mellanox OFED4.2 OK
dpdk18 -> Mellanox OFED4.2/4.3 OK
建議使用: dpdk-17.11.3, 配合Mellanox OFED4.2
./mlnxofedinstall --upstream-libs --dpdk
2.應該下載MLNX_OFED包
參考
https://community.mellanox.com/docs/DOC-2489
http://doc.dpdk.org/guides/nics/mlx5.html
http://doc.dpdk.org/guides-16.11/nics/mlx5.html
https://www.openfabrics.org/index.php/openfabrics-software.html
http://www.mellanox.com/page/products_dyn?product_family=26&mtag=linux
https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt