Skip to content

Commit 1d82787

Browse files
author
Alexei Starovoitov
committed
Merge branch 'fix-samples'
Jakub Kicinski says: ==================== Following patches address build issues after recent move to libbpf. For out-of-tree builds we would see the following error: gcc: error: samples/bpf/../../tools/lib/bpf/libbpf.a: No such file or directory libbpf build system is now always invoked explicitly rather than relying on building single objects most of the time. We need to resolve the friction between Kbuild and tools/ build system. Mini-library called libbpf.h in samples is renamed to bpf_insn.h, using linux/filter.h seems not completely trivial since some samples get upset when order on include search path in changed. We do have to rename libbpf.h, however, because otherwise it's hard to reliably get to libbpf's header in out-of-tree builds. v2: - fix the build error harder (patch 3); - add patch 5 (make clang less noisy). ==================== Signed-off-by: Alexei Starovoitov <[email protected]>
2 parents fb40c9d + 768759e commit 1d82787

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+116
-147
lines changed

samples/bpf/Makefile

Lines changed: 65 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
# SPDX-License-Identifier: GPL-2.0
2+
3+
BPF_SAMPLES_PATH ?= $(abspath $(srctree)/$(src))
4+
TOOLS_PATH := $(BPF_SAMPLES_PATH)/../../tools
5+
26
# List of programs to build
37
hostprogs-y := test_lru_dist
48
hostprogs-y += sock_example
@@ -49,59 +53,58 @@ hostprogs-y += xdpsock
4953
hostprogs-y += xdp_fwd
5054

5155
# Libbpf dependencies
52-
LIBBPF := ../../tools/lib/bpf/libbpf.a
56+
LIBBPF = $(TOOLS_PATH)/lib/bpf/libbpf.a
57+
5358
CGROUP_HELPERS := ../../tools/testing/selftests/bpf/cgroup_helpers.o
5459
TRACE_HELPERS := ../../tools/testing/selftests/bpf/trace_helpers.o
5560

