aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/test_tcp_hdr_options.h
diff options
context:
space:
mode:
authorMartin KaFai Lau <kafai@fb.com>2020-10-01 18:34:54 -0700
committerAlexei Starovoitov <ast@kernel.org>2020-10-02 11:34:48 -0700
commit96d46c508506136ed35c4b02d74ce38e91d88421 (patch)
tree2dc8b38a12a4ce910cfcaf187b32b45565d358a6 /tools/testing/selftests/bpf/test_tcp_hdr_options.h
parentbpf: tcp: Do not limit cb_flags when creating child sk from listen sk (diff)
downloadlinux-dev-96d46c508506136ed35c4b02d74ce38e91d88421.tar.xz
linux-dev-96d46c508506136ed35c4b02d74ce38e91d88421.zip
bpf: selftest: Ensure the child sk inherited all bpf_sock_ops_cb_flags
This patch adds a test to ensure the child sk inherited everything from the bpf_sock_ops_cb_flags of the listen sk: 1. Sets one more cb_flags (BPF_SOCK_OPS_STATE_CB_FLAG) to the listen sk in test_tcp_hdr_options.c 2. Saves the skops->bpf_sock_ops_cb_flags when handling the newly established passive connection 3. CHECK() it is the same as the listen sk This also covers the fastopen case as the existing test_tcp_hdr_options.c does. Signed-off-by: Martin KaFai Lau <kafai@fb.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://lore.kernel.org/bpf/20201002013454.2542367-1-kafai@fb.com
Diffstat (limited to 'tools/testing/selftests/bpf/test_tcp_hdr_options.h')
-rw-r--r--tools/testing/selftests/bpf/test_tcp_hdr_options.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/test_tcp_hdr_options.h b/tools/testing/selftests/bpf/test_tcp_hdr_options.h
index 78a8cf9eab42..6118e3ab61fc 100644
--- a/tools/testing/selftests/bpf/test_tcp_hdr_options.h
+++ b/tools/testing/selftests/bpf/test_tcp_hdr_options.h
@@ -110,12 +110,13 @@ static inline void clear_hdr_cb_flags(struct bpf_sock_ops *skops)
BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG));
}
-static inline void set_hdr_cb_flags(struct bpf_sock_ops *skops)
+static inline void set_hdr_cb_flags(struct bpf_sock_ops *skops, __u32 extra)
{
bpf_sock_ops_cb_flags_set(skops,
skops->bpf_sock_ops_cb_flags |
BPF_SOCK_OPS_PARSE_UNKNOWN_HDR_OPT_CB_FLAG |
- BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG);
+ BPF_SOCK_OPS_WRITE_HDR_OPT_CB_FLAG |
+ extra);
}
static inline void
clear_parse_all_hdr_cb_flags(struct bpf_sock_ops *skops)