[v7 1/1] net/af_xdp: fix multi interface support for K8s

Maryam Tahhan mtahhan at redhat.com
Fri Feb 9 17:52:15 CET 2024


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.

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mails.dpdk.org/archives/dev/attachments/20240209/5dd7e583/attachment.htm>


More information about the dev mailing list