selftests: seg6: add selftest for NEXT-C-SID flavor in SRv6 End.X behavior
authorPaolo Lungaroni <paolo.lungaroni@uniroma2.it>
Sat, 12 Aug 2023 18:09:26 +0000 (20:09 +0200)
committerJakub Kicinski <kuba@kernel.org>
Wed, 16 Aug 2023 01:51:47 +0000 (18:51 -0700)
commit1c53717c80740be035d2110e20ad4877a1784c61
treef4c8c8f002a13abb5d2f45f02987d3f05922a6cc
parent7458575a07f1c6768e46b8eac6e09a358804c9f6
selftests: seg6: add selftest for NEXT-C-SID flavor in SRv6 End.X behavior

This selftest is designed for testing the support of NEXT-C-SID flavor
for SRv6 End.X behavior. It instantiates a virtual network composed of
several nodes: hosts and SRv6 routers. Each node is realized using a
network namespace that is properly interconnected to others through veth
pairs, according to the topology depicted in the selftest script file.
The test considers SRv6 routers implementing IPv4/IPv6 L3 VPNs leveraged
by hosts for communicating with each other. Such routers i) apply
different SRv6 Policies to the traffic received from connected hosts,
considering the IPv4 or IPv6 protocols; ii) use the NEXT-C-SID
compression mechanism for encoding several SRv6 segments within a single
128-bit SID address, referred to as a Compressed SID (C-SID) container.

The NEXT-C-SID is provided as a "flavor" of the SRv6 End.X behavior,
enabling it to properly process the C-SID containers. The correct
execution of the enabled NEXT-C-SID SRv6 End.X behavior is verified
through reachability tests carried out between hosts belonging to the
same VPN.

Signed-off-by: Paolo Lungaroni <paolo.lungaroni@uniroma2.it>
Co-developed-by: Andrea Mayer <andrea.mayer@uniroma2.it>
Signed-off-by: Andrea Mayer <andrea.mayer@uniroma2.it>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20230812180926.16689-3-andrea.mayer@uniroma2.it
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/Makefile
tools/testing/selftests/net/srv6_end_x_next_csid_l3vpn_test.sh [new file with mode: 0755]