Hi Maryam, How do you want to continue with the patch, I think options we considered: 1. Fix 'use_cni' documentation (which we can backport to LTS) and overload the argument for new purpose. This will enable new feature by keeping backward compatibility. And requires new version of this patch. 2. If the 'use_cni' is completely broken in the 23.11 LTS, which means there is no user or backward compatibility to worry about, we can merge this patch and backport it to LTS. 3. Don't backport this fix to LTS, merge only to current release, which means your new feature won't be available to some users as long as a few years. (1.) is most user friendly, but if 'use_cni' already broken in LTS we can go with option (2.). What do you think? btw, @Ciara, @Maryam, if (2.) is true, how we end up having a feature ('use_cni' dev_args) completely broken in an LTS release?My understanding is that the use_cni implementation that is available in the 23.11 LTS is compatible with a particular version of the afxdp-plugins-for-kubernetes source. Maryam's change makes it compatible with the latest version. @Maryam can you confirm this? If my understanding is correct then I think we should include the version/tag/commit-id of afxdp-plugins-for-kubernetes that the code is compatible with. Including backporting a patch to LTS to specify what version that code is comaptible with.
Yeah that's correct, the existing use_cni implementation would
work with a particular version of the AF_XDP Device Plugin (with
the limitation that the DPDK pod cannot request multiple
interfaces from different device pools). From a deployment POV - I
would consider this a broken behaviour. Non the less we can
document it more explicitly.
The use_cni changes I'm making now will enable multi interface support (for a DPDK pod, keeping backward compatibility in mind). It will also still work with the older version of the AF_XDP device plugin (with the 1 interface limitation for the DPDK pod). I will document all of these in the next revision.
In addition to the changes mentioned above, I'm also extending
the AF_XDP PMD to support retrieving the xskmap FD from a pinned
BPF map (A new feature in the AF_XDP Device Plugin).
All the above will be pushed in another revision of the patchset
shortly (in addition to documentation changes). I'm just running
tests and breaking down the patches into (hopefully) logical
chunks.
And lastly there's one other issue that I'm trying to also
investigate/resolve - which is the AF_XDP Device Plugin
integration under AF_XDP PMD doesn't support busy polling. That's
probably another feature to add. >>> this might be a
separate patch