[PATCH 21.11] net/af_xdp: squash deprecated-declaration warnings

David Marchand david.marchand at redhat.com
Wed Apr 5 09:39:01 CEST 2023


On Tue, Apr 4, 2023 at 5:35 PM Kevin Traynor <ktraynor at redhat.com> wrote:
>
> Fedora 37 with versions libbpf-0.8.0-2.fc37.x86_64 and
> libxdp-1.2.6-1.fc37.x86_64 gives the following warnings [0].
>
> Squash these for a clean build on Fedora 37 and any other distros
> or systems using newer libbpf and libxdp versions.
>
> Discussed on mail list at:
> http://inbox.dpdk.org/dev/d718d0fe-09a2-8840-e8a4-dd41b732b391@redhat.com/
>
> [0]
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:853:9:
> warning: ‘bpf_get_link_xdp_id’ is deprecated:
> libbpf v0.8+: use bpf_xdp_query_id() instead [-Wdeprecated-declarations]
> |      if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id,
> |      ^~
> In file included from /usr/include/xdp/xsk.h:17,
>                  from ../drivers/net/af_xdp/compat.h:6,
>                  from ../drivers/net/af_xdp/rte_eth_af_xdp.c:41:
> /usr/include/bpf/libbpf.h:1169:16: note: declared here
> | LIBBPF_API int bpf_get_link_xdp_id(int ifindex, __u32 *prog_id, __u32 flags);
> |                ^~~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:858:9:
> warning: ‘bpf_set_link_xdp_fd’ is deprecated:
> libbpf v0.8+: use bpf_xdp_attach() instead [-Wdeprecated-declarations]
> |         bpf_set_link_xdp_fd(internals->if_index, -1,
> |         ^~~~~~~~~~~~~~~~~~~
> /usr/include/bpf/libbpf.h:1164:16: note: declared here
> | LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags);
> |                ^~~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘load_custom_xdp_prog’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:1171:9:
> warning: ‘bpf_set_link_xdp_fd’ is deprecated:
> libbpf v0.8+: use bpf_xdp_attach() instead [-Wdeprecated-declarations]
> |         ret = bpf_set_link_xdp_fd(if_index, prog_fd,
> |         ^~~
> /usr/include/bpf/libbpf.h:1164:16: note: declared here
> | LIBBPF_API int bpf_set_link_xdp_fd(int ifindex, int fd, __u32 flags);
> |                ^~~~~~~~~~~~~~~~~~~
>
> Cc: Ciara Loftus <ciara.loftus at intel.com>
> Cc: Qi Zhang <qi.z.zhang at intel.com>
> Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
> ---
>  drivers/net/af_xdp/rte_eth_af_xdp.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
>
> diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
> index 9db76d4562..b04aa30325 100644
> --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
> +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
> @@ -846,4 +846,10 @@ eth_stats_reset(struct rte_eth_dev *dev)
>  }
>
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> +#pragma GCC diagnostic ignored "-Wunknown-pragmas"
> +#pragma clang diagnostic push
> +#pragma clang diagnostic ignored "-Wdeprecated-declarations"

clang recognises GCC pragmas, so this clang pragma is unneeded.
https://clang.llvm.org/docs/UsersManual.html#id34

And I suspect disabling unknown-pragmas is unneeded once clang pragmas
are removed.


-- 
David Marchand



More information about the stable mailing list