Open vSwitch
Projects Features

Looking Ahead as Open vSwitch Hits Its First Decade

Earlier this year, Open vSwitch received the 2018 Software Systems Award at the Association for Computing Machinery’s (ACM) annual Symposium on SDN Research (SOSR) in Los Angeles. The award recognizes a software system that’s been instrumental to SDN research. As the co-originator of Open vSwitch, I was honored to receive the award with my colleague Justin Pettit on behalf of the hundreds of contributors that make up the Open vSwitch community.

We received the SOSR award just as Open vSwitch reached its 10 year anniversary. Now seems like a good time, then, to look back on where we came from and to think about what comes next. When we started Open vSwitch in 2008 at Nicira (which VMware acquired in 2012), our goal was to create something that could not only be useful to Nicira itself but to many others as well. After all, that would increase its chance of being a long-term success.

Open vSwitch

We deliberately created a general purpose solution with wide applicability. Even if we had wanted to specialize, Nicira was an early stage startup at that point and we weren’t sure how the company would need Open vSwitch to develop. We kept assuming that as Nicira came into focus, we’d optimize Open vSwitch to match it, but we kept holding off as we saw the software gain in popularity. In retrospect, that was a smart move. Open vSwitch has now been used in many industrial projects and has been cited in over 3,000 papers as listed on Google Scholar.

The SOSR award also reflects the novel technology that we were able to build into Open vSwitch. Over the years, we’ve published a number of papers detailing these innovations, including The Design and Implementation of Open vSwitch, which was named Best Paper at the 2015 USENIX Symposium on Networked Systems Design and Implementation.

Having the chance to continuously innovate is one of the things that keeps us going. For example, we started a new project a couple of years ago that extends Open vSwitch: OVN, which stands for “open virtual network.” OVN builds a network virtualization application on top of Open vSwitch. We created it as a way to encourage people to accept virtualized networking and to help drive demand for VMware’s NSX networking solution.

One reason OVN is succeeding is that our team has a history with network virtualization that goes back to the early days of Open vSwitch. At Nicira, we wrote several generations of network virtualizers. With each, we learned what works best and what to avoid. All of that information is reflected in OVN, which several companies have already adopted and actively contribute to.

I’m really proud of what we’ve been able to feed into the open source community and how our fellow contributors have been able to improve our projects. But what’s ahead for our team?

Perhaps the biggest thing on our radar right now is thinking about how networking is changing with the advent of containers. Until recently, the most important thing for a virtual switch to interact with has been a virtual machine (VM). But containers, which are smaller and agiler, evolve more frequently than VMs, changing the whole networking landscape in the process.

Containers are rising in popularity and their users want to network containers a little differently. Many simply don’t care about, or want to have to think about, the network. They want network architectures to be simpler than they have been for VM users and to work at a higher level, where routing is based around URLs and service proxies more so than IP or Ethernet addresses. So we’re now asking: what’s the role of a low-level virtual switch in a container system? Does it make sense for Open vSwitch to work at some of these higher levels, or should it just route packets to and from the higher level service proxies?

Additionally, we’re always thinking about new features to add to Open vSwitch. We’d like it to work on more platforms and on existing platforms in new ways. We’re also exploring adding support for the P4 hardware switch language, which would allow users to extend Open vSwitch more easily than they can at present. Users with less development experience could then change Open vSwitch in various ways. As we embark on our second decade, we’ll be sure to share updates with you as new projects and features come online.

To learn more about Open vSwitch, stay tuned to the Open Source Blog and visit the project’s website: http://www.openvswitch.org/.