RE: [PATCH v2 bpf-next 0/4] flow_dissector: Allow bpf flow-dissector progs to request fallback to normal dissection

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

 



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>



[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