diff options
author | Stanislav Fomichev <sdf@google.com> | 2019-04-22 18:55:50 +0300 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-04-23 19:36:34 +0300 |
commit | 0905beec9f52caf2c7065a8a88c08bc370850710 (patch) | |
tree | 8ef542273e104b77a67fc918cfa57d618afccb8d /tools/testing/selftests/bpf/flow_dissector_load.h | |
parent | c9cb2c1e11cee75b3af5699add3302a3997f78e4 (diff) | |
download | linux-0905beec9f52caf2c7065a8a88c08bc370850710.tar.xz |
selftests/bpf: run flow dissector tests in skb-less mode
Export last_dissection map from flow dissector and use a known place in
tun driver to trigger BPF flow dissection.
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/testing/selftests/bpf/flow_dissector_load.h')
-rw-r--r-- | tools/testing/selftests/bpf/flow_dissector_load.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/flow_dissector_load.h b/tools/testing/selftests/bpf/flow_dissector_load.h index 41dd6959feb0..eeb48b6fc827 100644 --- a/tools/testing/selftests/bpf/flow_dissector_load.h +++ b/tools/testing/selftests/bpf/flow_dissector_load.h @@ -9,10 +9,12 @@ static inline int bpf_flow_load(struct bpf_object **obj, const char *path, const char *section_name, const char *map_name, - int *prog_fd) + const char *keys_map_name, + int *prog_fd, + int *keys_fd) { struct bpf_program *prog, *main_prog; - struct bpf_map *prog_array; + struct bpf_map *prog_array, *keys; int prog_array_fd; int ret, fd, i; @@ -37,6 +39,16 @@ static inline int bpf_flow_load(struct bpf_object **obj, if (prog_array_fd < 0) return ret; + if (keys_map_name && keys_fd) { + keys = bpf_object__find_map_by_name(*obj, keys_map_name); + if (!keys) + return -1; + + *keys_fd = bpf_map__fd(keys); + if (*keys_fd < 0) + return -1; + } + i = 0; bpf_object__for_each_program(prog, *obj) { fd = bpf_program__fd(prog); |