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
> 

Reply via email to