[v5,0/8] net/tap: cleanups and fix BPF flow

Message ID 20240402171751.138324-1-stephen@networkplumber.org (mailing list archive)
Headers
Series net/tap: cleanups and fix BPF flow |

Message

Stephen Hemminger April 2, 2024, 5:12 p.m. UTC
  The support of doing RSS for rte_flow_action was a cool idea
but it has been broken for several releases of DPDK as the
kernel and BPF infrastructure changed.

This series cleans up the BPF program, implements several
features that were never completed in the original code
and changes to use the current BPF toolchain.

The result should be easier to read and maintain.
The build process checks for the required componen

Stephen Hemminger (8):
  net/tap: do not duplicate fd's
  doc: fix the requirements and building of TAP flow
  net/tap: remove unused RSS hash types
  net/tap: validate and setup parameters for BPF RSS
  net/tap: stop "vendoring" linux bpf headers
  net/tap: rewrite the RSS BPF program
  net/tap: use libbpf to load new BPF program
  net/tap: remove no longer used files

 .gitignore                            |    3 -
 doc/guides/linux_gsg/sys_reqs.rst     |    3 +
 doc/guides/nics/tap.rst               |   95 +-
 drivers/net/tap/bpf/Makefile          |   19 -
 drivers/net/tap/bpf/README            |   38 +
 drivers/net/tap/bpf/bpf_api.h         |  276 ----
 drivers/net/tap/bpf/bpf_elf.h         |   53 -
 drivers/net/tap/bpf/bpf_extract.py    |   86 --
 drivers/net/tap/bpf/meson.build       |   91 ++
 drivers/net/tap/bpf/tap_bpf_program.c |  255 ----
 drivers/net/tap/bpf/tap_rss.c         |  264 ++++
 drivers/net/tap/meson.build           |   29 +-
 drivers/net/tap/rte_eth_tap.c         |  199 ++-
 drivers/net/tap/rte_eth_tap.h         |   12 +-
 drivers/net/tap/tap_bpf.h             |  121 --
 drivers/net/tap/tap_bpf_api.c         |  190 ---
 drivers/net/tap/tap_bpf_insns.h       | 1743 -------------------------
 drivers/net/tap/tap_flow.c            |  549 ++------
 drivers/net/tap/tap_flow.h            |   16 +-
 drivers/net/tap/tap_intr.c            |    7 +-
 drivers/net/tap/tap_rss.h             |   21 +-
 drivers/net/tap/tap_tcmsgs.h          |    4 +-
 22 files changed, 680 insertions(+), 3394 deletions(-)
 delete mode 100644 drivers/net/tap/bpf/Makefile
 create mode 100644 drivers/net/tap/bpf/README
 delete mode 100644 drivers/net/tap/bpf/bpf_api.h
 delete mode 100644 drivers/net/tap/bpf/bpf_elf.h
 delete mode 100644 drivers/net/tap/bpf/bpf_extract.py
 create mode 100644 drivers/net/tap/bpf/meson.build
 delete mode 100644 drivers/net/tap/bpf/tap_bpf_program.c
 create mode 100644 drivers/net/tap/bpf/tap_rss.c
 delete mode 100644 drivers/net/tap/tap_bpf.h
 delete mode 100644 drivers/net/tap/tap_bpf_api.c
 delete mode 100644 drivers/net/tap/tap_bpf_insns.h