ubuntu17.10下testpmd-dpdk pktgen-dpdk的安裝

安裝依賴關(guān)系

apt install make -y

apt install make-guile -y

apt install gcc build-essential -y

apt install libnuma-dev -y

編輯sysctl.conf,設(shè)置2M大頁的數(shù)量

vm.nr_hugepages=1024

下載并安裝dpdk最新版

mkdir -p /root/dpdk

cd /root/dpdk/

wget http://fast.dpdk.org/rel/dpdk-17.11.tar.xz

tar xf dpdk-17.11.tar.xz

export DPDK_DIR=/root/dpdk/dpdk-17.11

export DPDK_TARGET=x86_64-native-linuxapp-gcc

export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET

cd $DPDK_DIR

make install T=$DPDK_TARGET DESTDIR=install

編譯testpmd

Build the test-pmd application:

cd app/test-pmd

export RTE_SDK=$DPDK_DIR

export RTE_TARGET=$DPDK_TARGET

make

cp? /root/dpdk/dpdk-17.11/app/test-pmd/testpmd /root/dpdk/

編譯pktgen-dpdk

apt-get install libpcap-dev -y

export DPDK_DIR=/root/dpdk/dpdk-17.11

export DPDK_TARGET=x86_64-native-linuxapp-gcc

export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET

mkdir -p /dev/hugepages

mount -t hugetlbfs hugetlbfs /dev/hugepages

modprobe uio

insmod $DPDK_BUILD/kmod/igb_uio.ko

export RTE_SDK=$DPDK_DIR

export RTE_TARGET=$DPDK_TARGET

wget? http://dpdk.org/browse/apps/pktgen-dpdk/snapshot/pktgen-3.4.9.tar.gz

cd /root/

tar zxvf? pktgen-3.4.9.tar.gz

cd /root/pktgen-3.4.9

make

cd /root/pktgen-3.4.9/tools

./setup.sh

cp? /root/pktgen-3.4.9/app/x86_64-native-linuxapp-gcc/pktgen? /root/pktgen-3.4.9/

如何使用testpmd

testpmd的測試腳本

root@ubuntu241-192-168-10-241:~# cat start-test.sh

export DPDK_DIR=/root/dpdk/dpdk-17.11

export DPDK_TARGET=x86_64-native-linuxapp-gcc

export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET

export RTE_SDK=$DPDK_DIR

export RTE_TARGET=$DPDK_TARGET

mkdir -p /dev/hugepages

mount -t hugetlbfs hugetlbfs /dev/hugepages

modprobe uio

insmod $DPDK_BUILD/kmod/igb_uio.ko

$DPDK_DIR/usertools/dpdk-devbind.py --status

$DPDK_DIR/usertools/dpdk-devbind.py -b igb_uio 0000:00:03.0

cd /root/dpdk/dpdk-17.11/app/test-pmd

./testpmd -l 1,2,3 -n 2? -- -i --rxq=4 --txq=4

啟動后的配置與查看

testpmd> set fwd txonly

testpmd> start

查看模式

testpmd> show config fwd

啟動

testpmd> start

停止

testpmd> stop

查看結(jié)果

testpmd> show port stats all

設(shè)置模式

set fwd rxonly

set fwd txonly

set fwd io

如何使用pktgen-dpdk

pktgen-dpdk1測試腳本

root@ubuntu241-192-168-10-241:~# cat? start-pktgen-test.sh?

export DPDK_DIR=/root/dpdk/dpdk-17.11

export DPDK_TARGET=x86_64-native-linuxapp-gcc

export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET

export RTE_SDK=$DPDK_DIR

export RTE_TARGET=$DPDK_TARGET

export RTE_SDK=$DPDK_DIR

export RTE_TARGET=$DPDK_TARGET

mkdir -p /dev/hugepages

mount -t hugetlbfs hugetlbfs /dev/hugepages

modprobe uio

insmod $DPDK_BUILD/kmod/igb_uio.ko

$DPDK_DIR/usertools/dpdk-devbind.py --status

$DPDK_DIR/usertools/dpdk-devbind.py -b igb_uio 0000:00:03.0

cd /root/pktgen-3.4.9

./pktgen? -l 0,2,3? -n 2 --proc-type auto --socket-mem 1024? --huge-dir /dev/hugepages? --file-prefix pg1? -b 00:09.0 -- -P -T -m '[2:3].0'

啟動后的配置

0 port發(fā)包,收包是默認(rèn)動作

start 0

0 port停止發(fā)包

stop 0

set 0 dst ip 192.168.10.242

set 0 src ip 192.168.10.241/24

set 0 dst mac 52:54:aa:01:01:01

set 0 src mac 52:54:bb:01:01:01

設(shè)置vlan

vlan 0 on

vlanid 0 1000

設(shè)置包大小

set 0 size 512

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容