On Fri, Nov 6, 2020 at 3:25 PM Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> wrote: > > On Fri, 6 Nov 2020 13:04:16 -0800 > Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> wrote: > > > On Fri, Nov 6, 2020 at 12:58 PM Andrii Nakryiko > > <andrii.nakryiko@xxxxxxxxx> wrote: > > > > > > On Fri, Nov 6, 2020 at 12:44 AM Jiri Benc <jbenc@xxxxxxxxxx> wrote: > > > > > > > > On Thu, 5 Nov 2020 12:19:00 -0800, Andrii Nakryiko wrote: > > > > > I'll just quote myself here for your convenience. > > > > > > > > Sorry, I missed your original email for some reason. > > > > > > > > > Submodule is a way that I know of to make this better for end users. > > > > > If there are other ways to pull this off with shared library use, I'm > > > > > all for it, it will save the security angle that distros are arguing > > > > > for. E.g., if distributions will always have the latest libbpf > > > > > available almost as soon as it's cut upstream *and* new iproute2 > > > > > versions enforce the latest libbpf when they are packaged/released, > > > > > then this might work equivalently for end users. If Linux distros > > > > > would be willing to do this faithfully and promptly, I have no > > > > > objections whatsoever. Because all that matters is BPF end user > > > > > experience, as Daniel explained above. > > > > > > > > That's basically what we already do, for both Fedora and RHEL. > > > > > > > > Of course, it follows the distro release cycle, i.e. no version > > > > upgrades - or very limited ones - during lifetime of a particular > > > > release. But that would not be different if libbpf was bundled in > > > > individual projects. > > > > > > Alright. Hopefully this would be sufficient in practice. > > > > I think bumping the minimal version of libbpf with every iproute2 release > > is necessary as well. > > Today iproute2-next should require 0.2.0. The cycle after it should be 0.3.0 > > and so on. > > This way at least some correlation between iproute2 and libbpf will be > > established. > > Otherwise it's a mess of versions and functionality from user point of view. > > As long as iproute2 6.0 and libbpf 0.11.0 continues to work on older kernel > (like oldest living LTS 4.19 in 2023?); then it is fine. > > Just don't want libbpf to cause visible breakage for users. libbpf CI validates a bunch of selftests on 4.9 kernel, see [0]. It should work on even older ones. Not all BPF programs would load and be verified successfully, but libbpf itself should work regardless. [0] https://travis-ci.com/github/libbpf/libbpf/jobs/429362146