update bcc from 0.15.0 to 0.23.0

This commit is contained in:
wuchangsheng 2021-12-28 17:33:13 +08:00
parent f83f777a44
commit 7335635d8c
3 changed files with 6 additions and 136 deletions

View File

@ -1,129 +0,0 @@
From 653b24ca8cc997c7248b2890f869de15eb0f2c7c Mon Sep 17 00:00:00 2001
From: l00478106 <luzhihao@huawei.com>
Date: Mon, 21 Jun 2021 19:25:01 +0800
Subject: [PATCH] bugfix: tcp and udp tools failed
When older bcc and newer kernel. bcc internal bpf.h does not define BPF_SK_LOOKUP
but newer kernel header file uses BPF_SK_LOOKUP.
---
tools/bindsnoop.py | 1 +
tools/tcpaccept.py | 1 +
tools/tcpconnlat.py | 1 +
tools/tcpdrop.py | 1 +
tools/tcplife.py | 1 +
tools/tcpretrans.py | 1 +
tools/tcpstates.py | 1 +
tools/tcptop.py | 1 +
tools/tcptracer.py | 1 +
9 files changed, 9 insertions(+)
diff --git a/tools/bindsnoop.py b/tools/bindsnoop.py
index e08ebf8..fce5366 100755
--- a/tools/bindsnoop.py
+++ b/tools/bindsnoop.py
@@ -97,6 +97,7 @@ args = parser.parse_args()
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wtautological-compare"
#include <net/sock.h>
diff --git a/tools/tcpaccept.py b/tools/tcpaccept.py
index 1a5f1c7..2eccb25 100755
--- a/tools/tcpaccept.py
+++ b/tools/tcpaccept.py
@@ -57,6 +57,7 @@ debug = 0
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <net/sock.h>
#include <bcc/proto.h>
diff --git a/tools/tcpconnlat.py b/tools/tcpconnlat.py
index e28a43a..2f3bf16 100755
--- a/tools/tcpconnlat.py
+++ b/tools/tcpconnlat.py
@@ -67,6 +67,7 @@ debug = 0
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <net/sock.h>
#include <net/tcp_states.h>
#include <bcc/proto.h>
diff --git a/tools/tcpdrop.py b/tools/tcpdrop.py
index aceff87..e5e3390 100755
--- a/tools/tcpdrop.py
+++ b/tools/tcpdrop.py
@@ -42,6 +42,7 @@ debug = 0
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <uapi/linux/tcp.h>
#include <uapi/linux/ip.h>
#include <net/sock.h>
diff --git a/tools/tcplife.py b/tools/tcplife.py
index 9fe9804..e576017 100755
--- a/tools/tcplife.py
+++ b/tools/tcplife.py
@@ -66,6 +66,7 @@ debug = 0
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <linux/tcp.h>
#include <net/sock.h>
#include <bcc/proto.h>
diff --git a/tools/tcpretrans.py b/tools/tcpretrans.py
index 7785d9b..44a1883 100755
--- a/tools/tcpretrans.py
+++ b/tools/tcpretrans.py
@@ -44,6 +44,7 @@ debug = 0
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <net/sock.h>
#include <bcc/proto.h>
diff --git a/tools/tcpstates.py b/tools/tcpstates.py
index 57fbb76..cd2bb29 100755
--- a/tools/tcpstates.py
+++ b/tools/tcpstates.py
@@ -61,6 +61,7 @@ debug = 0
# define BPF program
bpf_header = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <linux/tcp.h>
#include <net/sock.h>
#include <bcc/proto.h>
diff --git a/tools/tcptop.py b/tools/tcptop.py
index e9d0d1a..13c7e16 100755
--- a/tools/tcptop.py
+++ b/tools/tcptop.py
@@ -78,6 +78,7 @@ loadavg = "/proc/loadavg"
# define BPF program
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#include <net/sock.h>
#include <bcc/proto.h>
diff --git a/tools/tcptracer.py b/tools/tcptracer.py
index 2e486b1..636ffcb 100755
--- a/tools/tcptracer.py
+++ b/tools/tcptracer.py
@@ -42,6 +42,7 @@ args = parser.parse_args()
bpf_text = """
#include <uapi/linux/ptrace.h>
+#define BPF_SK_LOOKUP 36
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wtautological-compare"
#include <net/sock.h>
--
2.27.0

Binary file not shown.

View File

@ -1,6 +1,6 @@
Name: bcc Name: bcc
Version: 0.15.0 Version: 0.23.0
Release: 3 Release: 0
Summary: BPF Compiler Collection (BCC) Summary: BPF Compiler Collection (BCC)
License: ASL 2.0 License: ASL 2.0
URL: https://github.com/iovisor/bcc URL: https://github.com/iovisor/bcc
@ -20,8 +20,6 @@ BuildRequires: util-linux
Requires: %{name}-tools = %{version}-%{release} Requires: %{name}-tools = %{version}-%{release}
Requires: libbpf >= 0.0.5-3 Requires: libbpf >= 0.0.5-3
Patch: 0001-bugfix-tcp-and-udp-tools-failed.patch
%description %description
BCC is a toolkit for creating efficient kernel tracing and manipulation BCC is a toolkit for creating efficient kernel tracing and manipulation
programs, and includes several useful tools and examples. It makes use of programs, and includes several useful tools and examples. It makes use of
@ -86,7 +84,7 @@ Command line tools for BPF Compiler Collection (BCC)
%cmake . \ %cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DREVISION_LAST=%{version} -DREVISION=%{version} -DPYTHON_CMD=python3 \ -DREVISION_LAST=%{version} -DREVISION=%{version} -DPYTHON_CMD=python3 \
-DCMAKE_USE_LIBBPF_PACKAGE:BOOL=TRUE \ -DCMAKE_USE_LIBBPF_PACKAGE:BOOL=FALSE \
%{?with_llvm_shared:-DENABLE_LLVM_SHARED=1} %{?with_llvm_shared:-DENABLE_LLVM_SHARED=1}
%make_build %make_build
@ -134,14 +132,12 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%license LICENSE.txt %license LICENSE.txt
%{_libdir}/lib%{name}.so.* %{_libdir}/lib%{name}.so.*
%{_libdir}/libbcc_bpf.so.* %{_libdir}/libbcc_bpf.so.*
%{_libdir}/libbcc-no-libbpf.so.*
%files devel %files devel
%exclude %{_libdir}/lib%{name}*.a %exclude %{_libdir}/lib%{name}*.a
%exclude %{_libdir}/lib%{name}*.la %exclude %{_libdir}/lib%{name}*.la
%{_libdir}/lib%{name}.so %{_libdir}/lib%{name}.so
%{_libdir}/libbcc_bpf.so %{_libdir}/libbcc_bpf.so
%{_libdir}/libbcc-no-libbpf.so
%{_libdir}/pkgconfig/lib%{name}.pc %{_libdir}/pkgconfig/lib%{name}.pc
%{_includedir}/%{name}/ %{_includedir}/%{name}/
@ -163,6 +159,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%changelog %changelog
* Tue Dec 28 2021 sunsuwan <sunsuwan2@huawei.com> - 0.23.0-0
- update bcc from 0.15.0 to 0.23.0
* Mon Jun 21 2021 luzhihao <luzhihao@huawei.com> - 0.15.0-3 * Mon Jun 21 2021 luzhihao <luzhihao@huawei.com> - 0.15.0-3
- bugfix: tcp* BPF_SK_LOOKUP undeclared failed - bugfix: tcp* BPF_SK_LOOKUP undeclared failed