vpp安装运行

有2点:

1、如果编译完没有dpdk,比如没有igb_uio.ko,可以自己编译安装,见我另一篇博文

2、vpp编译出来的RPM安装后,一定要根据个人及其情况进行配置,不要直接reboot,可能导致起不来

/etc/sysctl.d/80-vpp.conf (重要,设置大页) 和 99-systl.conf

/usr/lib/sysctl.d/00-system.conf 和 50-default.conf

3、必须的vpp rpm包:vpp-lib 、 vpp-plugins 、vpp


以下是拷贝的网络上兄弟的,可参考

========================编译安装===============================

编译安装 参考http://blog.csdn.net/icebluechao/article/details/51208560
编译安装运行参考http://blog.csdn.net/shaoyunzhe/article/details/53096932
1、 下载代码: git clone https://gerrit.fd.io/r/vpp
2、  进入目录并且查找更新依赖: cd vpp; make install-dep;
3、  生成Makefile: cd vpp/build-root;make distclean;./bootstrap.sh;

-----4、  进行编译:make V=0 PLATFORM=vpp TAG=vpp install-rpm;或者make V=0 PLATFORM=vpp TAG=vpp install-deb;

4、 cd vpp, 执行make,如下图所示


开发一般编译测试版,执行make build编译vpp主程序,执行make plugins编译插件,make wipe清除,带有release的就是发型版本了。dpdk不用专门下载,在执行make build的时候会自动下载dpdk到vpp/dpdk目录下。

只要执行make build和make plugins后,vpp基本就编译成功了

编译成功后vpp位置: vpp/build-root/install-vpp-native/vpp/bin/vpp

编译成功后插件位置:vpp/build-root/install-vpp-native/plugins/lib64/vpp_plugins/

igb_uio.ko位置:vpp/build-root/install-vpp-native/dpdk/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko

vpp/build-root/install-vpp-native/dpdk/kmod/igb_uio.ko

igb_uio.ko可以说是dpdk编译后生成的网卡驱动,vpp好像不能自动加载igb_uio.ko,需要自己手动加载insmodigb_uio.ko

vpp运行加载插件默认位置是/usr/lib/vpp_plugins/ ,没有yum安装过vpp的话需要自己手动创建这个目录

5、  包安装:rpm –ivh*.rpm或者dpkg –i *.deb
编译成功后vpp位置: vpp/build-root/install-vpp-native/vpp/bin/vpp 
========================运行准备===============================
插入uio模块 modprobe uio
插入igb_uio模块 insmod  /home/lwh/vpp/build-root/rpm/vpp-17.01/build-root/install-vpp-native/dpdk/build/lib/librte_eal/linuxapp/igb_uio/igb_uio.ko


设置大页
mkdir /mnt/huge 
mount -t hugetlbfs nodev /mnt/huge
设置大页数目 echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
查看大页分配数目 cat /proc/meminfo| grep Huge   


查看网卡pci号,并绑定绑卡驱动为igb_uio
cd /home/lwh/vpp/build-root/build-vpp-native/dpdk/dpdk-16.07/tools/
查看网卡使用驱动状态 ./dpdk-devbind.py --status
解除网卡的驱动 ./dpdk-devbind.py -u 0000:06:00.0
加载igb_uio驱动到网卡 ./dpdk-devbind.py --bind=igb_uio 0000:06:00.0


编辑配置文件/etc/vpp/startup.conf内容如下
##################/etc/vpp/startup.conf  start#####################
#参考网站https://wiki.fd.io/view/VPP/Command-line_Arguments
#参考代码中自带的 startup.conf 文件中的解释说明
unix {
  #交互模式
  interactive 
  
  #使用telnet 127.0.0.1 5002访问
  cli-listen 127.0.0.1:5002 
  
  log /tmp/vpp.log
  full-coredump
}


cpu {
  #主线程运行在0核
  main-core 0 
  
  #工作线程运行的cpu 16位掩码
  coremask-workers 2 
}


dpdk {
  #使用的驱动
  uio-driver igb_uio
  #使用的dev 及队列数
  dev 0000:05:00.0 {num-rx-queues 2}
  dev 0000:05:00.1 {num-rx-queues 2}
  num-mbufs 65536
  socket-mem 1024
}


api-trace {
  on
}


api-segment {
  gid vpp
}
###########################/etc/vpp/startup.conf  end######################################## 


========================运行vpp===============================
开启vpp systemctl start vpp.service
关闭vpp systemctl stop vpp.service
查看vpp状态 systemctl status vpp.service


vpp基本命令
交互模式
连接vpp telnet 127.0.0.1 5002
show interface
show ip arp
show ip fib
show error
clear run
show run
set int state GigabitEthernet6/0/0 up
set int ip address GigabitEthernet6/0/0 X.X.X.X/24
show threads
show dpdk interface placement
set interface l2 bridge GigabitEthernet6/0/0 1


非交互模式
vppctl show interface
vppctl show ip arp
vppctl show ip fib
vppctl show error
vppctl clear run
vppctl show run
vppctl set int state GigabitEthernet6/0/0 up
vppctl set int ip address GigabitEthernet6/0/0 X.X.X.X/24
vppctl show threads
vppctl show dpdk interface placement
vppctl set interface l2 bridge GigabitEthernet6/0/0 1


命令行参考
https://wiki.fd.io/view/VPP/Command-line_Interface_(CLI)_Guide
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值