Re: [PATCH v2 1/2] tools/include: Update if_link.h and netlink.h

From: Ian Rogers
Date: Mon Sep 27 2021 - 13:17:45 EST


On Mon, Sep 27, 2021 at 10:03 AM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote:
>
> On 9/27/21 7:02 PM, Daniel Borkmann wrote:
> > On 9/23/21 12:29 AM, Ian Rogers wrote:
> >> Sync the uAPI headers so that userspace and the kernel match. These
> >> changes make the tools version match the updates to the files in the
> >> kernel directory that were updated by commits:
> >>
> >> if_link.h:
> >> 8f4c0e01789c hsr: enhance netlink socket interface to support PRP
> >> 427f0c8c194b macvlan: Add nodst option to macvlan type source
> >> 583be982d934 mctp: Add device handling and netlink interface
> >> c7fa1d9b1fb1 net: bridge: mcast: dump ipv4 querier state
> >> 2dba407f994e net: bridge: multicast: make tracked EHT hosts limit configurable
> >> b6e5d27e32ef net: ethernet: rmnet: Add support for MAPv5 egress packets
> >> 14452ca3b5ce net: qualcomm: rmnet: Export mux_id and flags to netlink
> >> 78a3ea555713 net: remove comments on struct rtnl_link_stats
> >> 0db0c34cfbc9 net: tighten the definition of interface statistics
> >> 571912c69f0e net: UDP tunnel encapsulation module for tunnelling different protocols like MPLS, IP, NSH etc.
> >> 00e77ed8e64d rtnetlink: add IFLA_PARENT_[DEV|DEV_BUS]_NAME
> >> 829eb208e80d rtnetlink: add support for protodown reason
> >>
> >> netlink.h:
> >> d07dcf9aadd6 netlink: add infrastructure to expose policies to userspace
> >> 44f3625bc616 netlink: export policy in extended ACK
> >> d409989b59ad netlink: simplify NLMSG_DATA with NLMSG_HDRLEN
> >> a85cbe6159ff uapi: move constants from <linux/kernel.h> to <linux/const.h>
> >>
> >> v2. Is a rebase and sync to the latest versions. A list of changes
> >> computed via diff and blame was added to the commit message as suggested
> >> in:
> >> https://lore.kernel.org/lkml/20201015223119.1712121-1-irogers@xxxxxxxxxx/
> >>
> >> Signed-off-by: Ian Rogers <irogers@xxxxxxxxxx>
> >
> > With both patches applied to bpf-next, this would break our CI:
> >
> > [...]
> > CC bench.o
> > CC bench_count.o
> > CC bench_rename.o
> > CC bench_trigger.o
> > CC bench_ringbufs.o
> > BINARY bench
> > BINARY xdpxceiver
> > xdpxceiver.c: In function ‘testapp_invalid_desc’:
> > xdpxceiver.c:1223:41: warning: implicit declaration of function ‘ARRAY_SIZE’ [-Wimplicit-function-declaration]
> > 1223 | pkt_stream_generate_custom(test, pkts, ARRAY_SIZE(pkts));
> > | ^~~~~~~~~~
> > /usr/bin/ld: /tmp/ccoQONpi.o: in function `testapp_invalid_desc':
> > /root/daniel/bpf/tools/testing/selftests/bpf/xdpxceiver.c:1223: undefined reference to `ARRAY_SIZE'
> > collect2: error: ld returned 1 exit status
> > make: *** [Makefile:166: /root/daniel/bpf/tools/testing/selftests/bpf/xdpxceiver] Error 1
> >
> > Please take a look and submit v3 of the series with the build issue fixed.
>
> See also: https://github.com/kernel-patches/bpf/pull/1822/checks?check_run_id=3714445336


Thanks, this looks like an "include what you use" problem in
xdpxceiver.c and so I'll need to add a patch to fix that ahead of
these patches.

Ian

> Thanks,
> Daniel