56-
test_lru_dist-objs := test_lru_dist.o $(LIBBPF)
57-
sock_example-objs := sock_example.o $(LIBBPF)
58-
fds_example-objs := bpf_load.o $(LIBBPF) fds_example.o
59-
sockex1-objs := bpf_load.o $(LIBBPF) sockex1_user.o
60-
sockex2-objs := bpf_load.o $(LIBBPF) sockex2_user.o
61-
sockex3-objs := bpf_load.o $(LIBBPF) sockex3_user.o
62-
tracex1-objs := bpf_load.o $(LIBBPF) tracex1_user.o
63-
tracex2-objs := bpf_load.o $(LIBBPF) tracex2_user.o
64-
tracex3-objs := bpf_load.o $(LIBBPF) tracex3_user.o
65-
tracex4-objs := bpf_load.o $(LIBBPF) tracex4_user.o
66-
tracex5-objs := bpf_load.o $(LIBBPF) tracex5_user.o
67-
tracex6-objs := bpf_load.o $(LIBBPF) tracex6_user.o
68-
tracex7-objs := bpf_load.o $(LIBBPF) tracex7_user.o
69-
load_sock_ops-objs := bpf_load.o $(LIBBPF) load_sock_ops.o
70-
test_probe_write_user-objs := bpf_load.o $(LIBBPF) test_probe_write_user_user.o
71-
trace_output-objs := bpf_load.o $(LIBBPF) trace_output_user.o $(TRACE_HELPERS)
72-
lathist-objs := bpf_load.o $(LIBBPF) lathist_user.o
73-
offwaketime-objs := bpf_load.o $(LIBBPF) offwaketime_user.o $(TRACE_HELPERS)
74-
spintest-objs := bpf_load.o $(LIBBPF) spintest_user.o $(TRACE_HELPERS)
75-
map_perf_test-objs := bpf_load.o $(LIBBPF) map_perf_test_user.o
76-
test_overhead-objs := bpf_load.o $(LIBBPF) test_overhead_user.o
77-
test_cgrp2_array_pin-objs := test_cgrp2_array_pin.o $(LIBBPF)
78-
test_cgrp2_attach-objs := test_cgrp2_attach.o $(LIBBPF)
79-
test_cgrp2_attach2-objs := test_cgrp2_attach2.o $(LIBBPF) $(CGROUP_HELPERS)
80-
test_cgrp2_sock-objs := test_cgrp2_sock.o $(LIBBPF)
81-
test_cgrp2_sock2-objs := bpf_load.o $(LIBBPF) test_cgrp2_sock2.o
82-
xdp1-objs := xdp1_user.o $(LIBBPF)
61+
fds_example-objs := bpf_load.o fds_example.o
62+
sockex1-objs := bpf_load.o sockex1_user.o
63+
sockex2-objs := bpf_load.o sockex2_user.o
64+
sockex3-objs := bpf_load.o sockex3_user.o
65+
tracex1-objs := bpf_load.o tracex1_user.o
66+
tracex2-objs := bpf_load.o tracex2_user.o
67+
tracex3-objs := bpf_load.o tracex3_user.o
68+
tracex4-objs := bpf_load.o tracex4_user.o
69+
tracex5-objs := bpf_load.o tracex5_user.o
70+
tracex6-objs := bpf_load.o tracex6_user.o
71+
tracex7-objs := bpf_load.o tracex7_user.o
72+
load_sock_ops-objs := bpf_load.o load_sock_ops.o
73+
test_probe_write_user-objs := bpf_load.o test_probe_write_user_user.o
74+
trace_output-objs := bpf_load.o trace_output_user.o $(TRACE_HELPERS)
75+
lathist-objs := bpf_load.o lathist_user.o
76+
offwaketime-objs := bpf_load.o offwaketime_user.o $(TRACE_HELPERS)
77+
spintest-objs := bpf_load.o spintest_user.o $(TRACE_HELPERS)
78+
map_perf_test-objs := bpf_load.o map_perf_test_user.o
79+
test_overhead-objs := bpf_load.o test_overhead_user.o
80+
test_cgrp2_array_pin-objs := test_cgrp2_array_pin.o
81+
test_cgrp2_attach-objs := test_cgrp2_attach.o
82+
test_cgrp2_attach2-objs := test_cgrp2_attach2.o $(CGROUP_HELPERS)
83+
test_cgrp2_sock-objs := test_cgrp2_sock.o
84+
test_cgrp2_sock2-objs := bpf_load.o test_cgrp2_sock2.o
85+
xdp1-objs := xdp1_user.o
8386
# reuse xdp1 source intentionally
84-
xdp2-objs := xdp1_user.o $(LIBBPF)
85-
xdp_router_ipv4-objs := bpf_load.o $(LIBBPF) xdp_router_ipv4_user.o
86-
test_current_task_under_cgroup-objs := bpf_load.o $(LIBBPF) $(CGROUP_HELPERS) \
87+
xdp2-objs := xdp1_user.o
88+
xdp_router_ipv4-objs := bpf_load.o xdp_router_ipv4_user.o
89+
test_current_task_under_cgroup-objs := bpf_load.o $(CGROUP_HELPERS) \
8790
test_current_task_under_cgroup_user.o
88-
trace_event-objs := bpf_load.o $(LIBBPF) trace_event_user.o $(TRACE_HELPERS)
89-
sampleip-objs := bpf_load.o $(LIBBPF) sampleip_user.o $(TRACE_HELPERS)
90-
tc_l2_redirect-objs := bpf_load.o $(LIBBPF) tc_l2_redirect_user.o
91-
lwt_len_hist-objs := bpf_load.o $(LIBBPF) lwt_len_hist_user.o
92-
xdp_tx_iptunnel-objs := bpf_load.o $(LIBBPF) xdp_tx_iptunnel_user.o
93-
test_map_in_map-objs := bpf_load.o $(LIBBPF) test_map_in_map_user.o
94-
per_socket_stats_example-objs := cookie_uid_helper_example.o $(LIBBPF)
95-
xdp_redirect-objs := bpf_load.o $(LIBBPF) xdp_redirect_user.o
96-
xdp_redirect_map-objs := bpf_load.o $(LIBBPF) xdp_redirect_map_user.o
97-
xdp_redirect_cpu-objs := bpf_load.o $(LIBBPF) xdp_redirect_cpu_user.o
98-
xdp_monitor-objs := bpf_load.o $(LIBBPF) xdp_monitor_user.o
99-
xdp_rxq_info-objs := xdp_rxq_info_user.o $(LIBBPF)
100-
syscall_tp-objs := bpf_load.o $(LIBBPF) syscall_tp_user.o
101-
cpustat-objs := bpf_load.o $(LIBBPF) cpustat_user.o
102-
xdp_adjust_tail-objs := xdp_adjust_tail_user.o $(LIBBPF)
103-
xdpsock-objs := bpf_load.o $(LIBBPF) xdpsock_user.o
104-
xdp_fwd-objs := bpf_load.o $(LIBBPF) xdp_fwd_user.o
91+
trace_event-objs := bpf_load.o trace_event_user.o $(TRACE_HELPERS)
92+
sampleip-objs := bpf_load.o sampleip_user.o $(TRACE_HELPERS)
93+
tc_l2_redirect-objs := bpf_load.o tc_l2_redirect_user.o
94+
lwt_len_hist-objs := bpf_load.o lwt_len_hist_user.o
95+
xdp_tx_iptunnel-objs := bpf_load.o xdp_tx_iptunnel_user.o
96+
test_map_in_map-objs := bpf_load.o test_map_in_map_user.o
97+
per_socket_stats_example-objs := cookie_uid_helper_example.o
98+
xdp_redirect-objs := bpf_load.o xdp_redirect_user.o
99+
xdp_redirect_map-objs := bpf_load.o xdp_redirect_map_user.o
100+
xdp_redirect_cpu-objs := bpf_load.o xdp_redirect_cpu_user.o
101+
xdp_monitor-objs := bpf_load.o xdp_monitor_user.o
102+
xdp_rxq_info-objs := xdp_rxq_info_user.o
103+
syscall_tp-objs := bpf_load.o syscall_tp_user.o
104+
cpustat-objs := bpf_load.o cpustat_user.o
105+
xdp_adjust_tail-objs := xdp_adjust_tail_user.o
106+
xdpsock-objs := bpf_load.o xdpsock_user.o
107+
xdp_fwd-objs := bpf_load.o xdp_fwd_user.o
105108

