Skip to contentSkip to conversation

af_xdp + libbpf 0.8

DISCUSSION Thomas Monjalon 3 participants 4 messages Jun 23, 2022 – Jun 24, 2022

lore
Share & tools
lore
#0 lore raw

Hi,

It seems DPDK is not compatible with libbpf 0.8:

drivers/net/af_xdp/rte_eth_af_xdp.c:871:6: error: 'bpf_get_link_xdp_id' is deprecated: libbpf v0.8+: use bpf_xdp_query_id() instead /usr/include/bpf/libbpf.h:1168:1: note: 'bpf_get_link_xdp_id' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query_id() instead")

drivers/net/af_xdp/rte_eth_af_xdp.c:876:2: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

dpdk/drivers/net/af_xdp/rte_eth_af_xdp.c:1198:8: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

#1 lore raw
Quoted 8 lines · Thomas Monjalon

Hi,

It seems DPDK is not compatible with libbpf 0.8:

drivers/net/af_xdp/rte_eth_af_xdp.c:871:6: error: 'bpf_get_link_xdp_id' is deprecated: libbpf v0.8+: use bpf_xdp_query_id() instead /usr/include/bpf/libbpf.h:1168:1: note: 'bpf_get_link_xdp_id' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query_id() instead")

Quoted 10 lines

drivers/net/af_xdp/rte_eth_af_xdp.c:876:2: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

dpdk/drivers/net/af_xdp/rte_eth_af_xdp.c:1198:8: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

From af_xdp documentation (doc.dpdk.org/guides/nics/af_xdp.html):

5.2. Prerequisites
This is a Linux-specific PMD, thus the following prerequisites apply:

Both libxdp >=v1.2.2 and libbpf libraries installed, or, libbpf <=v0.6.0

#2 lore raw

24/06/2022 00:18, Ferruh Yigit:

Quoted 17 lines · Thomas Monjalon
Quoted 8 lines

Hi,

It seems DPDK is not compatible with libbpf 0.8:

drivers/net/af_xdp/rte_eth_af_xdp.c:871:6: error: 'bpf_get_link_xdp_id' is deprecated: libbpf v0.8+: use bpf_xdp_query_id() instead /usr/include/bpf/libbpf.h:1168:1: note: 'bpf_get_link_xdp_id' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query_id() instead")

Quoted 7 lines

drivers/net/af_xdp/rte_eth_af_xdp.c:876:2: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

dpdk/drivers/net/af_xdp/rte_eth_af_xdp.c:1198:8: error: 'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead /usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been explicitly marked deprecated here LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

Quoted 6 lines

From af_xdp documentation (doc.dpdk.org/guides/nics/af_xdp.html):

5.2. Prerequisites
This is a Linux-specific PMD, thus the following prerequisites apply:

Both libxdp >=v1.2.2 and libbpf libraries installed, or, libbpf <=v0.6.0

I am in the first case: libxdp-1.2.3 and libbpf-0.8 According to the documentation, it should work.

#3 lore raw
Quoted 28 lines

24/06/2022 00:18, Ferruh Yigit:

Quoted 6 lines · Thomas Monjalon
Quoted 5 lines

Hi,

It seems DPDK is not compatible with libbpf 0.8:

drivers/net/af_xdp/rte_eth_af_xdp.c:871:6: error: 'bpf_get_link_xdp_id'

is deprecated: libbpf v0.8+: use bpf_xdp_query_id() instead

Quoted 1 line
Quoted 1 line

/usr/include/bpf/libbpf.h:1168:1: note: 'bpf_get_link_xdp_id' has been

explicitly marked deprecated here

Quoted 3 lines
Quoted 3 lines

LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_query_id() instead")

drivers/net/af_xdp/rte_eth_af_xdp.c:876:2: error: 'bpf_set_link_xdp_fd'

is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead

Quoted 1 line
Quoted 1 line

/usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been

explicitly marked deprecated here

Quoted 3 lines
Quoted 3 lines

LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

dpdk/drivers/net/af_xdp/rte_eth_af_xdp.c:1198:8: error:

'bpf_set_link_xdp_fd' is deprecated: libbpf v0.8+: use bpf_xdp_attach() instead

Quoted 1 line
Quoted 1 line

/usr/include/bpf/libbpf.h:1163:1: note: 'bpf_set_link_xdp_fd' has been

explicitly marked deprecated here

Quoted 4 lines
Quoted 1 line

LIBBPF_DEPRECATED_SINCE(0, 8, "use bpf_xdp_attach() instead")

From af_xdp documentation (doc.dpdk.org/guides/nics/af_xdp.html):

Quoted 8 lines
Quoted 4 lines

5.2. Prerequisites
This is a Linux-specific PMD, thus the following prerequisites apply:

Both libxdp >=v1.2.2 and libbpf libraries installed, or, libbpf <=v0.6.0

I am in the first case: libxdp-1.2.3 and libbpf-0.8 According to the documentation, it should work.

I submitted a fix to prevent linking with >=v0.8.0.
It can be used until the more robust solution is ready which requires a bit more validation.

Thanks,
Ciara