pktgen+dpdk安装(20201222)

pktgen+dpdk官方指导文档: Getting Started with Pktgen — Pktgen 3.2.4 documentation

pktgen源码:pktgen-dpdk - Traffic generator powered by DPDK

dpdk源码:DPDK

文件:dpdk-19.08.2  pktgen-19.12.0

安装:

1、编译DPDK库

cd /usr/src/dpdk

export RTE_SDK=/usr/src/dpdk

export RTE_TARGET=x86_64-native-linuxapp-gcc

export EXTRA_CFLAGS='-O0 -g'   

make install T=x86_64-native-linuxapp-gcc

2、编译pktgen

cd /usr/src//pktgen

make

安装pktgen   make报错:

 解决:pktgen.conf 文件里是dpdk lib库路径

export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig

ldconfig

安装pktgen   make报错:

解决:下载https://www.lua.org/ftp/lua-5.3.6.tar.gz

tar xvf lua-5.3.6.tar.gz

cd   lua-5.3.6

make linux

make install

lua make linux报错:

解决:yum -y  install libtermcap-devel ncurses-devel libevent-devel readline-devel

安装pktgen   make报错:

解决:yum  -y install   libpcap libpcap-devel

3、安装vfio_pci

modprobe vfio_pci

4、绑定网卡eth0( 0000:1a:00.1)

/usr/src/dpdk/usertools/dpdk-devbind.py -b vfio-pci 0000:1a:00.1

5、启动pktgen

/usr/src//pktgen/app/x86_64-native-linuxapp-gcc/app/pktgen -c 0x3 -n 3 --proc-type auto --socket-mem 512    -- -P -T -m '[1:1].0'

启动参数参考:Running Pktgen — Pktgen 3.2.4 documentation

6、基本命令

输入help可以打印帮助信息,0是port的编号

Pktgen command line directory format — Pktgen 3.2.4 documentation

page main 操作(单ip 单vlan 单mac操作),默认进入page main

start 00 port发包,收包是默认动作
stop 0 0 port停止发包
set 0 dst  mac  00:32:50:91:33:20设置dst mac
set 0  dst ip 192.168.10.1设置目的ip
set 0 src ip 192.168.10.3/24设置源 ip
enable 0 vlan 开启vlan
set 0 vlan 1001设置vlan id
set 0 size 512设置包大小
set 0 rate 20 设置最大发送速率的百分比(全速是1400万pps)

 page range操作(多ip 多vlan 多mac操作), page range 进入此页面

enable all range   或者enable <port> range开启range后,才能发送变化流
range <portlist> src|dst mac <SMMI> <etheraddr> - Set destination/source MAC address
      e.g: range 0 src mac start 00:00:00:00:00:00
           range 0 dst mac max 00:12:34:56:78:90
      or  range 0 src mac 00:00:00:00:00:00 00:00:00:00:00:00 00:12:34:56:78:90 00:00:00:01:01:01
设置mac范围
range <portlist> src|dst ip <SMMI> <ipaddr>   - Set source IP start address
      e.g: range 0 dst ip start 0.0.0.0
           range 0 dst ip min 0.0.0.0
           range 0 dst ip max 1.2.3.4
           range 0 dst ip inc 0.0.1.0
       or  range 0 dst ip 0.0.0.0 0.0.0.0 1.2.3.4 0.0.1.0
设置ip范围
range <portlist> proto tcp|udp                - Set the IP protocol type设置协议
range <portlist> src|dst port <SMMI> <value>  - Set UDP/TCP source/dest port number
       or  range <portlist> src|dst port <start> <min> <max> <inc>
设置端口范围
range <portlist> vlan <SMMI> <value>          - Set vlan id start address
      or  range <portlist> vlan <start> <min> <max> <inc>
设置vlan范围
range <portlist> size <SMMI> <value>          - Set pkt size start address
      or  range <portlist> size <start> <min> <max> <inc>
设置pkt size范围

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值