patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors.
@ 2022-05-06 11:03 Kevin Traynor
  2022-05-06 11:03 ` [PATCH 21.11 1/2] net/af_xdp: use libxdp if available Kevin Traynor
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Kevin Traynor @ 2022-05-06 11:03 UTC (permalink / raw)
  To: ciara.loftus, stable; +Cc: bluca, christian.ehrhardt, xuemingl, Kevin Traynor

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?

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-05-10  8:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06 11:03 [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors Kevin Traynor
2022-05-06 11:03 ` [PATCH 21.11 1/2] net/af_xdp: use libxdp if available Kevin Traynor
2022-05-06 11:03 ` [PATCH 21.11 2/2] net/af_xdp: make compatible with libbpf >= 0.7.0 Kevin Traynor
2022-05-06 12:13 ` [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors Loftus, Ciara
2022-05-10  8:37   ` Kevin Traynor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).