This paper shares our experience in supporting and running the Open vSwitch (OVS) software switch, as part of the NSX product for enterprise data center virtualization used by thousands of VMware customers. Starting in 2009, the OVS design split its code between tightly coupled kernel and userspace components. This split was necessary at the time for performance, but it caused maintainability problems that persist today. In addition, in-kernel packet processing is now much slower than newer options. To solve the problems caused by the user/kernel split, OVS must adopt a new architecture. We describe two possibilities that we explored, but did not adopt, one because it gives up compatibility with drivers and tools that are important to virtual data center operators, the other because it performs poorly. Instead, we endorse a third approach, based on a new Linux socket type called AF\_XDP, which solves the maintainability problem in a compatible, performant way. The new code is already merged into the mainstream OVS repository. We include a thorough performance evaluation and a collection of lessons learned.
CITATION STYLE
Tu, W., Wei, Y. H., Antichi, G., & Pfaff, B. (2021). Revisiting the open vSwitch dataplane ten years later. In SIGCOMM 2021 - Proceedings of the ACM SIGCOMM 2021 Conference (pp. 245–257). Association for Computing Machinery, Inc. https://doi.org/10.1145/3452296.3472914
Mendeley helps you to discover research relevant for your work.