On Tue, Dec 13, 2022 at 12:02 AM Frode Nordahl
<[email protected]> wrote:
>
> On Mon, Dec 12, 2022 at 5:25 PM Ilya Maximets <[email protected]> wrote:
> >
> > On 12/12/22 17:17, Frode Nordahl wrote:
> > > On Mon, Dec 12, 2022 at 2:55 PM Frode Nordahl
> > > <[email protected]> wrote:
> > >>
> > >> On Mon, Dec 12, 2022 at 12:20 PM Ilya Maximets <[email protected]> 
> > >> wrote:
> > >>>
> > >>> On 12/12/22 09:40, Eelco Chaudron wrote:
> > >>>>
> > >>>>
> > >>>> On 10 Dec 2022, at 3:16, Ilya Maximets wrote:
> > >>>>
> > >>>>> This patch set allows OVS to build with libxdp and newer libbpf.
> > >>>>> It also enables AF_XDP support by default as long as all the
> > >>>>> dependencies are available.
> > >>>>
> > >>>> Hi Ilya,
> > >>>>
> > >>>> I did not yet review the patch, but I do not like enabling AF_XPD 
> > >>>> support by default for the following reasons:
> > >>>
> > >>> Hi, Eelco.  Thanks for taking a look!
> > >>>
> > >>>>
> > >>>> - I still believe AF_XDP support in OVS has not had many field trials,
> > >>>>   so I would still classify this as an “experimental” feature.
> > >>>
> > >>> This patch set doesn't make the feature non-experimental.
> > >>> There is still a warning about that in the documentation.
> > >>> See the patch 3/6.
> > >>>
> > >>> In general, we do build a lot of experimental features by
> > >>> default and users can enable these features.  For example,
> > >>> some PMD management features, userspace TSO or AVX512 support.
> > >>>
> > >>> Enabling the build may increase the number of field trials
> > >>> performed by enthusiastic users, so should have some
> > >>> positive impact on development in general.  I've seen an
> > >>> increased interest in trying out this feature recently.
> > >>> Also, the feature doesn't impact existing users, they still
> > >>> need to explicitly create ports of afxdp type in order to
> > >>> use them.  The code is pretty much independent from other
> > >>> parts of OVS.
> > >>>
> > >>>> - Reversing build option logic might cause problems for distributions> 
> > >>>>   (or at least require people to think, as now they have to explicitly 
> > >>>> disable it).
> > >>>
> > >>> This is true for every other feature.  And I added an explicit
> > >>> disabling for Debian and Fedora packaging in the patch 3/6.
> > >>> In general, distributions should not blindly take every
> > >>> new release without checking the NEWS anyway.
> > >>
> > >> fwiw; we have interest in AF_XDP too and I'm currently evaluating if
> > >> we have the bits aligned to enable this by default in Debian too.
> > >>
> > >> One challenge is that in Debian libbpf 0.8 is a compatibility package
> > >> and the development package is only available as a 1.x, and at the
> > >> same time xdp-tools is linked with libbpf 0.8. So when building OVS it
> > >> will try to link with both libbpf 0.8 via libxdp and libbpf 1.x, which
> > >> I think may be preventing this from working right now.
> > >>
> > >> That is our problem to sort though, and we have no issue with having
> > >> this important feature be enabled by default in the upstream build
> > >> system.
> > >
> > > ftr; This was already sorted in Debian, I was using an out of date system.
> > >
> > > With that fixed, it does appear that OVS or xdp-tools may need an
> > > update to work with libbpf 1.x:
> > > 2022-12-12T16:01:32.800Z|00067|netdev_afxdp|WARN|libbpf: prog
> > > 'xdp_dispatcher': missing BPF prog type, check ELF section name
> > > 'xdp/dispatcher'
> > > 2022-12-12T16:01:32.800Z|00068|netdev_afxdp|WARN|libbpf: prog
> > > 'xdp_dispatcher': failed to load: -22
> > >
> >
> > Hmm.  OVS doesn't load xdp programs on its own, it relies on libbpf
> > to load a default program.
>
> Yes, I believe libxdp is at fault here and not this series nor OVS.
>
> > BTW, are you testing with the second patch of this patch set applied?
> > Otherwise, OVS will use some deprecated APIs that might be broken.
>
> WIth the whole set, It works fine on a pristine Fedora 37 system with
> libbpf 0.8, but on for example Debian with libbpf 1.0.1. I've
> confirmed it works also on Debian with libbpf 0.8.
>
> I suspect xdp-tools needs to be updated along the lines of [0] after
> libbpf was updated in [1].
>
> 0: 
> https://lore.kernel.org/lkml/[email protected]/T/
> 1: 
> https://github.com/torvalds/linux/commit/450b167fb9be91a8164d3f3d734674f5fe95b22d

An update on this, with the new v1.2.9 release of xdp-tools [2] this
is now resolved and we just put this series into a Open vSwitch 3.1.0
git snapshot in Debian experimental [3].

Cheers!

2: https://github.com/xdp-project/xdp-tools/issues/254
3: https://buildd.debian.org/status/package.php?p=openvswitch&suite=experimental

-- 
Frode Nordahl
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to