Shmulik Ladkani wrote: > Currently, attaching BPF_PROG_TYPE_FLOW_DISSECTOR programs completely > replaces the flow-dissector logic with custom dissection logic. > This forces implementors to write programs that handle dissection for > any flows expected in the namespace. > > It makes sense for flow-dissector bpf programs to just augment the > dissector with custom logic (e.g. dissecting certain flows or custom > protocols), while enjoying the broad capabilities of the standard > dissector for any other traffic. > > v2: > - Extend selftests/bpf/progs/bpf_flow.c to exercise new ret code > > Shmulik Ladkani (4): > flow_dissector: Make 'bpf_flow_dissect' return the bpf program retcode > bpf/flow_dissector: Introduce BPF_FLOW_DISSECTOR_CONTINUE retcode for > flow-dissector bpf progs > bpf: test_run: Propagate bpf_flow_dissect's retval to user's > bpf_attr.test.retval > selftests/bpf: test BPF_FLOW_DISSECTOR_CONTINUE > > include/linux/skbuff.h | 4 +- > include/uapi/linux/bpf.h | 5 +++ > net/core/flow_dissector.c | 16 ++++--- > tools/include/uapi/linux/bpf.h | 5 +++ > .../selftests/bpf/prog_tests/flow_dissector.c | 44 ++++++++++++++++++- > .../prog_tests/flow_dissector_load_bytes.c | 2 +- > tools/testing/selftests/bpf/progs/bpf_flow.c | 15 +++++++ > .../selftests/bpf/test_flow_dissector.sh | 8 ++++ > 8 files changed, 89 insertions(+), 10 deletions(-) > > -- > 2.37.2 > LGTM. Acked-by: John Fastabend <john.fastabend@xxxxxxxxx>