MPTCP Linux Development
 help / color / mirror / Atom feed
* [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags
@ 2025-11-26 18:31 Matthieu Baerts (NGI0)
  2025-11-26 18:31 ` [PATCH mptcp-net 1/3] " Matthieu Baerts (NGI0)
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-11-26 18:31 UTC (permalink / raw)
  To: MPTCP Upstream; +Cc: Matthieu Baerts (NGI0)

This is just a simple fix to ignore unknown endpoint flags. Recently, a
new "laminar" flag has been added. It can be set on older kernel
versions without effects -- which is good -- but it is strange to report
it in the endpoints dumps if it is not supported.

  # uname -r
  6.17.9
  # ip mptcp endpoint add 1.2.3.4 laminar  # not supported on v6.17
  # ip mptcp endpoint
  1.2.3.4 id 1 laminar

Patch 1 fixes that, while Patch 2 validates that.

Patch 3 is for mptcp-next, to correctly follow the specs and accept u32
flags instead of u8. This doesn't change anything, but avoids
confusions.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Matthieu Baerts (NGI0) (3):
      mptcp: pm: ignore unknown endpoint flags
      selftests: mptcp: pm: ensure unknown flags are ignored
      mptcp: pm: align endpoint flags size with the NL specs

 include/uapi/linux/mptcp.h                      |  1 +
 net/mptcp/pm_netlink.c                          |  3 ++-
 net/mptcp/protocol.h                            |  4 ++--
 tools/testing/selftests/net/mptcp/pm_netlink.sh |  4 ++++
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c   | 11 +++++++++++
 5 files changed, 20 insertions(+), 3 deletions(-)
---
base-commit: 690b1c68fd1e566ffa60fec98e09292cc9f04a3a
change-id: 20251125-mptcp-pm-kern-drop-unknown-flags-e4ec71df02e7

Best regards,
-- 
Matthieu Baerts (NGI0) <matttbe@kernel.org>


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH mptcp-net 1/3] mptcp: pm: ignore unknown endpoint flags
  2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
@ 2025-11-26 18:31 ` Matthieu Baerts (NGI0)
  2025-11-26 18:31 ` [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored Matthieu Baerts (NGI0)
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-11-26 18:31 UTC (permalink / raw)
  To: MPTCP Upstream; +Cc: Matthieu Baerts (NGI0)

Before this patch, the kernel was saving any flags set by the userspace,
even unknown ones. This doesn't cause critical issues because the kernel
is only looking at specific ones. But on the other hand, endpoints dumps
could tell the userspace some recent flags seem to be supported on older
kernel versions.

Instead, ignore all unknown flags when parsing them. By doing that, the
userspace can continue to set unsupported flags, but it has a way to
verify what is supported by the kernel.

Note that it sounds better to continue accepting unsupported flags not
to change the behaviour, but also that eases things on the userspace
side by adding "optional" endpoint types only supported by newer kernel
versions without having to deal with the different kernel versions.

A note for the backports: there will be conflicts in mptcp.h on older
versions not having the mentioned flags, the new line should still be
added last, and the '5' needs to be adapted to have the same value as
the last entry.

Fixes: 01cacb00b35c ("mptcp: add netlink-based PM")
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 include/uapi/linux/mptcp.h | 1 +
 net/mptcp/pm_netlink.c     | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/uapi/linux/mptcp.h b/include/uapi/linux/mptcp.h
index 04eea6d1d0a9..72a5d030154e 100644
--- a/include/uapi/linux/mptcp.h
+++ b/include/uapi/linux/mptcp.h
@@ -40,6 +40,7 @@
 #define MPTCP_PM_ADDR_FLAG_FULLMESH		_BITUL(3)
 #define MPTCP_PM_ADDR_FLAG_IMPLICIT		_BITUL(4)
 #define MPTCP_PM_ADDR_FLAG_LAMINAR		_BITUL(5)
+#define MPTCP_PM_ADDR_FLAGS_MASK		GENMASK(5, 0)
 
 struct mptcp_info {
 	__u8	mptcpi_subflows;
diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
index d5b383870f79..7aa42de9c47b 100644
--- a/net/mptcp/pm_netlink.c
+++ b/net/mptcp/pm_netlink.c
@@ -119,7 +119,8 @@ int mptcp_pm_parse_entry(struct nlattr *attr, struct genl_info *info,
 	}
 
 	if (tb[MPTCP_PM_ADDR_ATTR_FLAGS])
-		entry->flags = nla_get_u32(tb[MPTCP_PM_ADDR_ATTR_FLAGS]);
+		entry->flags = nla_get_u32(tb[MPTCP_PM_ADDR_ATTR_FLAGS]) &
+			       MPTCP_PM_ADDR_FLAGS_MASK;
 
 	if (tb[MPTCP_PM_ADDR_ATTR_PORT])
 		entry->addr.port = htons(nla_get_u16(tb[MPTCP_PM_ADDR_ATTR_PORT]));

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored
  2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
  2025-11-26 18:31 ` [PATCH mptcp-net 1/3] " Matthieu Baerts (NGI0)
@ 2025-11-26 18:31 ` Matthieu Baerts (NGI0)
  2025-11-26 23:57   ` Mat Martineau
  2025-11-26 18:31 ` [PATCH mptcp-net 3/3] mptcp: pm: align endpoint flags size with the NL specs Matthieu Baerts (NGI0)
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-11-26 18:31 UTC (permalink / raw)
  To: MPTCP Upstream; +Cc: Matthieu Baerts (NGI0)

This validates the previous commit: the userspace can set unknown flags
-- the 7th bit is currently unused -- without errors, but only the
supported ones are printed in the endpoints dumps.

The 'Fixes' tag here below is the same as the one from the previous
commit: this patch here is not fixing anything wrong in the selftests,
but it validates the previous fix for an issue introduced by this commit
ID.

Fixes: 01cacb00b35c ("mptcp: add netlink-based PM")
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
 tools/testing/selftests/net/mptcp/pm_netlink.sh |  4 ++++
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c   | 11 +++++++++++
 2 files changed, 15 insertions(+)

diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
index ec6a87588191..123d9d7a0278 100755
--- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
+++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
@@ -192,6 +192,10 @@ check "show_endpoints" \
 flush_endpoint
 check "show_endpoints" "" "flush addrs"
 
+add_endpoint 10.0.1.1 flags unknown
+check "show_endpoints" "$(format_endpoints "1,10.0.1.1")" "ignore unknown flags"
+flush_endpoint
+
 set_limits 9 1 2>/dev/null
 check "get_limits" "${default_limits}" "rcv addrs above hard limit"
 
diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
index 65b374232ff5..99eecccbf0c8 100644
--- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
+++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
@@ -24,6 +24,8 @@
 #define IPPROTO_MPTCP 262
 #endif
 
+#define MPTCP_PM_ADDR_FLAG_UNKNOWN _BITUL(7)
+
 static void syntax(char *argv[])
 {
 	fprintf(stderr, "%s add|ann|rem|csf|dsf|get|set|del|flush|dump|events|listen|accept [<args>]\n", argv[0]);
@@ -836,6 +838,8 @@ int add_addr(int fd, int pm_family, int argc, char *argv[])
 					flags |= MPTCP_PM_ADDR_FLAG_BACKUP;
 				else if (!strcmp(tok, "fullmesh"))
 					flags |= MPTCP_PM_ADDR_FLAG_FULLMESH;
+				else if (!strcmp(tok, "unknown"))
+					flags |= MPTCP_PM_ADDR_FLAG_UNKNOWN;
 				else
 					error(1, errno,
 					      "unknown flag %s", argv[arg]);
@@ -1048,6 +1052,13 @@ static void print_addr(struct rtattr *attrs, int len)
 					printf(",");
 			}
 
+			if (flags & MPTCP_PM_ADDR_FLAG_UNKNOWN) {
+				printf("unknown");
+				flags &= ~MPTCP_PM_ADDR_FLAG_UNKNOWN;
+				if (flags)
+					printf(",");
+			}
+
 			/* bump unknown flags, if any */
 			if (flags)
 				printf("0x%x", flags);

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH mptcp-net 3/3] mptcp: pm: align endpoint flags size with the NL specs
  2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
  2025-11-26 18:31 ` [PATCH mptcp-net 1/3] " Matthieu Baerts (NGI0)
  2025-11-26 18:31 ` [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored Matthieu Baerts (NGI0)
@ 2025-11-26 18:31 ` Matthieu Baerts (NGI0)
  2025-11-26 19:52 ` [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags MPTCP CI
  2025-11-26 23:54 ` Mat Martineau
  4 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts (NGI0) @ 2025-11-26 18:31 UTC (permalink / raw)
  To: MPTCP Upstream; +Cc: Matthieu Baerts (NGI0)

The MPTCP Netlink specs describe the 'flags' as a u32 type. Internally,
a u8 type was used.

Using a u8 is currently fine, because only the 5 first bits are used.
But there is also no reason not to be aligns with the specs, and
to stick to a u8. Especially because there is a whole of 3 bytes after
in both mptcp_pm_local and mptcp_pm_addr_entry structures.

Also, setting it to a u32 will allow future flags, just in case.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
This is for mptcp-next, and it explains why setting flags between the
8th to the 31st bit in the previous patch didn't have any effect.
---
 net/mptcp/protocol.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/mptcp/protocol.h b/net/mptcp/protocol.h
index 199f28f3dd5e..d98c0cfa5889 100644
--- a/net/mptcp/protocol.h
+++ b/net/mptcp/protocol.h
@@ -247,14 +247,14 @@ struct mptcp_pm_data {
 
 struct mptcp_pm_local {
 	struct mptcp_addr_info	addr;
-	u8			flags;
+	u32			flags;
 	int			ifindex;
 };
 
 struct mptcp_pm_addr_entry {
 	struct list_head	list;
 	struct mptcp_addr_info	addr;
-	u8			flags;
+	u32			flags;
 	int			ifindex;
 	struct socket		*lsk;
 };

-- 
2.51.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags
  2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
                   ` (2 preceding siblings ...)
  2025-11-26 18:31 ` [PATCH mptcp-net 3/3] mptcp: pm: align endpoint flags size with the NL specs Matthieu Baerts (NGI0)
@ 2025-11-26 19:52 ` MPTCP CI
  2025-11-26 23:54 ` Mat Martineau
  4 siblings, 0 replies; 9+ messages in thread
From: MPTCP CI @ 2025-11-26 19:52 UTC (permalink / raw)
  To: Matthieu Baerts; +Cc: mptcp

Hi Matthieu,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Unstable: 1 failed test(s): packetdrill_sockopts 🔴
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/19714326364

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/2a19986e53c8
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1027994


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-normal

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 (NGI0 Core)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags
  2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
                   ` (3 preceding siblings ...)
  2025-11-26 19:52 ` [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags MPTCP CI
@ 2025-11-26 23:54 ` Mat Martineau
  2025-11-27 15:07   ` Matthieu Baerts
  4 siblings, 1 reply; 9+ messages in thread
From: Mat Martineau @ 2025-11-26 23:54 UTC (permalink / raw)
  To: Matthieu Baerts (NGI0); +Cc: MPTCP Upstream

On Wed, 26 Nov 2025, Matthieu Baerts (NGI0) wrote:

> This is just a simple fix to ignore unknown endpoint flags. Recently, a
> new "laminar" flag has been added. It can be set on older kernel
> versions without effects -- which is good -- but it is strange to report
> it in the endpoints dumps if it is not supported.
>
>  # uname -r
>  6.17.9
>  # ip mptcp endpoint add 1.2.3.4 laminar  # not supported on v6.17
>  # ip mptcp endpoint
>  1.2.3.4 id 1 laminar
>
> Patch 1 fixes that, while Patch 2 validates that.
>
> Patch 3 is for mptcp-next, to correctly follow the specs and accept u32
> flags instead of u8. This doesn't change anything, but avoids
> confusions.
>
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
> Matthieu Baerts (NGI0) (3):
>      mptcp: pm: ignore unknown endpoint flags
>      selftests: mptcp: pm: ensure unknown flags are ignored
>      mptcp: pm: align endpoint flags size with the NL specs

Hi Matthieu!

All three patches LGTM:

Reviewed-by: Mat Martineau <martineau@kernel.org>

See my comment on patch 2 regarding an additional fourth patch for 
net-next.

Thanks,
Mat


>
> include/uapi/linux/mptcp.h                      |  1 +
> net/mptcp/pm_netlink.c                          |  3 ++-
> net/mptcp/protocol.h                            |  4 ++--
> tools/testing/selftests/net/mptcp/pm_netlink.sh |  4 ++++
> tools/testing/selftests/net/mptcp/pm_nl_ctl.c   | 11 +++++++++++
> 5 files changed, 20 insertions(+), 3 deletions(-)
> ---
> base-commit: 690b1c68fd1e566ffa60fec98e09292cc9f04a3a
> change-id: 20251125-mptcp-pm-kern-drop-unknown-flags-e4ec71df02e7
>
> Best regards,
> -- 
> Matthieu Baerts (NGI0) <matttbe@kernel.org>
>
>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored
  2025-11-26 18:31 ` [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored Matthieu Baerts (NGI0)
@ 2025-11-26 23:57   ` Mat Martineau
  2025-11-27 14:57     ` Matthieu Baerts
  0 siblings, 1 reply; 9+ messages in thread
From: Mat Martineau @ 2025-11-26 23:57 UTC (permalink / raw)
  To: Matthieu Baerts (NGI0); +Cc: MPTCP Upstream

On Wed, 26 Nov 2025, Matthieu Baerts (NGI0) wrote:

> This validates the previous commit: the userspace can set unknown flags
> -- the 7th bit is currently unused -- without errors, but only the
> supported ones are printed in the endpoints dumps.
>
> The 'Fixes' tag here below is the same as the one from the previous
> commit: this patch here is not fixing anything wrong in the selftests,
> but it validates the previous fix for an issue introduced by this commit
> ID.
>
> Fixes: 01cacb00b35c ("mptcp: add netlink-based PM")
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
> tools/testing/selftests/net/mptcp/pm_netlink.sh |  4 ++++
> tools/testing/selftests/net/mptcp/pm_nl_ctl.c   | 11 +++++++++++
> 2 files changed, 15 insertions(+)
>
> diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testing/selftests/net/mptcp/pm_netlink.sh
> index ec6a87588191..123d9d7a0278 100755
> --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh
> +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh
> @@ -192,6 +192,10 @@ check "show_endpoints" \
> flush_endpoint
> check "show_endpoints" "" "flush addrs"
>
> +add_endpoint 10.0.1.1 flags unknown
> +check "show_endpoints" "$(format_endpoints "1,10.0.1.1")" "ignore unknown flags"
> +flush_endpoint
> +
> set_limits 9 1 2>/dev/null
> check "get_limits" "${default_limits}" "rcv addrs above hard limit"
>
> diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
> index 65b374232ff5..99eecccbf0c8 100644
> --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
> +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
> @@ -24,6 +24,8 @@
> #define IPPROTO_MPTCP 262
> #endif
>
> +#define MPTCP_PM_ADDR_FLAG_UNKNOWN _BITUL(7)

Given the u8->u32 change in patch 3, I can see why this needs to be 7 for 
this patch to be meaningful for -net.

Can you add a patch 4 that updates this to _BITUL(31) to match up with 
the internal flag representation change?

Thanks,
Mat

> +
> static void syntax(char *argv[])
> {
> 	fprintf(stderr, "%s add|ann|rem|csf|dsf|get|set|del|flush|dump|events|listen|accept [<args>]\n", argv[0]);
> @@ -836,6 +838,8 @@ int add_addr(int fd, int pm_family, int argc, char *argv[])
> 					flags |= MPTCP_PM_ADDR_FLAG_BACKUP;
> 				else if (!strcmp(tok, "fullmesh"))
> 					flags |= MPTCP_PM_ADDR_FLAG_FULLMESH;
> +				else if (!strcmp(tok, "unknown"))
> +					flags |= MPTCP_PM_ADDR_FLAG_UNKNOWN;
> 				else
> 					error(1, errno,
> 					      "unknown flag %s", argv[arg]);
> @@ -1048,6 +1052,13 @@ static void print_addr(struct rtattr *attrs, int len)
> 					printf(",");
> 			}
>
> +			if (flags & MPTCP_PM_ADDR_FLAG_UNKNOWN) {
> +				printf("unknown");
> +				flags &= ~MPTCP_PM_ADDR_FLAG_UNKNOWN;
> +				if (flags)
> +					printf(",");
> +			}
> +
> 			/* bump unknown flags, if any */
> 			if (flags)
> 				printf("0x%x", flags);
>
> -- 
> 2.51.0
>
>
>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored
  2025-11-26 23:57   ` Mat Martineau
@ 2025-11-27 14:57     ` Matthieu Baerts
  0 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2025-11-27 14:57 UTC (permalink / raw)
  To: Mat Martineau; +Cc: MPTCP Upstream

Hi Mat,

Thank you for the review!

On 27/11/2025 00:57, Mat Martineau wrote:
> On Wed, 26 Nov 2025, Matthieu Baerts (NGI0) wrote:
> 
>> This validates the previous commit: the userspace can set unknown flags
>> -- the 7th bit is currently unused -- without errors, but only the
>> supported ones are printed in the endpoints dumps.
>>
>> The 'Fixes' tag here below is the same as the one from the previous
>> commit: this patch here is not fixing anything wrong in the selftests,
>> but it validates the previous fix for an issue introduced by this commit
>> ID.

(...)

>> diff --git a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c b/tools/
>> testing/selftests/net/mptcp/pm_nl_ctl.c
>> index 65b374232ff5..99eecccbf0c8 100644
>> --- a/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
>> +++ b/tools/testing/selftests/net/mptcp/pm_nl_ctl.c
>> @@ -24,6 +24,8 @@
>> #define IPPROTO_MPTCP 262
>> #endif
>>
>> +#define MPTCP_PM_ADDR_FLAG_UNKNOWN _BITUL(7)
> 
> Given the u8->u32 change in patch 3, I can see why this needs to be 7
> for this patch to be meaningful for -net.
> 
> Can you add a patch 4 that updates this to _BITUL(31) to match up with
> the internal flag representation change?

It makes sense, and I was going to do that, but now I'm hesitating: some
CIs will use the latest version of the selftests on older kernels. If
they do that, the test will be less interesting on older kernels.

Maybe that's not an issue? I could move it to 31, or set bits from 6 to
31. Or stay on 7 for the time being?

(I don't think we would add new flags, but if we do, we can also move
this flag to the end later on?)

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags
  2025-11-26 23:54 ` Mat Martineau
@ 2025-11-27 15:07   ` Matthieu Baerts
  0 siblings, 0 replies; 9+ messages in thread
From: Matthieu Baerts @ 2025-11-27 15:07 UTC (permalink / raw)
  To: Mat Martineau; +Cc: MPTCP Upstream

Hi Mat,

On 27/11/2025 00:54, Mat Martineau wrote:
> On Wed, 26 Nov 2025, Matthieu Baerts (NGI0) wrote:
> 
>> This is just a simple fix to ignore unknown endpoint flags. Recently, a
>> new "laminar" flag has been added. It can be set on older kernel
>> versions without effects -- which is good -- but it is strange to report
>> it in the endpoints dumps if it is not supported.
>>
>>  # uname -r
>>  6.17.9
>>  # ip mptcp endpoint add 1.2.3.4 laminar  # not supported on v6.17
>>  # ip mptcp endpoint
>>  1.2.3.4 id 1 laminar
>>
>> Patch 1 fixes that, while Patch 2 validates that.
>>
>> Patch 3 is for mptcp-next, to correctly follow the specs and accept u32
>> flags instead of u8. This doesn't change anything, but avoids
>> confusions.
>>
>> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
>> ---
>> Matthieu Baerts (NGI0) (3):
>>      mptcp: pm: ignore unknown endpoint flags
>>      selftests: mptcp: pm: ensure unknown flags are ignored
>>      mptcp: pm: align endpoint flags size with the NL specs
> 
> Hi Matthieu!
> 
> All three patches LGTM:
> 
> Reviewed-by: Mat Martineau <martineau@kernel.org>

Thank you for the review!

> See my comment on patch 2 regarding an additional fourth patch for net-
> next.

Replied!

And applied:

New patches for t/upstream-net and t/upstream:
- 42678c2b1831: mptcp: pm: ignore unknown endpoint flags
- 61aa36a0d8af: selftests: mptcp: pm: ensure unknown flags are ignored
- Results: 643ff4ccf427..5bbaf3d47feb (export-net)

- 7174c458730b: mptcp: pm: align endpoint flags size with the NL specs
- Results: 70279bef46d8..1fea9a6bd10f (export)

Tests are now in progress:

- export-net:
https://github.com/multipath-tcp/mptcp_net-next/commit/419c354054eb2e8a2c694be3ef18e8fc35780cc2/checks
- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/9e5249109d34f839b6573890fbab202a784b83cb/checks


Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-11-27 15:07 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-26 18:31 [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags Matthieu Baerts (NGI0)
2025-11-26 18:31 ` [PATCH mptcp-net 1/3] " Matthieu Baerts (NGI0)
2025-11-26 18:31 ` [PATCH mptcp-net 2/3] selftests: mptcp: pm: ensure unknown flags are ignored Matthieu Baerts (NGI0)
2025-11-26 23:57   ` Mat Martineau
2025-11-27 14:57     ` Matthieu Baerts
2025-11-26 18:31 ` [PATCH mptcp-net 3/3] mptcp: pm: align endpoint flags size with the NL specs Matthieu Baerts (NGI0)
2025-11-26 19:52 ` [PATCH mptcp-net 0/3] mptcp: pm: ignore unknown endpoint flags MPTCP CI
2025-11-26 23:54 ` Mat Martineau
2025-11-27 15:07   ` Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox