SRv6 Network Programming in Linux
The “SRv6 Network Programming” is a new paradigm (see the IETF draft) to support advanced services in IPv6 networks. It relies on the capability to compose complex network service by chaining individual functions distributed through the SRv6 network and to represent the chains with Segment Routing headers that are included in the IPv6 packet headers.
srext - Segment Routing Extension Linux kernel module
We are implementing the SRv6 Network Programming model in the srext Linux kernel module, supported by a CLI based configuration application called srconf. See our public code repository.
Chaining of SRv6-unaware VNFs
We implemented a testbed for a SFC use case (chaining of SR-unaware VNFs using SRv6). The testbed can be easily replicated using Vagrant/VirtualBox.
Scientific papers, technical reports, IETF drafts, Slides
A. AbdelSalam, F. Clad, C. Filsfils, S. Salsano, G. Siracusano and L. Veltri
“Implementation of Virtual Network Function Chaining through Segment Routing in a Linux-based NFV Infrastructure”,
3rd IEEE Conference on Network Softwarization (NetSoft 2017), Bologna, Italy, July 2017.
IETF draft “Segment Routing for Service Chaining,” October 2017.
Slides “ Service Function Chaining with SRv6,” January 2018.