patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Kevin Traynor <ktraynor@redhat.com>
To: "Loftus, Ciara" <ciara.loftus@intel.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: Tue, 10 May 2022 09:37:36 +0100
Message-ID: <b79e2d27-4e44-0852-c778-487a88a42349@redhat.com> (raw)
In-Reply-To: <PH0PR11MB4791775BD29FC9C3B2A10EB68EC59@PH0PR11MB4791.namprd11.prod.outlook.com>

On 06/05/2022 13:13, Loftus, Ciara wrote:
>>
>> 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 for reviewing and testing Ciara. I have pushed to 21.11 branch.

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


      reply	other threads:[~2022-05-10  8:37 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 ` [PATCH 21.11 0/2] Fix UNH CI af_xdp build errors Loftus, Ciara
2022-05-10  8:37   ` Kevin Traynor [this message]

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=b79e2d27-4e44-0852-c778-487a88a42349@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

patches for DPDK stable branches

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git