Implementing IPv6 Segment Routing in the Linux Kernel

IPv6 Segment Routing is a major IPv6 extension that provides a modern version of source routing that is currently being developed within the Internet Engineering Task Force (IETF). We propose the first open-source implementation of IPv6 Segment Routing in the Linux kernel. We first describe it in details and explain how it can be used on both endhosts and routers. We then evaluate and compare its performance with plain IPv6 packet forwarding in a lab environment. Our measurements indicate that the performance penalty of inserting IPv6 Segment Routing Headers or encapsulating packets is limited to less than 15%. On the other hand, the optional HMAC security feature of IPv6 Segment Routing is costly in a pure software implementation. Since our implementation has been included in the official Linux 4.10 kernel, we expect that it will be extended by other researchers for new use cases.

[1]  Clarence Filsfils,et al.  The Segment Routing Architecture , 2014, 2015 IEEE Global Communications Conference (GLOBECOM).

[2]  Optimizing restoration with segment routing , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[3]  Luca Veltri,et al.  PMSR — Poor Man's Segment Routing, a minimalistic approach to Segment Routing and a Traffic Engineering use case , 2015, NOMS 2016 - 2016 IEEE/IFIP Network Operations and Management Symposium.

[4]  Clarence Filsfils,et al.  Segment Routing Architecture , 2018, RFC.

[5]  Stephen E. Deering,et al.  Internet Protocol, Version 6 (IPv6) Specification , 1995, RFC.

[6]  T. V. Lakshman,et al.  Optimized network traffic engineering using segment routing , 2015, 2015 IEEE Conference on Computer Communications (INFOCOM).

[7]  Yves Deville,et al.  SCMon: Leveraging segment routing to improve network monitoring , 2016, IEEE INFOCOM 2016 - The 35th Annual IEEE International Conference on Computer Communications.

[8]  Clarence Filsfils,et al.  Segment Routing with the MPLS Data Plane , 2019, RFC.

[9]  Olivier Bonaventure,et al.  A Declarative and Expressive Approach to Control Forwarding Paths in Carrier-Grade Networks , 2015, SIGCOMM.

[10]  Yves Deville,et al.  Traffic duplication through segmentable disjoint paths , 2015, 2015 IFIP Networking Conference (IFIP Networking).

[11]  Olivier Bonaventure,et al.  Insertion of IPv6 Segment Routing Headers in a Controlled Domain , 2017 .