Leveraging eBPF for programmable network functions with IPv6 segment routing
Leveraging eBPF for programmable network functions with IPv6 segment routing
复制标题
利用 eBPF 实现具有 IPv6 分段路由的可编程网络功能
DOI:
--
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
O. Bonaventure
中科院分区:
文献类型:
--
作者:
Mathieu Xhonneux;Fabien Duchene;O. Bonaventure
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 architecture of our implementation in the Linux kernel. This extension has been released with Linux 4.18. We illustrate the flexibility of our approach with three different use cases: delay measurements, hybrid networks and network discovery. Our lab measurements also indicate that the performance penalty of running eBPF network functions on Linux routers does not incur a significant overhead.