Description of problem
Currently, the SR-IOV Network Device Plugin is the de-facto standard for managing SR-IOV-based network devices. When it is used to attach a device to a pod, it adds an ENV var to let the pod know how to access it. This ENV var has the following format:
PCIDEVICE_{RESOURCE_NAME} = pciAddress1[,pciAddress2,...]
This ENV is then used by a pod consuming this interface. A relevant example would be: a VFIO device being consumed by a DPDK application. Also, there are libraries that offer a programatic way of consuming this information: app-netutil
The problem when using the Device Plugin in Kata is that the PCI hierarchy is obviously different so the pod cannot properly consume the device it has been assigned.
Expected result
A mechanism should exist for the pod to access the guest's PCI address.
Ideally, the pod should see the same API. For that to happen Kata would need to have awareness of his naming convention and rewrite the address when it hotplugs the device
Another, less ideal, alternative would be to have the host->guest mapping exposed somehow and have the pod make the lookup / translation. This would make the pod aware of the fact its running on Kata, which is not good IMHO.
Opening this issue to get feedback from the community on this topic.
What do you think?
Description of problem
Currently, the SR-IOV Network Device Plugin is the de-facto standard for managing SR-IOV-based network devices. When it is used to attach a device to a pod, it adds an ENV var to let the pod know how to access it. This ENV var has the following format:
PCIDEVICE_{RESOURCE_NAME} = pciAddress1[,pciAddress2,...]
This ENV is then used by a pod consuming this interface. A relevant example would be: a VFIO device being consumed by a DPDK application. Also, there are libraries that offer a programatic way of consuming this information: app-netutil
The problem when using the Device Plugin in Kata is that the PCI hierarchy is obviously different so the pod cannot properly consume the device it has been assigned.
Expected result
A mechanism should exist for the pod to access the guest's PCI address.
Ideally, the pod should see the same API. For that to happen Kata would need to have awareness of his naming convention and rewrite the address when it hotplugs the device
Another, less ideal, alternative would be to have the host->guest mapping exposed somehow and have the pod make the lookup / translation. This would make the pod aware of the fact its running on Kata, which is not good IMHO.
Opening this issue to get feedback from the community on this topic.
What do you think?