Intel has gone back on its decision to fork Open vSwitch (OVS).
Intel's own version of the open source project, commonly called OVDK, was being crafted specifically to work with Intel's Data Plane Development Kit (DPDK). But as early as a year ago, the company started making plans to drop that project and instead work with the mainstream branch of OVS.
Official word of OVDK's demise came last week from Intel representative Gerald Rogers during a presentation at the Open vSwitch Fall 2014 Conference, a gathering of about 200 held at VMware's Palo Alto, Calif. headquarters this week.
During the time for questions after Rogers' talk, a couple of audience members expressed some relief that Intel had ended the OVS fork. But in joining mainstream OVS, Intel is also hoping for one pretty big development: The company would like OVS to officially support packet processing in Linux user space, not just in kernel space.
That didn't sit well with Red Hat's Chris Wright, a principal software engineer at Red Hat and an eminent Linux developer. “I think you'll find your performance benefits waning as you put more and more functionality into user space,” he warned during Rogers' talk.
Small-Packet BluesOVDK, also known as DPDK Accelerated Open vSwitch or as “dpdk-ovs” on Github, was announced by Intel Vice President Rose Schooler at the Open Networking Summit in April 2013.
Intel didn't create a fork just to mess with OVS. The company was trying to overcome OVS' difficulty in working with small packets, a situation that arises in telecom networking. OVS, having been developed by Nicira with the data center in mind, didn't adequately cover it.
Keeping up with line rate at 10 Gb/s, in a flow of 64-byte packets, would require processing more than 14 million packets per second, but the OVS kernel pushes more like 1.1 million to 1.3 million, Rogers said in his conference presentation. OVS' latency in processing small packets becomes intolerable as well.
So, OVDK was born, being built atop Intel's DPDK to provide an alternative form of OVS.
By late 2013, though, Intel had started talking to VMware — which had acquired Nicira and thus became the de facto curator of OVS — about integrating back into mainstream OVS. During his talk, Rogers didn't specify the reasons for this, and Intel officials didn't respond to a separate query for comment. (UPDATE: Intel has provided a statement, below.)
Intel's new, mainstream-OVS code goes under the name DPDK-netdev and has been on Github since March. It's available as an “experimental feature” in OVS version 2.3, according to an Intel message on the dpdk-ovs mailing list. Intel hopes to include the code officially in OVS 2.4, which OVS' committers are hoping to release early next year.
Intel won't develop any more enhancements to dpdk-ovs, although patches and other maintenance will continue until July 1, the message says.
User Space vs. Kernel SpaceOVS has been working to improve performance, as presenters explained at last week's conference. Some of that work involved speeding up user space by making it multithreaded. But a bigger move was to increase the amount of work OVS could do in kernel space, which developers refer to as the fast path.
It seems apparent that OVS intends for a lot of packet processing to occur in kernel space, which is where OVS' network stack and flow tables reside. Hence, Wright's reservations about Intel's plan to bypass the Linux kernel altogether and do packet processing in user space.
6WIND, a software company whose forte is accelerating things, happens to like Intel's approach. 6WIND accelerates OVS by running 6WIND's own networking stack (packet processing for Layers 2 through 4) in user space rather than using the stack that's in kernel space — the same method Intel is pursuing. Despite user space being called the “slow path” in a Linux context, it's a faster place to run the networking stack, says Emre Eraltan, a principal field application engineer with 6WIND. (In fact, 6WIND says that in the packet processing world, the terms are reversed: User space is called the fast path rather than the slow path.)
“I'm not in agreement with Chris Wright on this,” Eraltan says. “We are a good example to show we can process everything in user space at high speed.”
6WIND has been showing its Open vSwitch acceleration since ONS 2013. 6WIND wasn't involved in Intel's new OVS work, Eraltan says, although the companies have worked together on DPDK in general.
The end of OVDK means that anybody using the code will have to start over with Intel's new code or some other alternative, Eraltan says. He cites Ericsson and NEC as two companies that were following the OVDK path. Ericsson acknowledged being aware of the situation but declined to comment; NEC experts did not respond to a request for comment.
UPDATE: Intel has provided this statement:
Intel OVDK achieved our goal of successfully demonstrating that the Data Plane Development Kit (Intel DPDK) accelerates performance and we also worked with our customers to develop proof of concepts with this software. Intel has also contributed to the Open vSwitch project which has adopted the DPDK and therefore it is not desirable to have two different code bases that use the DPDK for accelerated vSwitch performance. As a result, Intel has decided to increase investment in the Open vSwitch community project with a focus on using the DPDK and advancing hardware acceleration.