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
在这里插入图片描述

插件 plugin 的原理

在这里插入图片描述

上一篇:【算法】二分查找


下一篇:计算机毕业设计 | 基于SpringBoot的健身房管理系统(附源码)-2,项目技术简介