bpf_trace_filter: support bpf filter optimization and dump

BPF filter w/o optimization can take x2 - x3 more instructions,
causing significant slow down in fast path.

Enable pcap optimization by default via cli and introduce api v2
with pcap optimization control, keep v1 for a while as it exists
in previous release already.
Intriduce bpf filter cli dump, similar to tcpdump -d.

Also fix memleak, function name typo, cli pcap format hint and
add related tests.

Type: improvement
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: I92b2b519e92326f1b8e1a4dda6a3e3edc52f87ad
This commit is contained in:
Vladislav Grishenko
2024-03-02 21:04:14 +05:00
committed by Mohammed HAWARI
parent 4b6614030f
commit 5be4b869a4
6 changed files with 127 additions and 15 deletions

View File

@@ -28,7 +28,9 @@ typedef struct
} bpf_trace_filter_main_t;
extern bpf_trace_filter_main_t bpf_trace_filter_main;
clib_error_t *bpf_trace_filter_set_unset (const char *bpf_expr, u8 is_del);
clib_error_t *bpf_trace_filter_set_unset (const char *bpf_expr, u8 is_del,
u8 optimize);
u8 *format_bpf_trace_filter (u8 *s, va_list *a);
#endif /* _BPF_TRACE_FILTER_H_ */
/*