On 2/9/2024 4:52 PM, Maryam Tahhan wrote: > On 09/02/2024 12:40, Loftus, Ciara wrote: >>> 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. >
Thanks for the clarifications. If feature in LTS works with a particular version of the AF_XDP Device Plugin (the version it is developed against), with its designed feature set, I wouldn't call that feature is broken. Technically an LTS user can be using the feature with that specific version of the AF_XDP Device Plugin, in that case I agree approach (1.) that keeps backward compatibility is better. > 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 >