Skip to content

Commit b950918

Browse files
Geliang Tangintel-lab-lkp
authored andcommitted
Squash to "selftests/bpf: Add mptcp_subflow bpf_iter subtest"
Define mptcp_subflow_ctx() using bpf_core_cast as Martin suggested. Signed-off-by: Geliang Tang <[email protected]>
1 parent ec3a43a commit b950918

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

tools/testing/selftests/bpf/progs/mptcp_bpf.h

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,16 @@ mptcp_subflow_tcp_sock(const struct mptcp_subflow_context *subflow)
3939
return subflow->tcp_sock;
4040
}
4141

42+
static __always_inline struct mptcp_subflow_context *
43+
mptcp_subflow_ctx(const struct sock *sk)
44+
{
45+
const struct inet_connection_sock *
46+
icsk = bpf_core_cast(sk, struct inet_connection_sock);
47+
48+
/* Use RCU on icsk_ulp_data only for sock diag code */
49+
return bpf_core_cast(icsk->icsk_ulp_data, struct mptcp_subflow_context);
50+
}
51+
4252
/* ksym */
4353
extern struct mptcp_subflow_context *
4454
bpf_mptcp_subflow_ctx(const struct sock *sk) __ksym;

tools/testing/selftests/bpf/progs/mptcp_bpf_iters.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ int iters_subflow(struct bpf_sockopt *ctx)
4848
goto out;
4949

5050
/* only to check the following kfunc works */
51-
subflow = bpf_mptcp_subflow_ctx(ssk);
51+
subflow = mptcp_subflow_ctx(ssk);
5252
if (!subflow || subflow->token != msk->token)
5353
goto out;
5454

0 commit comments

Comments
 (0)