naccyde / rpms / systemd

Forked from rpms/systemd a year ago
Clone
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