vpp+dpdk安装,使用一个路由例子

Posted 一个来自地狱的天使

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vpp+dpdk安装,使用一个路由例子相关的知识,希望对你有一定的参考价值。

本人使用时centos7

建议在安装的时候,建立一个空的文件夹,然后里面使用下面这些命令

mkdir vppcode //建立一个文件夹 

解决一些软件依赖问题
sudo yum install epel-release mbedtls python36
安装vpp
sudo yum install vpp
sudo yum install vpp vpp-plugins vpp-devel vpp-debuginfo vpp-ext-deps vpp-api-python vpp-api-lua vpp-api-java
yum list vpp*
sudo systemctl restart vpp
启动是
vppctl

vpp+dpdk安装,使用一个路由例子_vpp+dpdk

dpdk的安装

去dpdk官网下载一个19稳定版(stable)

cd dpdk-xx // 进入你刚刚下载好的文件夹里面,使用usertools/dpdk-setup.sh启动脚本编译

vpp+dpdk安装,使用一个路由例子_vpp+dpdk_02

选择是39号,安装dpdk运行时候的环境,一般会缺少numa等这些,缺少就补啥,成功就行。

vpp+dpdk安装,使用一个路由例子_vpp_03

从43到49,都按一边,从43开始

vpp+dpdk安装,使用一个路由例子_vpp_04

46和47的时候,我一般是使用128,也可以更大

48主要是查看网卡信息,49才是绑定,绑定时候

例子,0000:02:08.0这个是我们输入绑定的,Active这个表面当前这个网卡在使用,是无法被绑定的,只能另外开一个终端,使用ifconfig eth5 down(我这里是eth5,你用就改成你自己的),然后才可以绑定,一定要线down,然后再输入0000:02:08.0进行绑定。

0000:02:08.0​ 82545EM Gigabit Ethernet Controller (Copper) 100f if=eth5 drv=e1000 unused=igb_uio,uio_pci_generic ​*Active*

vpp+dpdk安装,使用一个路由例子_dpdk_05

之后就是修改vpp的启动文件

首先查看一下cpu个数

输入 命令 lscpu

我的cpu个数是1个

进入这个vpp启动的配置文件

sudo vim /etc/vpp/startup.conf

unix 
nodaemon
log /var/log/vpp/vpp.log
full-coredump
cli-listen /run/vpp/cli.sock
gid vpp


dpdk
dev default
num-rx-queues 1
num-tx-queues 1
num-rx-desc 512
num-tx-desc 512
vlan-strip-offload on

dev 0000:04:00.0
dev 0000:05:00.0
uio-driver vfio-pci
socket-mem 2048,2048
no-tx-checksum-offload

里面的dev 0000:04:00.0这个就是你之前绑定的网卡号,把你绑定的替换这个就行了。里面的东西都要改动。

查看vpp里面的网卡

vpp+dpdk安装,使用一个路由例子_路由例子_06

set interface state GigabitEthernet2/2/0  up
set interface state GigabitEthernet2/3/0 up

set interface ip address GigabitEthernet2/2/0 192.168.6.100/24
set interface ip address GigabitEthernet2/3/0 192.168.7.100/24

show interface
  • PC1: 设置IP 192.168.6.110/24,网关 192.168.6.100
  • PC2: 设置IP 192.168.7.110/24,网关 192.168.7.100
  • PC1和PC2能互相ping

PC1和PC2可以使用另外两张网卡

ping -S 192.168.6.110 192.168.7.110

vpp+dpdk安装,使用一个路由例子_vpp_07


以上是关于vpp+dpdk安装,使用一个路由例子的主要内容,如果未能解决你的问题,请参考以下文章

FD.io/VPP — VNF 应用场景

vpp--dpdk编译

Cisco VPP 简单介绍

突破Linux内核网络协议栈瓶颈的技术方案-dpdk+vpp

tsnr--基于vpp+dpdk的高性能防火墙

DPDK 学习 网络协议栈-vpp-OvS-DDos-虚拟化专家之路