[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221004231143.19190-1-daniel@iogearbox.net>
Date: Wed, 5 Oct 2022 01:11:33 +0200
From: Daniel Borkmann <daniel@...earbox.net>
To: bpf@...r.kernel.org
Cc: razor@...ckwall.org, ast@...nel.org, andrii@...nel.org,
martin.lau@...ux.dev, john.fastabend@...il.com,
joannelkoong@...il.com, memxor@...il.com, toke@...hat.com,
joe@...ium.io, netdev@...r.kernel.org,
Daniel Borkmann <daniel@...earbox.net>
Subject: [PATCH bpf-next 00/10] BPF link support for tc BPF programs
This series adds BPF link support for tc BPF programs. We initially
presented the motivation, related work and design at this year's LPC
conference in the networking & BPF track [0], and have incorporated
feedback we received. The main changes are in first two patches and
the last one has an extensive batch of test cases we developed along
with it, please see individual patches for details. We tested this
series with the tc-testing selftest suite as well as the existing
and newly developed tc BPF tests from BPF selftests which all pass.
Thanks!
[0] https://lpc.events/event/16/contributions/1353/
Daniel Borkmann (10):
bpf: Add initial fd-based API to attach tc BPF programs
bpf: Implement BPF link handling for tc BPF programs
bpf: Implement link update for tc BPF link programs
bpf: Implement link introspection for tc BPF link programs
bpf: Implement link detach for tc BPF link programs
libbpf: Change signature of bpf_prog_query
libbpf: Add extended attach/detach opts
libbpf: Add support for BPF tc link
bpftool: Add support for tc fd-based attach types
bpf, selftests: Add various BPF tc link selftests
MAINTAINERS | 4 +-
include/linux/bpf.h | 4 +
include/linux/netdevice.h | 14 +-
include/linux/skbuff.h | 4 +-
include/net/sch_generic.h | 2 +-
include/net/xtc.h | 195 +++++
include/uapi/linux/bpf.h | 45 +-
kernel/bpf/Kconfig | 1 +
kernel/bpf/Makefile | 1 +
kernel/bpf/net.c | 451 +++++++++++
kernel/bpf/syscall.c | 27 +-
net/Kconfig | 5 +
net/core/dev.c | 262 +++---
net/core/filter.c | 4 +-
net/sched/Kconfig | 4 +-
net/sched/sch_ingress.c | 48 +-
tools/bpf/bpftool/net.c | 76 +-
tools/include/uapi/linux/bpf.h | 45 +-
tools/lib/bpf/bpf.c | 27 +-
tools/lib/bpf/bpf.h | 22 +-
tools/lib/bpf/libbpf.c | 31 +-
tools/lib/bpf/libbpf.h | 2 +
tools/lib/bpf/libbpf.map | 2 +
.../selftests/bpf/prog_tests/tc_link.c | 756 ++++++++++++++++++
.../selftests/bpf/progs/test_tc_link.c | 43 +
25 files changed, 1932 insertions(+), 143 deletions(-)
create mode 100644 include/net/xtc.h
create mode 100644 kernel/bpf/net.c
create mode 100644 tools/testing/selftests/bpf/prog_tests/tc_link.c
create mode 100644 tools/testing/selftests/bpf/progs/test_tc_link.c
--
2.34.1
Powered by blists - more mailing lists