End.MAP is the simplest of the SRv6 Mobile User Plane (RFC 9433)
behaviors: it replaces the outer IPv6 destination address with a
configured next SID and forwards via the IPv6 FIB without consuming
the SRH. This series is the first per-behavior rebuild of the SRv6
Mobile User Plane v2 submission [1], split one series per behavior
following upstream review.
Because End.MAP is the first behavior to land, this series also
introduces the SRv6 Mobile User Plane lwtunnel framework that the
subsequent per-behavior series plug into:
* a new LWTUNNEL_ENCAP_SEG6_MOBILE encap type with a
CONFIG_IPV6_SEG6_MOBILE build option,
* net/ipv6/seg6_mobile.c, which hosts the action dispatch table,
* include/uapi/linux/seg6_mobile.h, a dedicated SEG6_MOBILE_*
attribute namespace, so that attributes whose semantics differ
between the mobility behaviors and the RFC 8986 behaviors do
not overload the SEG6_LOCAL_* table.
This layout follows the discussion on the v2 thread. The encap type
and the attribute namespace are UAPI that cannot be reduced once
merged, so feedback on this direction from the lwtunnel side is
particularly welcome. Per the same discussion, netfilter hook
integration, VRF support and SRv6-specific drop reasons are left out
of this initial series and will be revisited separately.
A matching iproute2 series adding the "seg6mobile" encap keyword
follows shortly after this posting, since the selftest needs it to
run.
[1]
https://lore.kernel.org/netdev/[email protected]/
Signed-off-by: Yuya Kusakabe <[email protected]>
---
Yuya Kusakabe (2):
seg6: add support for the SRv6 End.MAP behavior
selftests: seg6: add selftest for End.MAP behavior
include/net/seg6.h | 8 +
include/uapi/linux/lwtunnel.h | 1 +
include/uapi/linux/seg6_mobile.h | 58 ++
net/core/lwtunnel.c | 2 +
net/ipv6/Kconfig | 12 +
net/ipv6/Makefile | 1 +
net/ipv6/seg6.c | 7 +
net/ipv6/seg6_mobile.c | 725 +++++++++++++++++++++++
tools/testing/selftests/net/Makefile | 2 +
tools/testing/selftests/net/srv6_end_map_test.sh | 360 +++++++++++
tools/testing/selftests/net/srv6_mobile_send.c | 139 +++++
11 files changed, 1315 insertions(+)
---
base-commit: 08030ddb87b4c6c6a2c03c82731b5e188f02f5b9
change-id: 20260523-seg6-mobile-end-map-9cec24191817
Best regards,
--
Yuya Kusakabe <[email protected]>