DPDK高性能处理框架VPP
VPP 环境安装
$ git clone -b stable/1801 https://github.com/FDio/vpp.git
$ ./extras/vagrant/build.sh && make
在编译成功以后,会生成上图红色的 deb 表
$ dpkg –i vpp-lib_18.01.2-1~g9b554f3_amd64.deb
$ dpkg –i vpp_18.01.2-1~g9b554f3_amd64.deb
$ dpkg –i vpp-dev_18.01.2-1~g9b554f3_amd64.deb
$ dpkg –i vpp-plugins_18.01.2-1~g9b554f3_amd64.deb
执行完成以后,在 /etc/vpp/startup.conf
在 /usr/lib/vpp_plugins/
在 conf 文件里面添加了三个 dev 网卡
Startup.conf 里面的 pci 地址
编写 Startup.conf
如果需要使用 vppctl,需要 cli-listen /run/vpp/cli.sock
再 dpdk 的运行环境准备就绪,
将 eth0/eth1/eth2 关闭
$ ifconfig eth0 down
$ ifconfig eth1 down
$ ifconfig eth2 down
启动 vpp,
$ vpp -c /etc/vpp/startup.conf
停止 vpp
$ service vpp stop
Vpp 命令操作
vpp# show int
vpp# set interface state GigabitEthernet13/0/0 up
vpp# set interface ip address GigabitEthernet13/0/0 192.168.0.119/24
配置 vlan
vpp# create bridge-domain 10
vpp# set interface l2 bridge GigabitEthernet3/0/0 10
vpp# create sub-interface GigabitEthernet3/0/0 10 dot1q 10
vpp# show bridge-domain 10 detail
配置 veth
$ ip link add name vpp1out type veth peer name vpp1host
$ ip addr show vpp1host
$ ip link set dev vpp1out up
$ ip link set dev vpp1host up
配置 vpp1host ip 地址
$ ip addr add 192.168.3.128/24 dev vpp1host
$ ip addr show vpp1host
VPP 添加插件 plugin
实现一个打印包头信息的插件,源代码如下:
修改 src/configure.ac修改 src/plugins/Makefile.am
# make wipe
# make build
# make run
执行结果:
Windows 物理机 ping 192.168.0.120