mbox series

[net-next,v4,0/4] seg6: add support for SRv6 Headend Reduced Encapsulation

Message ID 20220701150152.24103-1-andrea.mayer@uniroma2.it
Headers show
Series seg6: add support for SRv6 Headend Reduced Encapsulation | expand

Message

Andrea Mayer July 1, 2022, 3:01 p.m. UTC
This patchset adds support for SRv6 Headend behavior with Reduced
Encapsulation. It introduces the H.Encaps.Red and H.L2Encaps.Red versions
of the SRv6 H.Encaps and H.L2Encaps behaviors, according to RFC 8986 [1].

In details, the patchset is made of:
 - patch 1/4: add support for SRv6 H.Encaps.Red behavior;
 - Patch 2/4: add support for SRv6 H.L2Encaps.Red behavior;
 - patch 2/4: add selftest for SRv6 H.Encaps.Red behavior;
 - patch 3/4: add selftest for SRv6 H.L2Encaps.Red behavior.

The corresponding iproute2 patch for supporting SRv6 H.Encaps.Red and
H.L2Encaps.Red behaviors is provided in a separated patchset.

[1] - https://datatracker.ietf.org/doc/html/rfc8986

v3 -> v4:
 - Add selftests to the Makefile, thanks to Jakub Kicinski.

v2 -> v3:
 - Keep SRH when HMAC TLV is present;

 - Split the support for H.Encaps.Red and H.L2Encaps.Red behaviors in two
   patches (respectively, patch 1/4 and patch 2/4);

 - Add selftests for SRv6 H.Encaps.Red and H.L2Encaps.Red.

v1 -> v2:
 - Fixed sparse warnings;

 - memset now uses sizeof() instead of hardcoded value;

 - Removed EXPORT_SYMBOL_GPL.

Andrea Mayer (4):
  seg6: add support for SRv6 H.Encaps.Red behavior
  seg6: add support for SRv6 H.L2Encaps.Red behavior
  selftests: seg6: add selftest for SRv6 H.Encaps.Red behavior
  selftests: seg6: add selftest for SRv6 H.L2Encaps.Red behavior

 include/uapi/linux/seg6_iptunnel.h            |   2 +
 net/ipv6/seg6_iptunnel.c                      | 138 +++-
 tools/testing/selftests/net/Makefile          |   2 +
 .../net/srv6_hencap_red_l3vpn_test.sh         | 742 ++++++++++++++++++
 .../net/srv6_hl2encap_red_l2vpn_test.sh       | 674 ++++++++++++++++
 5 files changed, 1556 insertions(+), 2 deletions(-)
 create mode 100755 tools/testing/selftests/net/srv6_hencap_red_l3vpn_test.sh
 create mode 100755 tools/testing/selftests/net/srv6_hl2encap_red_l2vpn_test.sh