patches for DPDK stable branches
 help / color / mirror / Atom feed
From: "Loftus, Ciara" <ciara.loftus@intel.com>
To: Kevin Traynor <ktraynor@redhat.com>, "stable@dpdk.org" <stable@dpdk.org>
Cc: "bluca@debian.org" <bluca@debian.org>,
	"christian.ehrhardt@canonical.com"
	<christian.ehrhardt@canonical.com>,
	"xuemingl@nvidia.com" <xuemingl@nvidia.com>
Subject: RE: [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors.
Date: Fri, 6 May 2022 12:13:53 +0000	[thread overview]
Message-ID: <PH0PR11MB4791775BD29FC9C3B2A10EB68EC59@PH0PR11MB4791.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20220506110337.267796-1-ktraynor@redhat.com>

> 
> 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


  parent reply	other threads:[~2022-05-06 12:13 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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
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 ` Loftus, Ciara [this message]
2022-05-10  8:37   ` [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors 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=PH0PR11MB4791775BD29FC9C3B2A10EB68EC59@PH0PR11MB4791.namprd11.prod.outlook.com \
    --to=ciara.loftus@intel.com \
    --cc=bluca@debian.org \
    --cc=christian.ehrhardt@canonical.com \
    --cc=ktraynor@redhat.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).