Hi Experts,

I am trying to run a DPDK KNI based sample app inside the K8 Pod environment, but I am not able to do so without host-network permissions.

I tried using KNI based sample application provided under DPDK 19.11 version, but it failed to create vEth0 inside the PoD environment without host-network permissions, though ifconfig shows vEth0 but it's not present under (/sys/devices/virtual/net/). 

As sample app uses dpdk kni api rte_kni_update_link, which internally uses this path(/sys/devices/virtual/net/vEth0/carrier) to bring vEth UP, but this path is not present hence failure in bringing UP the state of vEth.

taskset 10 ./build/kni -c0x30 -n4 -- -P -p0x1 -m --config="(0,4,4)"

[root@server ~]# ls /sys/devices/virtual/net/vEth0
ls: cannot access /sys/devices/virtual/net/vEth0: No such file or directory
[root@server ~]#

As soon as the pod is deployed with host-network permissions, whole network is available inside PoD with all required permissions and DPDK is able to create vEth (which creates /sys/devices/virtual/net/vEth0/carrier path) and sample app is able to update the link state of vEth and works perfectly fine. 

Any suggestions on what can be done to make it work inside a PoD environment without host-network permissions ?

Best Regards,