vpp安装运行

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 def

有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/

编译安装运行参考http://blog.csdn.net/shaoyunzhe/article/details/
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,如下图所示

vpp安装运行

开发一般编译测试版,执行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













































































































版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222729.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午3:06
下一篇 2026年3月17日 下午3:07


相关推荐

  • sap concur报销系统_SAP NetWeaver

    sap concur报销系统_SAP NetWeaver启动orion后,注册用户登录后,默认的地址是localhost:8080/edit/edit.html,这是页面提示了accessdenied,google了很久,有蛮多人遇到此问题,有人说需要把地址该问localhost:8080/webide/index.html,但我修改后还是会报此错误,后面看了有人说需要更新JDK的版本,后面下了JDK8,按装完成后,再启动orion,输入地址ocal…

    2026年4月13日
    2
  • java如何实现服务降级_Hystrix服务降级

    java如何实现服务降级_Hystrix服务降级##注意Hystrix默认的服务降级时长是1秒钟.因为网络波动,这个值在正式环境中需要调整一下.##导入包~~~org.springframework.cloudspring-cloud-starter-netflix-hystrix2.0.1.RELEASE~~~##启动类~~~packagecom.like;importorg.springframework.boot.SpringA…

    2022年6月9日
    56
  • Capacitor电容

    Capacitor电容capacitor 无正负极性 capelectroli 有极性 实际中不能接反 否则电容会烧毁或爆炸 MULTISIM 仿真中接反会有漏阻存在 但不会烧毁 电容的分类按结构可分为 固定电容 可变电容 微调电容 按介质材料可分为 气体介质电容 液体介质电容 无机固体介质电容 有机固体介质电容 电解电容 按极性可分为 有极性电容和无极性电容 电容的作

    2026年3月17日
    1
  • java怎么运行_怎样启动JAVA?「建议收藏」

    java怎么运行_怎样启动JAVA?「建议收藏」展开全部在Android中启动Java程序其实有很多种方式,现总结如下一、在Android应用程序中e69da5e887aa62616964757a686964616f31333363373732发送Intent启动Android应用程序这个方式最简单,最常用。在此不在累述。关于Intent的更多内容请阅读《Intent技术简介》二、在shell控制台通过am命令发送Intent来启动Androi…

    2022年7月7日
    44
  • 客户端和服务器不支持一,客户端和服务器不支持常用的 SSL 协议版本或加密套件。导致此问题的原因通常是服务器要求使用 SSLv3…

    客户端和服务器不支持一,客户端和服务器不支持常用的 SSL 协议版本或加密套件。导致此问题的原因通常是服务器要求使用 SSLv3…您的问题是:“客户端和服务器不支持常用的SSL协议版本或加密套件。导致此问题的原因通常是服务器要求使用SSLv3服务器加密别的网站都可以正常打开想打开这样的网站需要怎么设置工具Internet高级安全里面SSL1SSL2点对号也不行原理的少说结果我能打开网站就好”回答:你好,这是chrome内核的浏览器的实验性功能设置不正确导致的。下面附上完美解决方案。请按以下步骤…

    2022年5月5日
    4.3K
  • 小程序成腾讯“龙虾”微信新入口,未来支持语音、图片等多模态交互

    小程序成腾讯“龙虾”微信新入口,未来支持语音、图片等多模态交互

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号