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