FD.IO-VPP研究及使用一(安装和基本使用)

宿主机要求

vpp对虚拟机或者物理机的cpu、内存均有要求,CPU最好用intel系列,内存给到4G左右,系统推荐用ubuntu16.04以上。
本文是基于ubuntu16.04,Intel(R) Xeon(R) CPU,内存4g的环境基础

安装:

一,通过fd.io官网源码下载编译

下载源码:git clone https://gerrit.fd.io/r/vpp
安装依赖:apt-get install -y python-cffi python-pycparser iproute iproute2 libc-ares2 libudev-dev numactl wget
注:各个版本的编译方法都不一样,列举两个版本的编译方法如下

#18.04的vpp编译:
cd vpp
git checkout v18.04
make install-dep  #下载vpp编译所需的依赖
sed -i '/RTE_EAL_IGB_UIO/ {s/n/y/g;}'  dpdk/Makefile  #打开IGB_UIO驱动选项(有些虚拟机使用默认驱动会看不到网卡)
cd build-root
make V=0 PLATFORM=vpp TAG=vpp_debug install-deb  #编译出来的是debug版本,适合开发过程但会影响性能,正常版本去掉TAG=vpp_debug
#18.10的vpp编译:
cd vpp
git checkout v18.10
make install-dep 
sed -i '/RTE_EAL_IGB_UIO/ {s/n/y/g;}' build/external/packages/dpdk.mk
cd build-root
make V=0 PLATFORM=vpp TAG=vpp_debug install-deb  

编译大概20分钟左右,完成后会生成一堆deb包解压即可。
在这里插入图片描述

二,通过源apt或yum下载

参考官网:https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages

运行

1, 设置巨页

mkdir /mnt/huge
echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
mount -t hugetlbfs nodev /mnt/huge

2 ,加载驱动

modprobe uio
insmod /vpp/build-root/build-vpp_debug-native/dpdk/dpdk-stable-18.02.1/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko  

3 ,修改vpp配置文件

首先查看网卡pci,指定哪几个网卡被dpdk接管
首先查看网卡pci,指定哪几个网卡被dpdk接管
注:官网对startup.conf的介绍:https://wiki.fd.io/view/VPP/Command-line_Arguments

https://fdio-vpp.readthedocs.io/en/latest/gettingstarted/users/configuring/startup.html

修改/etc/vpp/startup.conf

unix {
  nodaemon
  log /tmp/vpp.log
  full-coredump
  #exec /tmp/up_interface    //开启vpp执行的配置脚本
  cli-listen /run/vpp/cli.sock   //或者cli-listen 0:5002,可以使其他设备通过telnet ip 5002 登录
  gid vpp
}

api-trace {
  on
}

api-segment {
  gid vpp
}

cpu {
        main-core 1
        corelist-workers 0,2,3  //在使用QAT的时候,并不是工作线程越多性能越好
        //详细配置:https://zhaozhanxu.com/2016/04/26/VPP/2016-04-26-VPP-Work-Mode/
     
}

dpdk {
         dev 0000:02:01.0 {
                num-rx-queues 2
         }
         dev 0000:02:02.0 {
                num-rx-queues 2
         }
        uio-driver igb_uio
        #vdev crypto_aesni_mb0  //开启crypto加解密引擎,用于提升ipsec加解密效率
        #vdev crypto_aesni_mb1
        #num-mbufs 128000
        #socket-mem 2048,2048
        #no-multi-seg
}

4、 启动vpp

三种方式:
1:service vpp restart
2:vpp -c /etc/vpp/startup.conf
3: telnet x:x:x:x 5002

使用

简单命令行操作参考官网:https://wiki.fd.io/view/VPP/Command-line_Interface_(CLI)_Guide

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页