70 lines
2.1 KiB
Diff
70 lines
2.1 KiB
Diff
From ad96352bfdc2865237beca32fd7d50cfef3e75c7 Mon Sep 17 00:00:00 2001
|
|
From: Wen Liang <wenliang@redhat.com>
|
|
Date: Thu, 1 Jun 2023 10:33:46 -0400
|
|
Subject: [PATCH] mptcp: add support for implicit flag
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2109135
|
|
Upstream Status: iproute2-next.git commit 3a2535a4
|
|
|
|
commit 3a2535a41854d481c1a052e267d1fe5d83f9493c
|
|
Author: Andrea Claudi <aclaudi@redhat.com>
|
|
Date: Tue May 16 11:48:04 2023 +0200
|
|
|
|
mptcp: add support for implicit flag
|
|
|
|
Kernel supports implicit flag since commit d045b9eb95a9 ("mptcp:
|
|
introduce implicit endpoints"), included in v5.18.
|
|
|
|
Let's add support for displaying it to iproute2.
|
|
|
|
Before this change:
|
|
$ ip mptcp endpoint show
|
|
10.0.2.2 id 1 rawflags 10
|
|
|
|
After this change:
|
|
$ ip mptcp endpoint show
|
|
10.0.2.2 id 1 implicit
|
|
|
|
Signed-off-by: Andrea Claudi <aclaudi@redhat.com>
|
|
Signed-off-by: David Ahern <dsahern@kernel.org>
|
|
---
|
|
ip/ipmptcp.c | 1 +
|
|
man/man8/ip-mptcp.8 | 9 +++++++++
|
|
2 files changed, 10 insertions(+)
|
|
|
|
diff --git a/ip/ipmptcp.c b/ip/ipmptcp.c
|
|
index beba7a41..9847f95b 100644
|
|
--- a/ip/ipmptcp.c
|
|
+++ b/ip/ipmptcp.c
|
|
@@ -58,6 +58,7 @@ static const struct {
|
|
{ "subflow", MPTCP_PM_ADDR_FLAG_SUBFLOW },
|
|
{ "backup", MPTCP_PM_ADDR_FLAG_BACKUP },
|
|
{ "fullmesh", MPTCP_PM_ADDR_FLAG_FULLMESH },
|
|
+ { "implicit", MPTCP_PM_ADDR_FLAG_IMPLICIT },
|
|
{ "nobackup", MPTCP_PM_ADDR_FLAG_NONE },
|
|
{ "nofullmesh", MPTCP_PM_ADDR_FLAG_NONE }
|
|
};
|
|
diff --git a/man/man8/ip-mptcp.8 b/man/man8/ip-mptcp.8
|
|
index 72762f49..b427065c 100644
|
|
--- a/man/man8/ip-mptcp.8
|
|
+++ b/man/man8/ip-mptcp.8
|
|
@@ -176,6 +176,15 @@ endpoint. When the peer does announce addresses, each received ADD_ADDR
|
|
sub-option will trigger creation of an additional subflow to generate a
|
|
full mesh topology.
|
|
|
|
+.TP
|
|
+.BR implicit
|
|
+In some scenarios, an MPTCP
|
|
+.BR subflow
|
|
+can use a local address mapped by a implicit endpoint created by the
|
|
+in-kernel path manager. Once set, the implicit flag cannot be removed, but
|
|
+other flags can be added to the endpoint. Implicit endpoints cannot be
|
|
+created from user-space.
|
|
+
|
|
.sp
|
|
.PP
|
|
The
|
|
--
|
|
2.38.1
|
|
|