RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 2010428 - update libbpf to the latest kernel version
Summary: update libbpf to the latest kernel version
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 9
Classification: Red Hat
Component: libbpf
Version: 9.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Viktor Malik
QA Contact: Zhiqian Guan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-10-04 15:50 UTC by Jiri Olsa
Modified: 2022-12-19 20:05 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-11-15 11:21:16 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-101422 0 None None None 2021-11-01 20:56:20 UTC
Red Hat Product Errata RHBA-2022:8364 0 None None None 2022-11-15 11:21:18 UTC

Description Jiri Olsa 2021-10-04 15:50:33 UTC
update libbpf to the latest kernel version

Comment 1 Jiri Olsa 2022-02-07 10:05:57 UTC
no longer needed in 9.0, we have libbpf on kernel version 5.14.0-13.el9,
and there was no libbpf change since

Comment 2 Viktor Malik 2022-06-24 10:45:00 UTC
Build is ready:

https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=2063365

Currently running gating, there may be some problems but it should be ready for testing.

Comment 6 Zhiqian Guan 2022-07-14 07:49:59 UTC
[root@netqe2 xdp-tools]# ./configure
Found clang binary 'clang' with version 14 (from 'clang version 14.0.5 (Red Hat 14.0.5-1.el9)')
using emacs: GNU Emacs 27.2
libbpf support: system v0.6.0
  perf_buffer__consume support: yes
  btf__load_from_kernel_by_id support: yes
  btf__type_cnt support: yes
  bpf_object__next_map support: yes
  bpf_object__next_program support: yes
  bpf_program__insn_cnt support: yes
  bpf_map_create support: no
  perf_buffer__new_raw support: no
secure_getenv support: yes
[root@netqe2 xdp-tools]#
[root@netqe2 xdp-tools]# make

lib

  libxdp
    CC       staticobjs/libxdp.o
    CC       staticobjs/xsk.o
    CLANG    xdp-dispatcher.o
    LLC      xdp-dispatcher.o
    GEN      xdp-dispatcher.embed.o
    CLANG    xsk_def_xdp_prog.o
    LLC      xsk_def_xdp_prog.o
    GEN      xsk_def_xdp_prog.embed.o
    CLANG    xsk_def_xdp_prog_5.3.o
    LLC      xsk_def_xdp_prog_5.3.o
    GEN      xsk_def_xdp_prog_5.3.embed.o
    LINK     libxdp.a
    CC       sharedobjs/libxdp.o
    CC       sharedobjs/xsk.o
    LINK     libxdp.so.1.2.0
    GEN      libxdp.3

  util
    CC       params.o
    CC       logging.o
    CC       util.o
    CC       stats.o
    CC       xpcapng.o

  testing
    CLANG    test_long_func_name.o
    LLC      test_long_func_name.o
    CLANG    xdp_drop.o
    LLC      xdp_drop.o
    CLANG    xdp_pass.o
    LLC      xdp_pass.o

xdp-filter
    CLANG    xdpfilt_dny_udp.o
    LLC      xdpfilt_dny_udp.o
    CLANG    xdpfilt_dny_tcp.o
    LLC      xdpfilt_dny_tcp.o
    CLANG    xdpfilt_dny_ip.o
    LLC      xdpfilt_dny_ip.o
    CLANG    xdpfilt_dny_eth.o
    LLC      xdpfilt_dny_eth.o
    CLANG    xdpfilt_dny_all.o
    LLC      xdpfilt_dny_all.o
    CLANG    xdpfilt_alw_udp.o
    LLC      xdpfilt_alw_udp.o
    CLANG    xdpfilt_alw_tcp.o
    LLC      xdpfilt_alw_tcp.o
    CLANG    xdpfilt_alw_ip.o
    LLC      xdpfilt_alw_ip.o
    CLANG    xdpfilt_alw_eth.o
    LLC      xdpfilt_alw_eth.o
    CLANG    xdpfilt_alw_all.o
    LLC      xdpfilt_alw_all.o
    CC       xdp-filter
    GEN      xdp-filter.8

xdp-loader
    CC       xdp-loader
    GEN      xdp-loader.8

xdp-dump
    CC       xdpdump
    CLANG    xdpdump_bpf.o
    LLC      xdpdump_bpf.o
    CLANG    xdpdump_xdp.o
    LLC      xdpdump_xdp.o
    GEN      xdpdump.8
