ss: fix libbpf version check for ENABLE_BPF_SKSTORAGE_SUPPORT

This patch fixes a problem with the libbpf version comparison to decide
if ENABLE_BPF_SKSTORAGE_SUPPORT could be enabled.

- The code enabled by ENABLE_BPF_SKSTORAGE_SUPPORT uses the function
  btf_dump__new with an API that was introduced in libbpf 0.6.0. So
  check now against libbpf version to be >= 0.6.x instead of 0.5.x.

- This code still depends on the necessity to have LIBBPF_MAJOR_VERSION
  and LIBBPF_MINOR_VERSION defined, even if libbpf_version.h is not
  present in the library development package. This was ensured with
  the previous patch for the configure script.

Fixes: e3ecf048 ("ss: pretty-print BPF socket-local storage")
Signed-off-by: Stefan Mätje <stefan.maetje@esd.eu>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
Stefan Mätje
2024-08-12 00:31:35 +02:00
committed by Stephen Hemminger
parent 0ddadc93e5
commit e9096586e0

View File

@@ -53,7 +53,7 @@
#include <linux/mptcp.h>
#ifdef HAVE_LIBBPF
/* If libbpf is new enough (0.5+), support for pretty-printing BPF socket-local
/* If libbpf is new enough (0.6+), support for pretty-printing BPF socket-local
* storage is enabled, otherwise we emit a warning and disable it.
* ENABLE_BPF_SKSTORAGE_SUPPORT is only used to gate the socket-local storage
* feature, so this wouldn't prevent any feature relying on HAVE_LIBBPF to be
@@ -66,8 +66,8 @@
#include <bpf/libbpf.h>
#include <linux/btf.h>
#if (LIBBPF_MAJOR_VERSION == 0) && (LIBBPF_MINOR_VERSION < 5)
#warning "libbpf version 0.5 or later is required, disabling BPF socket-local storage support"
#if ((LIBBPF_MAJOR_VERSION == 0) && (LIBBPF_MINOR_VERSION < 6))
#warning "libbpf version 0.6 or later is required, disabling BPF socket-local storage support"
#undef ENABLE_BPF_SKSTORAGE_SUPPORT
#endif
#endif