VPP/Troubleshooting
From fd.io
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".
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:~# insmod /var/lib/dkms/vpp-dpdk-dkms/2.2.0/3.16.0-30-generic/x86_64/module/igb_uio.ko