include/net/mptcp.h | 4 ++++ 1 file changed, 4 insertions(+)
The btf_sock_ids array needs struct mptcp_sock BTF ID for
the bpf_skc_to_mptcp_sock helper.
When CONFIG_MPTCP is disabled, the 'struct mptcp_sock' is not
defined and resolve_btfids will complain with:
BTFIDS vmlinux
WARN: resolve_btfids: unresolved symbol mptcp_sock
Adding empty difinition for struct mptcp_sock when CONFIG_MPTCP
is disabled.
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
include/net/mptcp.h | 4 ++++
1 file changed, 4 insertions(+)
v2 changes:
- moved the new empty struct declaration next to the inline
bpf_mptcp_sock_from_subflow function [Mat]
diff --git a/include/net/mptcp.h b/include/net/mptcp.h
index ac9cf7271d46..412479ebf5ad 100644
--- a/include/net/mptcp.h
+++ b/include/net/mptcp.h
@@ -291,4 +291,8 @@ struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk);
static inline struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) { return NULL; }
#endif
+#if !IS_ENABLED(CONFIG_MPTCP)
+struct mptcp_sock { };
+#endif
+
#endif /* __NET_MPTCP_H */
--
2.37.1
Hi Jiri, Thank you for your modifications, that's great! Our CI did some validations and here is its report: - KVM Validation: normal: - Unstable: 1 failed test(s): selftest_mptcp_join 🔴: - Task: https://cirrus-ci.com/task/4744036484382720 - Summary: https://api.cirrus-ci.com/v1/artifact/task/4744036484382720/summary/summary.txt - KVM Validation: debug: - Success! ✅: - Task: https://cirrus-ci.com/task/5869936391225344 - Summary: https://api.cirrus-ci.com/v1/artifact/task/5869936391225344/summary/summary.txt Initiator: Patchew Applier Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/71103ca3923b If there are some issues, you can reproduce them using the same environment as the one used by the CI thanks to a docker image, e.g.: $ cd [kernel source code] $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \ --pull always mptcp/mptcp-upstream-virtme-docker:latest \ auto-debug For more details: https://github.com/multipath-tcp/mptcp-upstream-virtme-docker Please note that despite all the efforts that have been already done to have a stable tests suite when executed on a public CI like here, it is possible some reported issues are not due to your modifications. Still, do not hesitate to help us improve that ;-) Cheers, MPTCP GH Action bot Bot operated by Matthieu Baerts (Tessares)
Hi Jiri, Mat, (MPTCP ML only) On 02/08/2022 18:33, Jiri Olsa wrote: > The btf_sock_ids array needs struct mptcp_sock BTF ID for > the bpf_skc_to_mptcp_sock helper. > > When CONFIG_MPTCP is disabled, the 'struct mptcp_sock' is not > defined and resolve_btfids will complain with: > > BTFIDS vmlinux > WARN: resolve_btfids: unresolved symbol mptcp_sock > > Adding empty difinition for struct mptcp_sock when CONFIG_MPTCP > is disabled. Thank you for the patch and the review! FYI, I just applied this patch in MPTCP tree (feat. for other trees) just to track it and prevent conflicts on our side with the future bpf-next/net-next. New patches for t/upstream: - fa5c3bcfae6e: mptcp: Add struct mptcp_sock definition when CONFIG_MPTCP is disabled - Results: 982ba3087aac..ba0f79895fde (export) Tests are now in progress: https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220803T162341 Cheers, Matt -- Tessares | Belgium | Hybrid Access Solutions www.tessares.net
On Tue, 2 Aug 2022, Jiri Olsa wrote: > The btf_sock_ids array needs struct mptcp_sock BTF ID for > the bpf_skc_to_mptcp_sock helper. > > When CONFIG_MPTCP is disabled, the 'struct mptcp_sock' is not > defined and resolve_btfids will complain with: > > BTFIDS vmlinux > WARN: resolve_btfids: unresolved symbol mptcp_sock > > Adding empty difinition for struct mptcp_sock when CONFIG_MPTCP > is disabled. > > Acked-by: Martin KaFai Lau <kafai@fb.com> > Signed-off-by: Jiri Olsa <jolsa@kernel.org> Thanks Jiri, v2 looks good to merge in bpf-next: Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> > --- > include/net/mptcp.h | 4 ++++ > 1 file changed, 4 insertions(+) > > v2 changes: > - moved the new empty struct declaration next to the inline > bpf_mptcp_sock_from_subflow function [Mat] > > diff --git a/include/net/mptcp.h b/include/net/mptcp.h > index ac9cf7271d46..412479ebf5ad 100644 > --- a/include/net/mptcp.h > +++ b/include/net/mptcp.h > @@ -291,4 +291,8 @@ struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk); > static inline struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) { return NULL; } > #endif > > +#if !IS_ENABLED(CONFIG_MPTCP) > +struct mptcp_sock { }; > +#endif > + > #endif /* __NET_MPTCP_H */ > -- > 2.37.1 > > -- Mat Martineau Intel
Hi Jiri, Thank you for your modifications, that's great! Our CI did some validations and here is its report: - KVM Validation: Script error! ❓: - : - Task: https://cirrus-ci.com/task/4921402208813056 - Summary: https://api.cirrus-ci.com/v1/artifact/task/4921402208813056/summary/summary.txt - KVM Validation: Script error! ❓: - : - Task: https://cirrus-ci.com/task/6047302115655680 - Summary: https://api.cirrus-ci.com/v1/artifact/task/6047302115655680/summary/summary.txt Initiator: Patchew Applier Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/71103ca3923b If there are some issues, you can reproduce them using the same environment as the one used by the CI thanks to a docker image, e.g.: $ cd [kernel source code] $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \ --pull always mptcp/mptcp-upstream-virtme-docker:latest \ auto-debug For more details: https://github.com/multipath-tcp/mptcp-upstream-virtme-docker Please note that despite all the efforts that have been already done to have a stable tests suite when executed on a public CI like here, it is possible some reported issues are not due to your modifications. Still, do not hesitate to help us improve that ;-) Cheers, MPTCP GH Action bot Bot operated by Matthieu Baerts (Tessares)
© 2016 - 2024 Red Hat, Inc.