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
Version: 0.15.0
Release: 3
Version: 0.23.0
Release: 0
Summary: BPF Compiler Collection (BCC)
License: ASL 2.0
URL: https://github.com/iovisor/bcc
@ -20,8 +20,6 @@ BuildRequires: util-linux
Requires: %{name}-tools = %{version}-%{release}
Requires: libbpf >= 0.0.5-3
Patch: 0001-bugfix-tcp-and-udp-tools-failed.patch
%description
BCC is a toolkit for creating efficient kernel tracing and manipulation
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 . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-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}
%make_build
@ -134,14 +132,12 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%license LICENSE.txt
%{_libdir}/lib%{name}.so.*
%{_libdir}/libbcc_bpf.so.*
%{_libdir}/libbcc-no-libbpf.so.*
%files devel
%exclude %{_libdir}/lib%{name}*.a
%exclude %{_libdir}/lib%{name}*.la
%{_libdir}/lib%{name}.so
%{_libdir}/libbcc_bpf.so
%{_libdir}/libbcc-no-libbpf.so
%{_libdir}/pkgconfig/lib%{name}.pc
%{_includedir}/%{name}/
@ -163,6 +159,9 @@ rm -rf %{buildroot}%{_datadir}/%{name}/tools/old/
%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
- bugfix: tcp* BPF_SK_LOOKUP undeclared failed