0%

VPP-startup

实习在intel NCLG package process,menter这边主要是做fdio项目里面的,VPP多少涉及一些,前几天想跑一下sweetcomb,终于整了一次VPP。

startup

  • 配置文件在 /etc/vpp/startup.conf,但是也可以用vpp -c xxx.conf开另外的配置文件跑。
  • vpp 可以使用systemctl或者service来启动与控制s

vppctl基本使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vpp# show interface 
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
FortyGigabitEthernet81/0/0 2 down 9000/0/0/0
FortyGigabitEthernet81/0/1 3 down 9000/0/0/0
TenGigabitEthernet3d/0/0 1 down 9000/0/0/0
local0 0 down 0/0/0/0
vpp# show pci
Address Sock VID:PID Link Speed Driver Product Name Vital Product Data
0000:3d:00.0 0 8086:37d2 2.5 GT/s x1 vfio-pci Example VPD RV: 0x d7
0000:3d:00.1 0 8086:37d2 2.5 GT/s x1 i40e Example VPD RV: 0x d7
0000:81:00.0 1 8086:1583 8.0 GT/s x4 vfio-pci XL710 40GbE Controller RV: 0x 86
0000:81:00.1 1 8086:1583 8.0 GT/s x4 vfio-pci XL710 40GbE Controller RV: 0x 86
vpp# show interface address
vpp# show hardware

如何绑定网卡

  • 其实绑定网卡是dpdk的工作,可以参考Binding NIC drivers

    • vpp/extras/vpp_config/script/dpdk-devbind.py可以用于网卡绑定
  • 首先要启用vfio

1
2
3
4
5
6
7
8
sudo modprobe vfio
sudo modprobe vfio_pci # vfio_pci是肯定要用的,但是不确定启用了vfio会不会自动开vfio_pci
sudo lsmod | grep vfio
vfio_pci 49152 3
vfio_virqfd 16384 1 vfio_pci
vfio_iommu_type1 28672 0
vfio 32768 10 vfio_iommu_type1,vfio_pci
irqbypass 16384 5 vfio_pci,kvm
  • 可以使用ifconfig配置网卡,这里的逻辑是:
    • VPP启动的时候会查询没有被使用的网卡并且纳入管理
    • ifconfig eth-name down命令关闭内核对网卡的驱动
    • 重启vpp,在vpp里面就可以看到网卡了

欢迎关注我的其它发布渠道