## 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 ============================================ 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 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 ```