106109
# Tell kbuild to always build the programs
107110
always := $(hostprogs-y)
@@ -173,53 +176,12 @@ HOSTCFLAGS_spintest_user.o += -I$(srctree)/tools/lib/bpf/
173176
HOSTCFLAGS_trace_event_user.o += -I$(srctree)/tools/lib/bpf/
174177
HOSTCFLAGS_sampleip_user.o += -I$(srctree)/tools/lib/bpf/
175178

176-
HOSTLOADLIBES_test_lru_dist += -lelf
177-
HOSTLOADLIBES_sock_example += -lelf
178-
HOSTLOADLIBES_fds_example += -lelf
179-
HOSTLOADLIBES_sockex1 += -lelf
180-
HOSTLOADLIBES_sockex2 += -lelf
181-
HOSTLOADLIBES_sockex3 += -lelf
182-
HOSTLOADLIBES_tracex1 += -lelf
183-
HOSTLOADLIBES_tracex2 += -lelf
184-
HOSTLOADLIBES_tracex3 += -lelf
185-
HOSTLOADLIBES_tracex4 += -lelf -lrt
186-
HOSTLOADLIBES_tracex5 += -lelf
187-
HOSTLOADLIBES_tracex6 += -lelf
188-
HOSTLOADLIBES_tracex7 += -lelf
189-
HOSTLOADLIBES_test_cgrp2_array_pin += -lelf
190-
HOSTLOADLIBES_test_cgrp2_attach += -lelf
191-
HOSTLOADLIBES_test_cgrp2_attach2 += -lelf
192-
HOSTLOADLIBES_test_cgrp2_sock += -lelf
193-
HOSTLOADLIBES_test_cgrp2_sock2 += -lelf
194-
HOSTLOADLIBES_load_sock_ops += -lelf
195-
HOSTLOADLIBES_test_probe_write_user += -lelf
196-
HOSTLOADLIBES_trace_output += -lelf -lrt
197-
HOSTLOADLIBES_lathist += -lelf
198-
HOSTLOADLIBES_offwaketime += -lelf
199-
HOSTLOADLIBES_spintest += -lelf
200-
HOSTLOADLIBES_map_perf_test += -lelf -lrt
201-
HOSTLOADLIBES_test_overhead += -lelf -lrt
202-
HOSTLOADLIBES_xdp1 += -lelf
203-
HOSTLOADLIBES_xdp2 += -lelf
204-
HOSTLOADLIBES_xdp_router_ipv4 += -lelf
205-
HOSTLOADLIBES_test_current_task_under_cgroup += -lelf
206-
HOSTLOADLIBES_trace_event += -lelf
207-
HOSTLOADLIBES_sampleip += -lelf
208-
HOSTLOADLIBES_tc_l2_redirect += -l elf
209-
HOSTLOADLIBES_lwt_len_hist += -l elf
210-
HOSTLOADLIBES_xdp_tx_iptunnel += -lelf
211-
HOSTLOADLIBES_test_map_in_map += -lelf
212-
HOSTLOADLIBES_per_socket_stats_example += -lelf
213-
HOSTLOADLIBES_xdp_redirect += -lelf
214-
HOSTLOADLIBES_xdp_redirect_map += -lelf
215-
HOSTLOADLIBES_xdp_redirect_cpu += -lelf
216-
HOSTLOADLIBES_xdp_monitor += -lelf
217-
HOSTLOADLIBES_xdp_rxq_info += -lelf
218-
HOSTLOADLIBES_syscall_tp += -lelf
219-
HOSTLOADLIBES_cpustat += -lelf
220-
HOSTLOADLIBES_xdp_adjust_tail += -lelf
221-
HOSTLOADLIBES_xdpsock += -lelf -pthread
222-
HOSTLOADLIBES_xdp_fwd += -lelf
179+
HOST_LOADLIBES += $(LIBBPF) -lelf
180+
HOSTLOADLIBES_tracex4 += -lrt
181+
HOSTLOADLIBES_trace_output += -lrt
182+
HOSTLOADLIBES_map_perf_test += -lrt
183+
HOSTLOADLIBES_test_overhead += -lrt
184+
HOSTLOADLIBES_xdpsock += -pthread
223185

