Debian Patches

Status for iproute2/5.10.0-4

Patch Description Author Forwarded Bugs Origin Last update
0010-vrf-print-BPF-log-buffer-if-bpf_program_load-fails.patch print BPF log buffer if bpf_program_load fails Luca Boccassi <bluca@debian.org> invalid
0011-vrf-fix-ip-vrf-exec-with-libbpf.patch fix ip vrf exec with libbpf The size of bpf_insn is passed to bpf_load_program instead of the number
of elements as it expects, so ip vrf exec fails with:
Luca Boccassi <bluca@debian.org> invalid debian
0001-Add-moo-feature.patch Add moo feature Alexander Wirt <formorer@debian.org> no 2013-06-10
0004-sync-iptables-header.patch Sync header from iptables The current versions in several suites have the same content:
- 1.6.0+snapshot20161117-6 (stretch)
- 1.6.1-2 (unstable)
Cyril Brulebois <cyril@debamax.com> not-needed upstream 2017-11-22
0005-iproute2-add-check_libbpf-and-get_libbpf_version.patch iproute2: add check_libbpf() and get_libbpf_version()
This patch aim to add basic checking functions for later iproute2
libbpf support.

First we add check_libbpf() in configure to see if we have bpf library
support. By default the system libbpf will be used, but static linking
against a custom libbpf version can be achieved by passing libbpf DESTDIR
to variable LIBBPF_DIR for configure.

Another variable LIBBPF_FORCE is used to control whether to build iproute2
with libbpf. If set to on, then force to build with libbpf and exit if
not available. If set to off, then force to not build with libbpf.

When dynamically linking against libbpf, we can't be sure that the
version we discovered at compile time is actually the one we are
using at runtime. This can lead to hard-to-debug errors. So we add
a new file lib/bpf_glue.c and a helper function get_libbpf_version()
to get correct libbpf version at runtime.
Hangbin Liu <haliu@redhat.com> no https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=503e9229b054b948cfb1b1b77bee97c1f74e491c
0006-lib-make-ipvrf-able-to-use-libbpf-and-fix-function-n.patch lib: make ipvrf able to use libbpf and fix function name conflicts There are directly calls in libbpf for bpf program load/attach.
So we could just use two wrapper functions for ipvrf and convert
them with libbpf support.

Function bpf_prog_load() is removed as it's conflict with libbpf
function name.

bpf.c is moved to bpf_legacy.c for later main libbpf support in
iproute2.
Hangbin Liu <haliu@redhat.com> no https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=dc800a4ed4f3112d932dbb6266c664de4766fa6e
0007-lib-add-libbpf-support.patch lib: add libbpf support This patch converts iproute2 to use libbpf for loading and attaching
BPF programs when it is available, which is started by Toke's
implementation[1]. With libbpf iproute2 could correctly process BTF
information and support the new-style BTF-defined maps, while keeping
compatibility with the old internal map definition syntax.

The old iproute2 bpf code is kept and will be used if no suitable libbpf
is available. When using libbpf, wrapper code in bpf_legacy.c ensures that
iproute2 will still understand the old map definition format, including
populating map-in-map and tail call maps before load.

In bpf_libbpf.c, we init iproute2 ctx and elf info first to check the
legacy bytes. When handling the legacy maps, for map-in-maps, we create
them manually and re-use the fd as they are associated with id/inner_id.
For pin maps, we only set the pin path and let libbp load to handle it.
For tail calls, we find it first and update the element after prog load.

Other maps/progs will be loaded by libbpf directly.

[1] https://lore.kernel.org/bpf/20190820114706.18546-1-toke@redhat.com/
Hangbin Liu <haliu@redhat.com> no https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=6d61a2b55799b4706f1f43cc23eea4ba708b502f
0008-examples-bpf-move-struct-bpf_elf_map-defined-maps-to.patch examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu <haliu@redhat.com> no https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=1ac8285a692e45beb846ee8e38472815b3945747
0009-examples-bpf-add-bpf-examples-with-BTF-defined-maps.patch examples/bpf: add bpf examples with BTF defined maps Users should try use the new BTF defined maps instead of struct
bpf_elf_map defined maps. The tail call examples are not added yet
as libbpf doesn't currently support declaratively populating tail call
maps.
Hangbin Liu <haliu@redhat.com> no https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=71c7c1fb4ff0a7abaf22e4d3052b9a2928019c61
0012-iproute-force-rtm_dst_len-to-32-128.patch force rtm_dst_len to 32/128 Since NETLINK_GET_STRICT_CHK was enabled, the kernel rejects commands
that pass a prefix length
Luca Boccassi <bluca@debian.org> no debian upstream, commit:5a37254b71249bfb73d44d6278d767a6b127a2f9

All known versions for source package 'iproute2'

Links