Building an Extensible Open vSwitch Datapath

Building an Extensible Open vSwitch Datapath
复制标题

DOI:
10.1145/3139645.3139657
复制
发表时间:
2017-09
期刊:
ACM SIGOPS Oper. Syst. Rev.
影响因子:
--
通讯作者:
Cheng-Chun Tu;Joe Stringer;J. Pettit
Cheng-Chun Tu;Joe Stringer;J. Pettit
中科院分区:
其他
文献类型:
--
作者:
Cheng-Chun Tu;Joe Stringer;J. Pettit

文献摘要

被引文献

相似文献

虚拟交换机是当今虚拟数据中心的基石。由于进出虚拟机或容器的所有流量都必须通过vSwitch,因此它是网络配置和策略实施的理想位置。Open vSwitch的大部分功能与平台无关且可移植。但是,触及每个包的数据路径对于每个支持的平台都是唯一的。维护每个数据路径需要重复的工作,结果是跨平台对功能的支持不一致。即使在单一平台上,特定内核版本支持的功能也可能有所不同。此外,数据路径功能必须广泛使用,以防止在快速路径中具有特定于应用程序的功能。EBPF,即扩展的Berkeley数据包过滤器,使用户空间应用程序能够定制和扩展Linux内核的功能。它为网络功能提供了灵活的平台抽象,并且正在被移植到各种平台。本文描述了一种基于eBPF的可扩展OVS数据路径的设计、实现和评估。EBPF OVS数据路径提供了与现有OVS内核数据路径相同的功能,同时显著减少了围绕可维护性和可扩展性的开发痛点。我们演示了这些好处在性能方面不一定有折衷,与现有的内核数据路径相比,基于eBPF的数据路径的开销可以忽略不计。
The virtual switch is the cornerstone of the today's virtualized data center. As all traffic to and from virtual machines or containers must pass through a vSwitch, it is the ideal location for network configuration and policy enforcement. The bulk of Open vSwitch functionality is platform-agnostic and portable. However the datapath, which touches every packet, is unique to each supported platform. Maintaining each datapath requires duplicated effort and the result has been inconsistent support of features across platforms. Even on a single platform, the features supported by a particular kernel version can vary. Further, datapath functionality must be broadly useful which prevents having application-specific features in the fast path. eBPF, extended Berkeley Packet Filter, enables userspace applications to customize and extend the Linux kernel's functionality. It provides flexible platform abstractions for network functions, and is being ported to a variety of platforms. This paper describes the design, implementation, and evaluation of an eBPF-based extensible OVS datapath. The eBPF OVS datapath delivers the equivalent functionality of the existing OVS kernel datapath, while significantly reducing development pain points around maintainability and extensibility. We demonstrate that these benefits don't necessarily have a trade off in regards to performance, with the eBPFbased datapath showing negligible overhead compared to the existing kernel datapath.