224186
# Allows pointing LLC/CLANG to a LLVM backend with bpf support, redefine on cmdline:
225187
# make samples/bpf/ LLC=~/git/llvm/build/bin/llc CLANG=~/git/llvm/build/bin/clang
@@ -233,15 +195,16 @@ CLANG_ARCH_ARGS = -target $(ARCH)
233195
endif
234196

235197
# Trick to allow make to be run from this directory
236-
all: $(LIBBPF)
237-
$(MAKE) -C ../../ $(CURDIR)/
198+
all:
199+
$(MAKE) -C ../../ $(CURDIR)/ BPF_SAMPLES_PATH=$(CURDIR)
238200

239201
clean:
240202
$(MAKE) -C ../../ M=$(CURDIR) clean
241203
@rm -f *~
242204

243205
$(LIBBPF): FORCE
244-
$(MAKE) -C $(dir $@)
206+
# Fix up variables inherited from Kbuild that tools/ build system won't like
207+
$(MAKE) -C $(dir $@) RM='rm -rf' LDFLAGS= srctree=$(BPF_SAMPLES_PATH)/../../ O=
245208

246209
$(obj)/syscall_nrs.s: $(src)/syscall_nrs.c
247210
$(call if_changed_dep,cc_s_c)
@@ -272,15 +235,17 @@ verify_target_bpf: verify_cmds
272235
exit 2; \
273236
else true; fi
274237

275-
$(src)/*.c: verify_target_bpf
238+
$(BPF_SAMPLES_PATH)/*.c: verify_target_bpf $(LIBBPF)
239+
$(src)/*.c: verify_target_bpf $(LIBBPF)
276240

277241
$(obj)/tracex5_kern.o: $(obj)/syscall_nrs.h
278242

279243
# asm/sysreg.h - inline assembly used by it is incompatible with llvm.
280244
# But, there is no easy way to fix it, so just exclude it since it is
281245
# useless for BPF samples.
282246
$(obj)/%.o: $(src)/%.c
283-
$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS) -I$(obj) \
247+
@echo " CLANG-bpf " $@
248+
$(Q)$(CLANG) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS) -I$(obj) \
284249
-I$(srctree)/tools/testing/selftests/bpf/ \
285250
-D__KERNEL__ -Wno-unused-value -Wno-pointer-sign \
286251
-D__TARGET_ARCH_$(ARCH) -Wno-compare-distinct-pointer-types \

samples/bpf/libbpf.h renamed to samples/bpf/bpf_insn.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
/* SPDX-License-Identifier: GPL-2.0 */
2-
/* eBPF mini library */
3-
#ifndef __LIBBPF_H
4-
#define __LIBBPF_H
5-
6-
#include <bpf/bpf.h>
2+
/* eBPF instruction mini library */
3+
#ifndef __BPF_INSN_H
4+
#define __BPF_INSN_H
75

86
struct bpf_insn;
97

samples/bpf/bpf_load.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
#include <poll.h>
2525
#include <ctype.h>
2626
#include <assert.h>
27-
#include "libbpf.h"
27+
#include <bpf/bpf.h>
2828
#include "bpf_load.h"
2929
#include "perf-sys.h"
3030

samples/bpf/bpf_load.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#ifndef __BPF_LOAD_H
33
#define __BPF_LOAD_H
44

5-
#include "libbpf.h"
5+
#include <bpf/bpf.h>
66

77
#define MAX_MAPS 32
88
#define MAX_PROGS 32

samples/bpf/cookie_uid_helper_example.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
#include <sys/types.h>
5252
#include <unistd.h>
5353
#include <bpf/bpf.h>
54-
#include "libbpf.h"
54+
#include "bpf_insn.h"
5555

