diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2021-03-05 06:11:30 +0300 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2021-03-05 06:11:30 +0300 |
| commit | b0d3df486fcfb08810915c5fa95692cd8ec79298 (patch) | |
| tree | 84687bd50bbab7707d0fbace6e3b848e58ae031b /tools/include | |
| parent | 2374e0f1c7068d60b71e7ab50eff52c48be697e2 (diff) | |
| parent | b4f894633fa14d7d46ba7676f950b90a401504bb (diff) | |
| download | linux-b0d3df486fcfb08810915c5fa95692cd8ec79298.tar.xz | |
Merge branch 'PROG_TEST_RUN support for sk_lookup programs'
Lorenz Bauer says:
====================
We don't have PROG_TEST_RUN support for sk_lookup programs at the
moment. So far this hasn't been a problem, since we can run our
tests in a separate network namespace. For benchmarking it's nice
to have PROG_TEST_RUN, so I've gone and implemented it.
Based on discussion on the v1 I've dropped support for testing multiple
programs at once.
Changes since v3:
- Use bpf_test_timer prefix (Andrii)
Changes since v2:
- Fix test_verifier failure (Alexei)
Changes since v1:
- Add sparse annotations to the t_* functions
- Add appropriate type casts in bpf_prog_test_run_sk_lookup
- Drop running multiple programs
====================
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/include')
| -rw-r--r-- | tools/include/uapi/linux/bpf.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/tools/include/uapi/linux/bpf.h b/tools/include/uapi/linux/bpf.h index 63a56ed6a785..7f530e349aff 100644 --- a/tools/include/uapi/linux/bpf.h +++ b/tools/include/uapi/linux/bpf.h @@ -5953,7 +5953,10 @@ struct bpf_pidns_info { /* User accessible data for SK_LOOKUP programs. Add new fields at the end. */ struct bpf_sk_lookup { - __bpf_md_ptr(struct bpf_sock *, sk); /* Selected socket */ + union { + __bpf_md_ptr(struct bpf_sock *, sk); /* Selected socket */ + __u64 cookie; /* Non-zero if socket was selected in PROG_TEST_RUN */ + }; __u32 family; /* Protocol family (AF_INET, AF_INET6) */ __u32 protocol; /* IP protocol (IPPROTO_TCP, IPPROTO_UDP) */ |
