Segment Routing (SR) is a form of source routing. The SR architecture works by including a list of segments in the packet headers. A segment can represent a topological instruction (e.g. a node to be crossed) or a service instruction (e.g. an operation to be executed on the packet).
We focus on the IPv6 implementation of Segment Routing, called SRv6, in which the segments are identified by IPv6 addresses. An SDN based approach can be used to control SR based services in a Service Provider network. A centralized logic takes decisions on the Segment Lists that need to be applied to implement the services, then the SDN controller interacts with the SR enabled devices to enforce the application of such Segment Lists. In most cases, the SDN controller can interact only with edge nodes to setup and reconfigure complex services, which is very appealing from the point of view of the simplicity and efficiency of the solution.
We present hereafter our open source architecture:
Scientific papers, technical reports, IETF drafts, Slides
- P.L. Ventre, M.M. Tajiki, S. Salsano and C. Filsfils, “SDN Architecture and Southbound APIs for IPv6 Segment Routing Enabled Wide Area Networks”, IEEE Transaction on Network and Service Management (TNSM), December 2018
pyroute2 extensions to support SRv6
pyroute2 is a lightweight netlink library written in python. We submitted a patch which adds the support for SRv6 basic functionality. We use pyroute2 as “Southbound” of our SRv6Manager
- Introduces IPRoute support for SRv6 tunnel
- Adds encap and inline modes
- Supports hmac functionality for SRH
- Initial parsing of human friendly form
- Add seg6_encap_info for RTA_ENCAP mgmt
The extension is available from 0.5 release.
SRv6 SDN Architecture and Southbound APIs
- SRv6 Controller is a collection of modules implementing different functionalities of a SDN controller
- SRv6 Southbound API evaluation is a library for performance evaluation of the SRv6 Southbound APIs.
TODO: Upload videos and add links
- Stefano Salsano
- Carmine Scarpitta
- Pier Luigi Ventre
- Mohammad M. Tajiki