DPDK L2FWD使用

2018-11-19  本文已影响0人  简Ki

参考文献:
http://aidaiz.com/dpdk_l2fwd/
https://blog.csdn.net/cling60/article/details/77920413
https://www.jianshu.com/p/39b0c6c3eb62
如有侵权,请联系删除
L2FWD(L2 forwarding sample application) 实现了第二层(链路层)的数据包转发。

相关版本配置信息

CenOS 7.2.1511
2核2线程 (4 lcores)
内存4GB
3 NICS
DPDK17.08
pktgen 3.4.2

编译

export RTE_SDK=/root/dpdk-stable-17.08.1        DPDK的安装目录
export RTE_TARGET=x86_64-native-linuxapp-gcc     DPDK的目标环境目录
cd /(RTE_SDK)/example/l2wfd
make

运行

./build/l2fwd -c f -n 4 -- -q 4 -p 0x3
表示,分配给4个逻辑内核,每个内核分别有4个收发队列,而一共分配了16个端口。
参数详解
./build/l2wfd [EAL options] -- -p PORTMASK [-q NQ -T t]

测试

./build/l2fwd -c 0x3 -n 4 -- -p 3 -q 1
本例中实现了相邻端口之间的相互转发。比如一共4个端口可用,那么端口1收到数据后会转发给端口2,端口2收到数据后会转发给端口1,端口3和端口4也会相互转发。

pktgen发包到l2fwd转发

./app/x86_64-native-linuxapp-gcc/pktgen -l 0-1 -n 3 -- -P -m "[1].0"
set 0 dst ip 192.168.74.132
set 0 dst mac 00:0c:29:45:e2:b9
set 0 count 1000
start 0
上一篇 下一篇

猜你喜欢

热点阅读