[root@netqe2 xdp-tools]# uname -r
5.14.0-127.el9.x86_64
[root@netqe2 xdp-tools]# rpm -q libbpf
libbpf-0.6.0-1.el9.x86_64
[root@netqe2 xdp-tools]#

Comment 8 errata-xmlrpc 2022-11-15 11:21:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (libbpf bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:8364

Comment 9 Jon Trossbach 2022-12-19 07:36:57 UTC
Looks mostly good

[root@netqe41 xdp-tools]# ./configure 
Found clang binary 'clang' with version 15 (from 'clang version 15.0.1 (Red Hat 15.0.1-2.el9)')
using emacs: GNU Emacs 27.2
using bpftool v6.8.0
libbpf support: system v0.6.0
  perf_buffer__consume support: yes
  btf__load_from_kernel_by_id support: yes
  btf__type_cnt support: yes
  bpf_object__next_map support: yes
  bpf_object__next_program support: yes
  bpf_program__insn_cnt support: yes
  bpf_map_create support: no
  perf_buffer__new_raw support: no
  bpf_xdp_attach support: no
secure_getenv support: yes

[root@netqe41 xdp-tools]# make

lib

  libxdp
    CC       staticobjs/libxdp.o
    CC       staticobjs/xsk.o
    CLANG    xdp-dispatcher.o
    LLC      xdp-dispatcher.o
    GEN      xdp-dispatcher.embed.o
    CLANG    xsk_def_xdp_prog.o
    LLC      xsk_def_xdp_prog.o
    GEN      xsk_def_xdp_prog.embed.o
    CLANG    xsk_def_xdp_prog_5.3.o
    LLC      xsk_def_xdp_prog_5.3.o
    GEN      xsk_def_xdp_prog_5.3.embed.o
    LINK     libxdp.a
    CC       sharedobjs/libxdp.o
    CC       sharedobjs/xsk.o
    LINK     libxdp.so.1.3.0
    GEN      libxdp.3

  util
    CLANG    xdp_sample.bpf.o
    LLC      xdp_sample.bpf.o
    GEN      xdp_sample.skel.h
    CC       params.o
    CC       logging.o
    CC       util.o
    CC       stats.o
    CC       xpcapng.o
    CC       xdp_sample.o

  testing
    CLANG    test_long_func_name.o
    LLC      test_long_func_name.o
    CLANG    xdp_drop.o
    LLC      xdp_drop.o
    CLANG    xdp_pass.o
    LLC      xdp_pass.o
    CC       test-tool

xdp-filter
    CLANG    xdpfilt_dny_udp.o
    LLC      xdpfilt_dny_udp.o
    CLANG    xdpfilt_dny_tcp.o
    LLC      xdpfilt_dny_tcp.o
    CLANG    xdpfilt_dny_ip.o
    LLC      xdpfilt_dny_ip.o
    CLANG    xdpfilt_dny_eth.o
    LLC      xdpfilt_dny_eth.o
    CLANG    xdpfilt_dny_all.o
    LLC      xdpfilt_dny_all.o
    CLANG    xdpfilt_alw_udp.o
    LLC      xdpfilt_alw_udp.o
    CLANG    xdpfilt_alw_tcp.o
    LLC      xdpfilt_alw_tcp.o
    CLANG    xdpfilt_alw_ip.o
    LLC      xdpfilt_alw_ip.o
    CLANG    xdpfilt_alw_eth.o
    LLC      xdpfilt_alw_eth.o
    CLANG    xdpfilt_alw_all.o
    LLC      xdpfilt_alw_all.o
    CC       xdp-filter
    GEN      xdp-filter.8

xdp-loader
    CC       xdp-loader
    GEN      xdp-loader.8

xdp-dump
    CC       xdpdump
    CLANG    xdpdump_bpf.o
    LLC      xdpdump_bpf.o
    CLANG    xdpdump_xdp.o
    LLC      xdpdump_xdp.o
    GEN      xdpdump.8

[root@netqe41 xdp-tools]#  rpm -q libbpf libbpf-devel
libbpf-0.6.0-1.el9.x86_64
libbpf-devel-0.6.0-1.el9.x86_64



There appears to be a new feature however? Can you confirm it is okay without fully compiling like the following?

xdp-bench
    CLANG    xdp_redirect_basic.bpf.o
    LLC      xdp_redirect_basic.bpf.o
    GEN      xdp_redirect_basic.skel.h
    CLANG    xdp_redirect_cpumap.bpf.o
    LLC      xdp_redirect_cpumap.bpf.o
    GEN      xdp_redirect_cpumap.skel.h
    CLANG    xdp_redirect_devmap.bpf.o
    LLC      xdp_redirect_devmap.bpf.o
    GEN      xdp_redirect_devmap.skel.h
    CLANG    xdp_redirect_devmap_multi.bpf.o
    LLC      xdp_redirect_devmap_multi.bpf.o
    GEN      xdp_redirect_devmap_multi.skel.h
    CLANG    xdp_droptx.bpf.o
    LLC      xdp_droptx.bpf.o
    GEN      xdp_droptx.skel.h
    CC       xdp-bench
In file included from xdp_redirect_basic.c:25:
xdp_redirect_basic.c: In function ‘sample_init’:
../lib/util/xdp_sample.h:72:21: error: implicit declaration of function ‘bpf_program__type’; did you mean ‘bpf_program__size’? [-Werror=implicit-function-declaration]
   72 |                 if (bpf_program__type(skel->progs.name) != BPF_PROG_TYPE_TRACING)\
      |                     ^~~~~~~~~~~~~~~~~
../lib/util/xdp_sample.h:111:25: note: in expansion of macro ‘__attach_tp’
  111 |                         __attach_tp(tp_xdp_redirect_map);          \
      |                         ^~~~~~~~~~~
xdp_redirect_basic.c:31:1: note: in expansion of macro ‘DEFINE_SAMPLE_INIT’
   31 | DEFINE_SAMPLE_INIT(xdp_redirect_basic);
      | ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
In file included from xdp_redirect_cpumap.c:28:
xdp_redirect_cpumap.c: In function ‘sample_init’:
../lib/util/xdp_sample.h:72:21: error: implicit declaration of function ‘bpf_program__type’; did you mean ‘bpf_program__size’? [-Werror=implicit-function-declaration]
   72 |                 if (bpf_program__type(skel->progs.name) != BPF_PROG_TYPE_TRACING)\
      |                     ^~~~~~~~~~~~~~~~~
../lib/util/xdp_sample.h:111:25: note: in expansion of macro ‘__attach_tp’
  111 |                         __attach_tp(tp_xdp_redirect_map);          \
      |                         ^~~~~~~~~~~
xdp_redirect_cpumap.c:55:1: note: in expansion of macro ‘DEFINE_SAMPLE_INIT’
   55 | DEFINE_SAMPLE_INIT(xdp_redirect_cpumap);
      | ^~~~~~~~~~~~~~~~~~
...
      | ^~~~~~~~~~~~~~~~~~
xdp_redirect_devmap_multi.c: In function ‘do_redirect_devmap_multi’:
xdp_redirect_devmap_multi.c:110:21: error: implicit declaration of function ‘bpf_program__expected_attach_type’; did you mean ‘bpf_program__set_expected_attach_type’? [-Werror=implicit-function-declaration]
  110 |                     bpf_program__expected_attach_type(prog) == BPF_XDP)
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                     bpf_program__set_expected_attach_type
xdp_redirect_devmap_multi.c:115:17: error: implicit declaration of function ‘bpf_map__set_autocreate’; did you mean ‘bpf_map__set_pin_path’? [-Werror=implicit-function-declaration]
  115 |                 bpf_map__set_autocreate(skel->maps.forward_map_native, false);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~
      |                 bpf_map__set_pin_path
cc1: all warnings being treated as errors
In file included from xdp_droptx.c:25:
xdp_droptx.c: In function ‘sample_init’:
../lib/util/xdp_sample.h:72:21: error: implicit declaration of function ‘bpf_program__type’; did you mean ‘bpf_program__size’? [-Werror=implicit-function-declaration]
   72 |                 if (bpf_program__type(skel->progs.name) != BPF_PROG_TYPE_TRACING)\
      |                     ^~~~~~~~~~~~~~~~~
../lib/util/xdp_sample.h:111:25: note: in expansion of macro ‘__attach_tp’
  111 |                         __attach_tp(tp_xdp_redirect_map);          \
      |                         ^~~~~~~~~~~
xdp_droptx.c:30:1: note: in expansion of macro ‘DEFINE_SAMPLE_INIT’
   30 | DEFINE_SAMPLE_INIT(xdp_droptx);
      | ^~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [../lib/common.mk:106: xdp-bench] Error 1
make: *** [Makefile:34: xdp-bench] Error 2


Note You need to log in before you can comment on or make changes to this bug.