美文网首页
DPDK L2FWD使用

DPDK L2FWD使用

作者: 简Ki | 来源:发表于2018-11-19 08:28 被阅读0次

参考文献:
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]

  • EAL options
    • DPDK EAL的默认参数,必须参数为-c COREMASK -n NUM。
    • COREMASK:一个十六进制位掩码表示分配的逻辑内核数量。
    • NUM:一个十进制整数表示每个逻辑内核的内存通道数量。
  • -p PORTMASK
    PORTMASK:一个十六进制位掩码表示分配的端口数量。0x3是指 后两位为1,也就是起点两个端口
  • -q NQ
    NQ:表示分配给每个逻辑内核的收发队列数量。
  • -T t
    t: 表示打印统计数据到屏幕上的时间间隔,默认为10秒。

测试

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

pktgen发包到l2fwd转发

  • 测试环境
    两个虚拟机VM1,VM2


  • 修改l2fwd源码(examples/l2fwd/main.c )
    屏蔽开启混杂模式这一行rte_eth_promiscuous_enable(portid);
    然后再重新编译新的l2fwd。
  • 运行编译后的l2fwd
    ./build/l2fwd -c 0x3 -n 4 -- -p 3 -q 1

    发现在非混杂模式下,端口没有收到包,因此没有转发。
  • 运行pktgen
./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

相关文章

  • DPDK L2FWD使用

    参考文献:http://aidaiz.com/dpdk_l2fwd/https://blog.csdn.net/c...

  • DPDK的L2FWD实践

    10.5.39.242充当l2fwd转发器 用10.5.39.241的1口发包,2口收包 10.5.39.241的...

  • DPDK简单使用

    一、快速使用 官网下载DPDK。 解压: tar –xf dpdk.tar cd dpdk 配置: make co...

  • DPDK简单example的阅读——l2fwd

    从大四开始嚷嚷着要学DPDK,一直没有静下心来看源码,拖了两年到现在才开始钻研DPDK的简单应用。二层转发是DPD...

  • 非root用户使用dpdk初始化失败

    非root用户使用dpdk初始化失败 错误内容 非root用户使用dpdk初始化失败时(root用户没有问题),报...

  • centos7 安装DPDK

    1.DPDK下载 下载dpdk18.05: wget http://fast.dpdk.org/rel/dpdk...

  • 安装使用DPDK

    mTCP中使用DPDK将网卡上的数据提取到用户态,然后经过用户态的TCP/IP协议进行处理。DPDK全称Data ...

  • DPDK PDUMP使用

    参考文献:http://syswift.com/315.htmlhttps://www.cnblogs.com/y...

  • DPDK PKTGEN使用

    参考文献:https://www.jianshu.com/p/2229854a0d38https://blog.c...

  • DPDK编程指南(翻译)( 三十一)

    31. 开发套件构建系统 DPDK 需要一个构建系统用于编译等操作。 本节介绍 DPDK 框架中使用的约束和机制。...

网友评论

      本文标题:DPDK L2FWD使用

      本文链接:https://www.haomeiwen.com/subject/rdimfqtx.html