Running a dpdk application in kubernetes pod. Before binding dpdk external interface was showing in "ip a" net1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 42:33:c6:03:e9:b2 brd ff:ff:ff:ff:ff:ff
./usertools/dpdk-devbind.py -s : 0000:19:0e.1 'Ethernet Virtual Function 700 Series 154c' if=net1 drv=iavf unused=vfio-pci
Bind pod's dpdk interface using "./usertools/dpdk-devbind.py -b vfio-pci 19:0e.1"
When unbind that interface using "./usertools/dpdk-devbind.py -b iavf 19:0e.1" then interface which was showing before binding on pod , doesn't show. It shows on host machine's interface but not pod's interface.
After unbind "dpdk-devbind.py -s" 0000:19:0e.0 'Ethernet Virtual Function 700 Series 154c' **if= **drv=iavf unused=vfio-pci
before binding an interface for dpdk app in pod is show in pod's interface list but after binding and unbinding that interface is lost from pod network. While it should be reset/back to pod's network list.
If the pods network namespace same as that of host machine. The interface will be visible in pod also, even after binding it to the kernel driver i.e. iavf.
If the pod is having its own network namespace whatever you've mentioned will happen. and to see the interface in pod after binding it to iavf you need to change the network namespace of the interface using ip command ip link set eth10 netns myns myns being the network namespace of the pod.