[PATCH mptcp-next v2] Squash to "selftests: bpf: test bpf_skc_to_mptcp_sock"

Geliang Tang posted 1 patch 1 year, 12 months ago
Failed in applying to current master (apply log)
MAINTAINERS                                     |  1 +
tools/testing/selftests/bpf/bpf_mptcp_helpers.h | 14 ++++++++++++++
tools/testing/selftests/bpf/bpf_tcp_helpers.h   |  5 -----
tools/testing/selftests/bpf/progs/mptcp_sock.c  |  2 +-
4 files changed, 16 insertions(+), 6 deletions(-)
create mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h
[PATCH mptcp-next v2] Squash to "selftests: bpf: test bpf_skc_to_mptcp_sock"
Posted by Geliang Tang 1 year, 12 months ago
Use dedicated bpf_mptcp_helpers.h for MPTCP tests, instead of sharing
with bpf_tcp_helpers.h.

This patch will conflict with the next three patches.

1. selftests: bpf: verify token of struct mptcp_sock

CONFLICT (content): Merge conflict in tools/testing/selftests/bpf/bpf_tcp_helpers.h

Drop these lines in bpf_tcp_helpers.h:

'''
<<<<<<< HEAD
=======
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
} __attribute__((preserve_access_index));

>>>>>>> 81f7e2dd50fa (selftests: bpf: verify token of struct mptcp_sock)
'''

Merge it into bpf_mptcp_helpers.h:

'''
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
} __attribute__((preserve_access_index));
'''

2. selftests: bpf: verify ca_name of struct mptcp_sock

CONFLICT (content): Merge conflict in tools/testing/selftests/bpf/bpf_tcp_helpers.h

Drop these lines in bpf_tcp_helpers.h:

'''
<<<<<<< HEAD
=======
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
	char		ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));

>>>>>>> dc3031fdfe35 (selftests: bpf: verify ca_name of struct mptcp_sock)
'''

Merge it into bpf_mptcp_helpers.h:

'''
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
	char		ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''

3. selftests: bpf: verify first of struct mptcp_sock

CONFLICT (content): Merge conflict in tools/testing/selftests/bpf/bpf_tcp_helpers.h

Drop these lines in bpf_tcp_helpers.h:

'''
<<<<<<< HEAD
=======
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
	struct sock	*first;
	char		ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));

>>>>>>> afb45ac4de7f (selftests: bpf: verify first of struct mptcp_sock)
'''

Merge it into bpf_mptcp_helpers.h:

'''
struct mptcp_sock {
	struct inet_connection_sock	sk;

	__u32		token;
	struct sock	*first;
	char		ca_name[TCP_CA_NAME_MAX];
} __attribute__((preserve_access_index));
'''

Note: 'first' is inserted between 'token' and 'ca_name', to keep the order of
mptcp_sock in kernel.

v2:
 - Update newly added file in MAINTAINERS.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
---
 MAINTAINERS                                     |  1 +
 tools/testing/selftests/bpf/bpf_mptcp_helpers.h | 14 ++++++++++++++
 tools/testing/selftests/bpf/bpf_tcp_helpers.h   |  5 -----
 tools/testing/selftests/bpf/progs/mptcp_sock.c  |  2 +-
 4 files changed, 16 insertions(+), 6 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/bpf_mptcp_helpers.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 778cbf7c5a3b..40a62dc29e31 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -13745,6 +13745,7 @@ F:	include/net/mptcp.h
 F:	include/trace/events/mptcp.h
 F:	include/uapi/linux/mptcp.h
 F:	net/mptcp/
+F:	tools/testing/selftests/bpf/bpf_mptcp_helpers.h
 F:	tools/testing/selftests/bpf/progs/mptcp_sock.c
 F:	tools/testing/selftests/bpf/prog_tests/mptcp.c
 F:	tools/testing/selftests/net/mptcp/
diff --git a/tools/testing/selftests/bpf/bpf_mptcp_helpers.h b/tools/testing/selftests/bpf/bpf_mptcp_helpers.h
new file mode 100644
index 000000000000..18da4cc65e89
--- /dev/null
+++ b/tools/testing/selftests/bpf/bpf_mptcp_helpers.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (c) 2022, SUSE. */
+
+#ifndef __BPF_MPTCP_HELPERS_H
+#define __BPF_MPTCP_HELPERS_H
+
+#include "bpf_tcp_helpers.h"
+
+struct mptcp_sock {
+	struct inet_connection_sock	sk;
+
+} __attribute__((preserve_access_index));
+
+#endif
diff --git a/tools/testing/selftests/bpf/bpf_tcp_helpers.h b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
index d71616873a3c..b1ede6f0b821 100644
--- a/tools/testing/selftests/bpf/bpf_tcp_helpers.h
+++ b/tools/testing/selftests/bpf/bpf_tcp_helpers.h
@@ -83,11 +83,6 @@ struct tcp_sock {
 	__u64	tcp_mstamp;	/* most recent packet received/sent */
 } __attribute__((preserve_access_index));
 
-struct mptcp_sock {
-	struct inet_connection_sock	sk;
-
-} __attribute__((preserve_access_index));
-
 static __always_inline struct inet_connection_sock *inet_csk(const struct sock *sk)
 {
 	return (struct inet_connection_sock *)sk;
diff --git a/tools/testing/selftests/bpf/progs/mptcp_sock.c b/tools/testing/selftests/bpf/progs/mptcp_sock.c
index a58cd24da777..5cfaec4e7245 100644
--- a/tools/testing/selftests/bpf/progs/mptcp_sock.c
+++ b/tools/testing/selftests/bpf/progs/mptcp_sock.c
@@ -3,7 +3,7 @@
 
 #include <linux/bpf.h>
 #include <bpf/bpf_helpers.h>
-#include "bpf_tcp_helpers.h"
+#include "bpf_mptcp_helpers.h"
 
 char _license[] SEC("license") = "GPL";
 __u32 _version SEC("version") = 1;
-- 
2.34.1


Re: [PATCH mptcp-next v2] Squash to "selftests: bpf: test bpf_skc_to_mptcp_sock"
Posted by Matthieu Baerts 1 year, 12 months ago
Hi Geliang,

On 31/03/2022 10:15, Geliang Tang wrote:
> Use dedicated bpf_mptcp_helpers.h for MPTCP tests, instead of sharing
> with bpf_tcp_helpers.h.

Thank you for the patch and the instructions!

Now in our tree:

New patches for t/upstream:
- d5c86aa2ae25: Squash to "selftests: bpf: test bpf_skc_to_mptcp_sock"
- 9a0c295c72ec: conflict in
t/selftests-bpf-verify-token-of-struct-mptcp_sock
- fcd9fe171917: conflict in
t/selftests-bpf-verify-ca_name-of-struct-mptcp_sock
- dc518d373c04: conflict in
t/selftests-bpf-verify-first-of-struct-mptcp_sock
- Results: 3012e4c62c2c..92bd3ceeef3e (export)

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20220331T133156
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export

Cheers,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net