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