[PATCH bpf-next 00/10] BPF link support for tc BPF programs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux