/root/dpdk/dpdk-21.05
export RTE_SDK=’/root/dpdk/dpdk-19.02’
grub2-set-default ‘4.18.0-305.10.2.el8_4.x86_64’
export DESTDIR=’/home/wireshark’
export RTE_ARCH=“x86_64”
export RTE_SDK=’/root/dpdk1/dpdk-stable-19.08.2’
export RTE_TARGET=x86_64-native-linuxapp-gcc
export DESTDIR=‘/root/dpdk1/dpdk-stable-19.08.2/dpdk-pdump’
export DESTDIR=’/home/wireshark’
export RTE_SDK=‘pwd’
=====================
usertools/dpdk-devbind.py --bind=igb_uio enp7s0
3、编译
make install T=x86_64-native-linuxapp-gcc
cp -rf pcap/* /
gcc 64 > /sys/devices/devices/node/node0/hu
CONFIG_RTE_LIBRTE_PMD_PCAP=y ($(RTE_SDK)/config/common_base)
[root@localhost libpcap-1.10.1]# cd /etc/
[root@localhost etc]# vi ld.so.conf
./build/app/dpdk-pdump – --pdump ‘port=0,queue=,rx-dev=/tmp/test.pcap’
./build/app/dpdk-pdump – --pdump 'port=1,queue=,rx-dev=/home/tt.pcap’
./testpmd -c 0x03 -n 4 – -i --port-topology=chained
=============================
pdump 启动方法:
root@sword:/home/sword/dpdk-17.08/app/pdump# ./build/app/dpdk-pdump – --pdump ‘port=0,queue=*,rx-dev=/home/test.pcap’
=============================
使用pktgen发送流量并用testpmd测试
在主机A开启pktgen,并在主机B开启testpmd,结果如下,但和主机A处的发送流量并不对应,母鸡原因。
[root@localhost pktgen-dpdk-pktgen-19.08.0]# ./app/x86_64-native-linuxapp-gcc/pktgen -l 0-2 -n 3 – -P -m “[1].0, [2].1” -s 1:/home/test1.pcap
./pktgen -l 0-2 -n 3 – -P -m “[1].0, [2].1” -s 1:/home/test.pcap
用命令tshark抓包
if (rte_eal_process_type() == RTE_PROC_PRIMARY){
send_ring = rte_ring_create(_PRI_2_SEC, ring_size, rte_socket_id(), flags);
recv_ring = rte_ring_create(_SEC_2_PRI, ring_size, rte_socket_id(), flags);
message_pool = rte_mempool_create(_MSG_POOL, pool_size,
string_size, pool_cache, priv_data_sz,
NULL, NULL, NULL, NULL,
rte_socket_id(), flags);
} else {
recv_ring = rte_ring_lookup(_PRI_2_SEC);
send_ring = rte_ring_lookup(_SEC_2_PRI);
message_pool = rte_mempool_lookup(_MSG_POOL);
}
配置网卡
/etc/sysconfig/network-scripts
ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:c7:69:a7 txqueuelen 1000 (Ethernet)
RX packets 177 bytes 36009 (35.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:c7:69:b1 txqueuelen 1000 (Ethernet)
RX packets 171 bytes 35649 (34.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
grub2-mkconfig -o /boot/grub2/grub.cfg
cat /proc/cmdline
=================================
大页内存备份
GRUB_CMDLINE_LINUX=“crashkernel=auto resume=/dev/mapper/cl-swap rd.lvm.lv=cl/root rd.lvm.lv=cl/swap console=ttyS0”
================================
app/x86_64-native-linuxapp-gcc/app/pktgen -c 0x3 -n 3 --proc-type auto --socket-mem 512 – -P -T -m ‘[1:1].0’
===================================
VM1 :
192.168.18.174 52:54:00:59:e7:99
VM2:
192.168.18.175 52:54:00:9d:c4:bb
set 0 dst ip 192.168.18.175
set 0 dst mac 52:54:00:9d:c4:bb
set 0 count 10000
start 0
set 1 dst ip 192.168.18.175
set 1 dst mac 52:54:00:9d:c4:bb
set 1 count 10000
start 1
44:6a:2e:e4:3c:33
str
virt-install --name=gurobi --memory=512,maxmemory=1024 --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7 --location=/tmp/CentOS-8.3.2011-x86_64-dvd1.iso --disk path=/kvm_data/gurobi.img,size=10 --bridge=br0 --graphics=none --console=pty,target_type=serial --extra-args=“console=tty0 console=ttyS0”
virt-install --name=centos8-init -r 8192 --vcpus=4 --os-type=linux --os-variant=centos8 --location=/tmp/CentOS-8.3.2011-x86_64-dvd1.iso --disk path=/tmp/vm/gurobi.img,size=120 --network bridge=br0 --graphics none --console=pty,target_type=serial --extra-args=“console=tty0 console=ttyS0” --description=“centos8初始环境”
———————————
virsh iface-bridge enp2s0f1 br0
—————
virsh list – all 看看有多少台虚拟机
virsh console xxxx(虚拟机名字) 进入自己的虚拟机
===================
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="
(
s
e
d
′
s
,
r
e
l
e
a
s
e
.
∗
(sed 's, release .*
(sed′s,release.∗,g’ /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL=“serial console”
GRUB_SERIAL_COMMAND=“serial”
GRUB_CMDLINE_LINUX=“default_hugepagesz=1G hugepagesz=1G hugepages=128 crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet”
GRUB_DISABLE_RECOVERY=“true”
GRUB_ENABLE_BLSCFG=true
===============================================
virt-clone --original centos8-init --name test-3 --file /tmp/vm/test3.img
=====================
enp5s0f1
tcpdump -i ens9 -vnn host 192.168.66.182
virsh attach-interface test-3 --type bridge --source br1 --model virtio
=====================
virsh attach-interface oeltest01 --type bridge --source br1 --model virtio
=====================
./l2fwd -c 4 -n 4 – -q 4