5656
#define PORT 8888
5757

samples/bpf/cpustat_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
#include <sys/resource.h>
1818
#include <sys/wait.h>
1919

20-
#include "libbpf.h"
20+
#include <bpf/bpf.h>
2121
#include "bpf_load.h"
2222

2323
#define MAX_CPU 8

samples/bpf/fds_example.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
#include <sys/types.h>
1313
#include <sys/socket.h>
1414

15+
#include <bpf/bpf.h>
16+
17+
#include "bpf_insn.h"
1518
#include "bpf_load.h"
16-
#include "libbpf.h"
1719
#include "sock_example.h"
1820

1921
#define BPF_F_PIN (1 << 0)

samples/bpf/lathist_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
#include <stdlib.h>
1111
#include <signal.h>
1212
#include <linux/bpf.h>
13-
#include "libbpf.h"
13+
#include <bpf/bpf.h>
1414
#include "bpf_load.h"
1515

1616
#define MAX_ENTRIES 20

samples/bpf/load_sock_ops.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#include <stdlib.h>
99
#include <string.h>
1010
#include <linux/bpf.h>
11-
#include "libbpf.h"
11+
#include <bpf/bpf.h>
1212
#include "bpf_load.h"
1313
#include <unistd.h>
1414
#include <errno.h>

samples/bpf/lwt_len_hist_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#include <errno.h>
1010
#include <arpa/inet.h>
1111

12-
#include "libbpf.h"
12+
#include <bpf/bpf.h>
1313
#include "bpf_util.h"
1414

1515
#define MAX_INDEX 64

samples/bpf/map_perf_test_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include <arpa/inet.h>
2222
#include <errno.h>
2323

24-
#include "libbpf.h"
24+
#include <bpf/bpf.h>
2525
#include "bpf_load.h"
2626

2727
#define TEST_BIT(t) (1U << (t))

samples/bpf/sock_example.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
#include <linux/if_ether.h>
2727
#include <linux/ip.h>
2828
#include <stddef.h>
29-
#include "libbpf.h"
29+
#include <bpf/bpf.h>
30+
#include "bpf_insn.h"
3031
#include "sock_example.h"
3132

3233
char bpf_log_buf[BPF_LOG_BUF_SIZE];

samples/bpf/sock_example.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include <net/if.h>
1010
#include <linux/if_packet.h>
1111
#include <arpa/inet.h>
12-
#include "libbpf.h"
1312

1413
static inline int open_raw_sock(const char *name)
1514
{

samples/bpf/sockex1_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <stdio.h>
33
#include <assert.h>
44
#include <linux/bpf.h>
5-
#include "libbpf.h"
5+
#include <bpf/bpf.h>
66
#include "bpf_load.h"
77
#include "sock_example.h"
88
#include <unistd.h>

samples/bpf/sockex2_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <stdio.h>
33
#include <assert.h>
44
#include <linux/bpf.h>
5-
#include "libbpf.h"
5+
#include <bpf/bpf.h>
66
#include "bpf_load.h"
77
#include "sock_example.h"
88
#include <unistd.h>

samples/bpf/sockex3_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#include <stdio.h>
33
#include <assert.h>
44
#include <linux/bpf.h>
5-
#include "libbpf.h"
5+
#include <bpf/bpf.h>
66
#include "bpf_load.h"
77
#include "sock_example.h"
88
#include <unistd.h>

samples/bpf/syscall_tp_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include <assert.h>
1717
#include <stdbool.h>
1818
#include <sys/resource.h>
19-
#include "libbpf.h"
19+
#include <bpf/bpf.h>
2020
#include "bpf_load.h"
2121

2222
/* This program verifies bpf attachment to tracepoint sys_enter_* and sys_exit_*.

samples/bpf/tc_l2_redirect_user.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include <string.h>
1414
#include <errno.h>
1515

16-
#include "libbpf.h"
16+
#include <bpf/bpf.h>
1717

1818
static void usage(void)
1919
{

samples/bpf/test_cgrp2_array_pin.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
#include <errno.h>
1515
#include <fcntl.h>
1616

17-
#include "libbpf.h"
17+
#include <bpf/bpf.h>
1818

1919
static void usage(void)
2020
{

samples/bpf/test_cgrp2_attach.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@
2828
#include <fcntl.h>
2929

3030
#include <linux/bpf.h>
31+
#include <bpf/bpf.h>
3132

32-
#include "libbpf.h"
33+
#include "bpf_insn.h"
3334

3435
enum {
3536
MAP_KEY_PACKETS,

0 commit comments

Comments
 (0)