信息查看
网卡型号查看
lspci |grep -i eth
lspci -vvv | grep -i PCI-ID -A 50 | grep -i "produce name"
Note:
lspci 可能只可以得到 device-id, lspci -vvv 可以得到 设备id和设备型号的
159b 是 设备ID,对应的就是 E810-XXV. 8086代表的是intel 参见:Intel? Ethernet E800 Series devices:
其他信息查看
# dmesg -T |grep -i ddp
# lsmod |grep -i ice
# modinfo ice
# find / -type d -name ddp
DDP
版本选择
安装DDP
默认安装 ice kmod 即可主动安装 DDP。
启动DPVS
1> 设置孤立 cpu,设置大页; 2> 安装 rte_kni 以及 igb_uio 内核模块; 3> 解绑定 ice驱动,绑定 igb_uio; 4> 启动 DPVS;
ice_flow_validate -->ice_flow_process_filter -->ice_flow_valid_attr
中会对 rte_flow的 priority 进行检查;priority 非0的 rte_flow,可能会导致 dpvs 设置 rte_flow失败。
解决:
方法一:
升级到更高的DPDK版本,比如21.11; 20.11应该是检查不通过的。
方法二:
DPVS代码中,rte_flow的 priority 设置为0.
注:设置为0,对于 ice 设备应该是通过的,但是对于 ixgbe/mlx 设备是否有影响未知。
注意事项
DPDK版本选择
DPDK 19.11 及其之后才支持 intel 25G E810-XXV 设备。
- 其他测试方法:查看某个版本的DPDK是否支持某个网卡
1> ethtool -i xxx
查看 网卡驱动;
2> lspci | grep -i eth
得到网卡的pci-id;
3> lspci -s PCI-ID -x
得到某个pci上的网卡的 vendor-id, device-id;
4> 某个版本的 dpdk工具,查看该版本DPDK支持的网卡、驱动:
比如:./dpdk-pmdinfo.py -t ./dpvs
dpvs 是通过该版本的 dpdk 编译而成。
Note:
./dpdk-pmdinfo.py 需要安装 python module elftools
yum install -y python3-pyelftools python-pyelftools
/bin/python3.6 -m pip install --upgrade pip
pip3 install pyelftools
注:
对于此中,使用dpdk 18.11 编译而成的 dpvs, ./dpdk-pmdinfo.py -t ./dpvs 输出的信息,并没有 net_ice 。说明不支持。
参考文档
http://doc.dpdk.org/guides/nics/ice.html
【dpdk ice pmd】
https://www.intel.com/content/www/us/en/search.html?ws=text#q=e810&sort=relevancy&layout=table.
【e810 datasheet】
https://decodezp.github.io/2018/12/18/quickwords6-ddp/
【什么是DDP】
http://fast.dpdk.org/doc/perf/DPDK_20_11_Intel_NIC_performance_report.pdf
【dpdk intel ice驱动网卡性能测试】
https://blog.csdn.net/weixin_37097605/article/details/101514279
【intel 网卡:82599 vs XXV710 】
https://blog.csdn.net/Longyu_wlz/article/details/119791696
【ice 100G 网卡 rx_packets 与 rx_bytes 统计问题】
https://blog.csdn.net/Longyu_wlz/article/details/119843281
【ice 100G 网卡 rss_hash 配置无效】
|