[PATCH mptcp-net 0/6] mptcp: pm: userspace: properly deal with the ID0 case
"Matthieu Baerts (NGI0)" <[email protected]> Mon, 27 Jul 2026 19:21:49 +0200
| Newsgroups | dev.linux.lists.mptcp |
|---|---|
| Message-ID | <20260727-mptcp-pm-userspace-id0-case-v1-0-9877f02a9bae@kernel.org> |
In MPTCP, the local address and port used by the initial subflow has the ID "0". It means that when this address and port are used for some operations -- e.g. creating a new subflow -- they should be linked to the ID0, and no other addresses and ports can get this special ID while the initial IP address and port is used. Instead of dealing with the ID0 case as an exception, add it to the local addr list, and deal with it like the others, with minor exceptions. That way, it seems easier to maintain instead of adding new exceptions at a few places, at the cost of a few more bytes, which seems OK in this mode. The first patch modifies add the initial address to the list, and the others remove exceptions, and validate that in the selftests. Signed-off-by: Matthieu Baerts (NGI0) <[email protected]> --- Matthieu Baerts (NGI0) (6): mptcp: pm: userspace: properly handle the ID0 case mptcp: pm: userspace: allow announcing ID0 addr mptcp: pm: userspace: no ID0 exception for RM_ADDR mptcp: pm: userspace: don't dump initial ID0 selftests: mptcp: join: new ID0 subflow from the right IP mptcp: pm: restrict in-kernel worker actions to this PM net/mptcp/pm.c | 8 ++- net/mptcp/pm_userspace.c | 69 +++++++++---------------- net/mptcp/protocol.h | 1 + tools/testing/selftests/net/mptcp/mptcp_join.sh | 7 +-- 4 files changed, 37 insertions(+), 48 deletions(-) --- base-commit: ddf9f880a057486230f16d6a4a8cab7e41c40da1 change-id: 20260724-mptcp-pm-userspace-id0-case-f074f64466c8 Best regards, -- Matthieu Baerts (NGI0) <[email protected]>