################################################################################
# HOST 安装必要包
################################################################################
yum -y install fuse fuse-devel
yum -y install kernel-modules-extra
vim /etc/grub2.cfg
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
linux16 /vmlinuz-3.10.0-1127.19.1.el7.x86_64 root=/dev/mapper/centos-root ro crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb LANG=zh_CN.UTF-8 console=tty0 console=ttyS0,115200n8 iommu=pt intel_iommu=on default_hugepagesz=1G hugepagesz=1G hugepages=6
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
################################################################################
# HOST DPDK 配置
################################################################################
su
grep HugePages_ /proc/meminfo
modprobe vfio
modprobe vfio-pci
modprobe uio_pci_generic
chmod a+x /dev/vfio
chmod 0666 /dev/vfio/*
modprobe vhost
modprobe cuse
dpdk-devbind --status
sudo ifconfig enp1s0f0 down
sudo ifconfig enp1s0f1 down
sudo ifconfig enp1s0f2 down
sudo ifconfig enp1s0f3 down
sudo dpdk-devbind --bind=vfio-pci enp1s0f0
sudo dpdk-devbind --bind=vfio-pci enp1s0f1
sudo dpdk-devbind --bind=vfio-pci enp1s0f2
sudo dpdk-devbind --bind=vfio-pci enp1s0f3
dpdk-devbind --status
################################################################################
# HOST 启动 vhost-switch
################################################################################
# 编译 example vhost
cd /home/liufeng/workspace/src/ovs-dpdk/dpdk/examples/vhost
#make RTE_SDK=`pwd`/../.. RTE_TARGET=x86_64-native-linuxapp-gcc
#make RTE_SDK=`pwd`/../.. RTE_TARGET=x86_64-native-linuxapp-gcc V=1
#export RTE_TARGET=x86_64-native-linuxapp-gcc
#export RTE_SDK=`pwd`/../..
rm -rf ./build
#make
#make V=1
make RTE_SDK=`pwd`/../.. RTE_TARGET=x86_64-native-linuxapp-gcc
################################################################################
# HOST 启动 vhost-switch
################################################################################
cd /home/liufeng/workspace/src/ovs-dpdk/dpdk/examples/vhost
./build/vhost-switch -l 0-3 -n 4 --socket-mem 1024 -- -p 0x1 --socket-file /tmp/sock0 --client
./build/vhost-switch -l 0-3 -n 4 --socket-mem 1024 -- -p 0x1 --socket-file /tmp/sock0 --client –stats 5
################################################################################
# HOST VM 配置
################################################################################
tunctl -t tap30
brctl addif br1 tap30
brctl show
ifconfig tap30 promisc up
qemu-system-x86_64 -machine accel=kvm -cpu host -smp sockets=2,cores=2,threads=1 -m 3072M \
-object memory-backend-file,id=mem,size=3072M,mem-path=/dev/hugepages,share=on \
-hda /home/kvm/disk/vm0.img -mem-prealloc -numa node,memdev=mem \
-vnc 0.0.0.0:00 -monitor stdio --enable-kvm \
-netdev type=tap,id=eth0,ifname=tap30,script=no,downscript=no -device e1000,netdev=eth0,mac=12:03:04:05:06:08 \
-netdev tap,id=hostnet1,vhost=on,vhostforce=on,script=no,downscript=no -device virtio-net-pci,netdev=hostnet1,mac=00:00:00:00:00:01 \
-netdev tap,id=hostnet2,vhost=on,vhostforce=on,script=no,downscript=no -device virtio-net-pci,netdev=hostnet2,mac=00:00:00:00:00:02 \
-chardev socket,id=char1,path=/tmp/sock0,server \
-netdev type=vhost-user,id=mynet3,chardev=char1,vhostforce -device virtio-net-pci,netdev=mynet3,id=net1,mac=00:00:00:00:00:03
#brctl addif br2 tap0
#brctl addif br2 tap0
################################################################################
# VM 内部配置 Test PMD
################################################################################
su
grep HugePages_ /proc/meminfo
sudo modprobe vfio
sudo modprobe vfio-pci
chmod a+x /dev/vfio
chmod 0666 /dev/vfio/*
modprobe uio_pci_generic
dpdk-devbind --status
sudo ifconfig eth0 down
sudo ifconfig eth1 down
sudo ifconfig eth2 down
dpdk-devbind --bind=uio_pci_generic eth0
dpdk-devbind --bind=uio_pci_generic eth1
dpdk-devbind --bind=uio_pci_generic eth2
dpdk-devbind --status
# 动态库情况
#testpmd -l 0-1 -d /home/liufeng/workspace/src/dpdk/sdk/lib/librte_pmd_virtio.so -- -i
testpmd -l 0-1 -- -i
testpmd -l 0-1 --socket-mem 128 -- --burst=64 -i
show port stats all
start tx_first
show port stats all