# An Efficient Linux Kernel Implementation of Service Function Chaining   for legacy VNFs based on IPv6 Segment Routing

**Authors:** Andrea Mayer, Stefano Salsano, Pier Luigi Ventre, Ahmed Abdelsalam,, Luca Chiaraviglio, Clarence Filsfils

arXiv: 1901.00936 · 2019-07-25

## TL;DR

This paper presents an optimized Linux kernel implementation for service function chaining using IPv6 Segment Routing, supporting legacy VNFs with minimal overhead and improved scalability.

## Contribution

The authors extend Linux kernel SRv6 support with a new SR-proxy design that enhances scalability and reduces overhead for legacy VNF support.

## Key findings

- SRNKv2 achieves scalability independent of the number of VNFs.
- Overhead of SRNKv2 is approximately 3.5%.
- Enhanced Linux Policy Routing framework improves performance.

## Abstract

We consider the IPv6 Segment Routing (SRv6) technology for Service Function Chaining of Virtual Network Functions (VNFs). Most of the VNFs are legacy VNFs (not aware of the SRv6 technology) and expect to process traditional IP packets. An SR proxy is needed to support them. We have extended the implementation of SRv6 in the Linux kernel, realizing an SR-proxy, referred to as SRNK (SR-Proxy Native Kernel). The performance of the proposed solution (SRNKv1) has been evaluated, identifying a poor scalability with respect to the number of VNFs to be supported in a node. Therefore we provided a second design (SRNKv2), enhancing the Linux Policy Routing framework. The performance of SRNKv2 is independent from the number of supported VNFs in a node. We compared the performance of SRNKv2 with a reference scenario not performing the encapsulation and decapsulation operation and demonstrated that the overhead of SRNKv2 is very small, on the order of 3.5%.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.00936/full.md

## Figures

15 figures with captions in the complete paper: https://tomesphere.com/paper/1901.00936/full.md

## References

34 references — full list in the complete paper: https://tomesphere.com/paper/1901.00936/full.md

---
Source: https://tomesphere.com/paper/1901.00936