patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: ciara.loftus@intel.com, stable@dpdk.org
Cc: bluca@debian.org, christian.ehrhardt@canonical.com,
	xuemingl@nvidia.com, Kevin Traynor <ktraynor@redhat.com>
Subject: [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors.
Date: Fri,  6 May 2022 12:03:35 +0100	[thread overview]
Message-ID: <20220506110337.267796-1-ktraynor@redhat.com> (raw)

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


             reply	other threads:[~2022-05-06 11:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-06 11:03 Kevin Traynor [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220506110337.267796-1-ktraynor@redhat.com \
    --to=ktraynor@redhat.com \
    --cc=bluca@debian.org \
    --cc=christian.ehrhardt@canonical.com \
    --cc=ciara.loftus@intel.com \
    --cc=stable@dpdk.org \
    --cc=xuemingl@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).