[PATCH 21.11 0/2] Fix UNH CI af_xdp build errors.
Loftus, Ciara
ciara.loftus at intel.com
Fri May 6 14:13:53 CEST 2022
>
> UNH CI is reporting [0] build errors [1] for 21.11 branch on Arch Linux.
>
> The cause is that libbpf 0.7.0 has been installed and now that af_xdp is
> being compiled with that version there are some deprecated calls being
> used.
>
> This can be fixed by taking some patches from DPDK main branch to use
> libxdp.
>
> It will be nice if we can keep it working for users who upgrade
> library versions, but the most important is to not cause regressions
> for users who do not.
>
> Ciara, please let me know if you see any any issues with these patches
> for 21.11 branch?
Hi Kevin,
The patches look good to me and I ran them through a suite of tests on my platform and all passed.
Thanks,
Ciara
>
> Reproduced compile failures on F35 with updated library versions without
> the patches and passing when patches applied.
>
> Compile tested on F35 with new versions:
> Run-time dependency libxdp found: YES 1.2.2
> Run-time dependency libbpf found: YES 0.7.0
>
> Also compile tested for regressions on F35 with packaged versions:
> Dependency libxdp found: NO found 1.1.0 but need: '>=1.2.2'
> Run-time dependency libxdp found: NO (tried pkgconfig)
> Run-time dependency libbpf found: YES 0.4.0
>
> thanks,
> Kevin.
>
> [0] https://dpdkdashboard.iol.unh.edu/results/dashboard/tarballs/19678/
> [1]
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:43:
> ../drivers/net/af_xdp/compat.h: In function ‘create_shared_socket’:
> ../drivers/net/af_xdp/compat.h:25:9: error: ‘xsk_socket__create_shared’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 25 | return xsk_socket__create_shared(xsk_ptr, ifname, queue_id,
> umem, rx,
> | ^~~~~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:317:5: note: declared here
> 317 | int xsk_socket__create_shared(struct xsk_socket **xsk_ptr,
> | ^~~~~~~~~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘af_xdp_rx_zc’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:285:25: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 285 | (void)recvfrom(xsk_socket__fd(rxq->xsk), NULL, 0,
> | ^
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘kick_tx’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:470:17: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 470 | while (send(xsk_socket__fd(txq->pair->xsk), NULL,
> | ^~~~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘eth_stats_get’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:819:17: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 819 | ret = getsockopt(xsk_socket__fd(rxq->xsk), SOL_XDP,
> | ^~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘eth_dev_close’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:897:17: error: ‘xsk_socket__delete’
> is deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 897 | xsk_socket__delete(rxq->xsk);
> | ^~~~~~~~~~~~~~~~~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:330:6: note: declared here
> 330 | void xsk_socket__delete(struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:901:25: error: ‘xsk_umem__delete’
> is deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 901 | (void)xsk_umem__delete(rxq->umem->umem);
> | ^
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:328:5: note: declared here
> 328 | int xsk_umem__delete(struct xsk_umem *umem);
> | ^~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function
> ‘xdp_umem_configure’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1064:17: error:
> ‘xsk_umem__create’ is deprecated: libbpf v0.7+: AF_XDP support
> deprecated and moved to libxdp [-Werror=deprecated-declarations]
> 1064 | ret = xsk_umem__create(&umem->umem, base_addr,
> umem_size,
> | ^~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:292:5: note: declared here
> 292 | int xsk_umem__create(struct xsk_umem **umem,
> | ^~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function
> ‘load_custom_xdp_prog’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1156:9: error:
> ‘bpf_prog_load_deprecated’ is deprecated: libbpf v0.7+: use
> bpf_object__open() and bpf_object__load() instead [-Werror=deprecated-
> declarations]
> 1156 | ret = bpf_prog_load(prog_path, BPF_PROG_TYPE_XDP, &obj,
> &prog_fd);
> | ^~~
> In file included from /usr/include/bpf/xsk.h:20,
> from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/libbpf.h:850:16: note: declared here
> 850 | LIBBPF_API int bpf_prog_load_deprecated(const char *file, enum
> bpf_prog_type type,
> | ^~~~~~~~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function
> ‘configure_preferred_busy_poll’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1192:9: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 1192 | int fd = xsk_socket__fd(rxq->xsk);
> | ^~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘xsk_configure’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1291:17: error:
> ‘xsk_socket__create’ is deprecated: libbpf v0.7+: AF_XDP support
> deprecated and moved to libxdp [-Werror=deprecated-declarations]
> 1291 | ret = xsk_socket__create(&rxq->xsk, internals->if_name,
> | ^~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:310:5: note: declared here
> 310 | int xsk_socket__create(struct xsk_socket **xsk,
> | ^~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1304:17: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 1304 | fd = xsk_socket__fd(rxq->xsk);
> | ^~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1338:9: error: ‘xsk_socket__delete’
> is deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 1338 | xsk_socket__delete(rxq->xsk);
> | ^~~~~~~~~~~~~~~~~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:330:6: note: declared here
> 330 | void xsk_socket__delete(struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘eth_rx_queue_setup’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1390:9: error: ‘xsk_socket__fd’ is
> deprecated: libbpf v0.7+: AF_XDP support deprecated and moved to libxdp
> [-Werror=deprecated-declarations]
> 1390 | rxq->fds[0].fd = xsk_socket__fd(rxq->xsk);
> | ^~~
> In file included from ../drivers/net/af_xdp/rte_eth_af_xdp.c:19:
> /usr/include/bpf/xsk.h:257:5: note: declared here
> 257 | int xsk_socket__fd(const struct xsk_socket *xsk);
> | ^~~~~~~~~~~~~~
> cc1: all warnings being treated as errors
>
> Ciara Loftus (2):
> net/af_xdp: use libxdp if available
> net/af_xdp: make compatible with libbpf >= 0.7.0
>
> doc/guides/nics/af_xdp.rst | 6 ++--
> drivers/net/af_xdp/compat.h | 45 ++++++++++++++++++++++++++++-
> drivers/net/af_xdp/meson.build | 44 +++++++++++++++++++++++-----
> drivers/net/af_xdp/rte_eth_af_xdp.c | 10 +++----
> 4 files changed, 87 insertions(+), 18 deletions(-)
>
> --
> 2.34.1
More information about the stable
mailing list