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).
The Segment Routing architecture can be implemented using MPLS or IPv6 as data plane. We focus on the IPv6 implementation, called SRv6, in which the segments are identified by IPv6 addresses. SRNK (SR-Proxy Native Kernel) is a SR proxy which acts as relay mechanism in order to support SRv6 unaware VNFs (see Figure 1)
Scientific papers, technical reports, IETF drafts, Slides
- A. Mayer, S. Salsano, P.L. Ventre, A. Abdelsalam, L. Chiaraviglio, C. Filsfils, “An Efficient Linux Kernel Implementation of Service Function Chaining for legacy VNFs based on IPv6 Segment Routing”, submitted paper under review
SRNK (SR-Proxy Native Kernel) source code
- SRNK kernel implementation is the kernel space implementation (starting from 4.14.0)
- SRNK iproute2 tool implementation is the implementation of the enhancements to iproute2 tool (starting from iproute2-ss171112)
The Developers’ Team
- Andrea Mayer
- Stefano Salsano
- Pier Luigi Ventre
- Ahmed Abdelsalam