Closed amorenoz closed 2 years ago
Hey Adrián Moreno, I have recently (today) signed-up on this repository. I am interested in this project as I want to make virtio devices available in K8s pod. Could you please let me know how I can understand and contribute?
Hi @arunsharma75. Welcome! The work is still ongoing but close to being in a good shape. Review are wellcome on both Device Plugin and CNI PRs. Also, checkout this repo containing instructions on how to test the E2E solution.
Thanks a lot Adrián Just wondering if the solution will work for Kernel 3.10? is there any IFCVF driver available for kernel 3.10? I wanted to test with PAC N3000 card.
vDPA technology allows Pods to consume accelerated device interfaces while using standard virtio / vhost drivers. This is possible because vdpa-capable devices implement the standard VirtIO ring layout that is used for the datapath. As for the control path, a framework was added to the linux kernel (first introduced in 5.7 and enhanced in 5.8 and 5.9) to translate virtio/vhost commands to vendor specific operations.
The vdpa kernel framework is exposed to userspace as a system bus (
/sys/bus/vdpa
). Vendor drivers, once bound to their VFs, create vdpa devices (that can be listed under/sys/bus/vdpa/devices
). Currently two vdpa drivers are available (under/sys/bus/vdpa/drivers
):vhost_vdpa
andvirtio_vdpa
What would you like to be added?
vdpa support should be added to the SR-IOV Device Plugin so Pods can consume vdpa devices that are created on top of SR-IOV VFs
What is the use case for this feature / enhancement?
vDPA has many usecases, mainly the capability to consume accelerated network devices (which theoretically could be as performant as direct SR-IOV devices) using standard drivers (e.g: virtio-net or virtio-user PMD driver in DPDK)