TL;DR
This paper demonstrates how eBPF in Linux can be used to implement flexible, programmable network functions within IPv6 Segment Routing, supporting SDN, NFV, and SFC with acceptable performance overhead.
Contribution
It introduces a Linux kernel extension using eBPF for in-network programmability with IPv6 Segment Routing, enabling custom network functions.
Findings
eBPF functions can be integrated with IPv6 Segment Routing in Linux.
The implementation supports diverse network functions like delay measurement and network discovery.
Performance overhead of eBPF functions is acceptable for practical use.
Abstract
With the advent of Software Defined Networks (SDN), Network Function Virtualisation (NFV) or Service Function Chaining (SFC), operators expect networks to support flexible services beyond the mere forwarding of packets. The network programmability framework which is being developed within the IETF by leveraging IPv6 Segment Routing enables the realisation of in-network functions. In this paper, we demonstrate that this vision of in-network programmability can be realised. By leveraging the eBPF support in the Linux kernel, we implement a flexible framework that allows network operators to encode their own network functions as eBPF code that is automatically executed while processing specific packets. Our lab measurements indicate that the overhead of calling such eBPF functions remains acceptable. Thanks to eBPF, operators can implement a variety of network functions. We describe the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
