VPP/Troubleshooting/Vagrant

From fd.io
Jump to: navigation, search



VPP_VAGRANT_NICS disappear after "vagrant halt" or "vagrant reload"

More than likely if you've added a NIC via the above env variable, its ended up an orphan after a "vagrant reload".

(many thanks for Damjan Marion for his help)

Sympton:

  • "ip -o a" doesn't show any "ethx" type interfaces other than "eth0" mgmt
  • on VPP startup (assuming emacs gud-gdb) you see:
 EAL: PCI device 0000:00:03.0 on NUMA socket -1
 EAL:   probe driver: 8086:100e rte_em_pmd
 EAL:   Device is blacklisted, not initializing
 EAL: PCI device 0000:00:08.0 on NUMA socket -1
 EAL:   probe driver: 8086:100e rte_em_pmd
 EAL:   Not managed by a supported kernel driver, skipped

Fix:

  • Don't Panic - there is no need to "reboot" or "vagrant reload --provision"
  • Do following:
 sudo su
 root@localhost:~# lshw -C Network
 *-network:0
      description: Ethernet interface
      product: 82540EM Gigabit Ethernet Controller
      vendor: Intel Corporation
      physical id: 3
      bus info: pci@0000:00:03.0
      logical name: eth0
      version: 02
      serial: 08:00:27:b1:94:b1
      size: 1Gbit/s
      capacity: 1Gbit/s
      width: 32 bits
      clock: 66MHz
      capabilities: pm pcix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
      configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full ip=10.0.2.15 latency=64 link=yes mingnt=255 multicast=yes port=twisted pair speed=1Gbit/s
      resources: irq:10 memory:f0000000-f001ffff ioport:d010(size=8)
 *-network:1 UNCLAIMED
      description: Ethernet controller
      product: 82540EM Gigabit Ethernet Controller
      vendor: Intel Corporation
      physical id: 8
      bus info: pci@0000:00:08.0
      version: 02
      width: 32 bits
      clock: 66MHz
      capabilities: pm pcix cap_list
      configuration: latency=64 mingnt=255
      resources: memory:f0820000-f083ffff ioport:d040(size=8)


 root@localhost:~# dpdk_nic_bind.py -s
 Network devices using DPDK-compatible driver
 ============================================
 <none>
 
 Network devices using kernel driver
 ===================================
 0000:00:03.0 '82540EM Gigabit Ethernet Controller' if=eth0 drv=e1000 unused= *Active*
 
 Other network devices
 =====================
 0000:00:08.0 '82540EM Gigabit Ethernet Controller' unused=
 root@localhost:~# lsmod | grep igb_uio
 <nothing>
 
 root@localhost:~# modprobe igb_uio

If that doesn't work break out the sledgehammer:

 root@localhost:~# find / -name igb_uio.ko
 /var/lib/dkms/vpp-dpdk-dkms/2.2.0/3.16.0-30-generic/x86_64/module/igb_uio.ko
 /lib/modules/3.16.0-30-generic/updates/dkms/igb_uio.ko
 root@localhost:~# modprobe uio
 root@localhost:~# insmod /var/lib/dkms/vpp-dpdk-dkms/2.2.0/3.16.0-30-generic/x86_64/module/igb_uio.ko