The emerging trend of network devices with configurable data planes is pushing software switches as convenient playgrounds for experimenting novel programming paradigms and abstractions. OfSoftSwitch is a popular tool for carrying on such experimentation, as it provides a straightforward implementation of a pipeline of match-action tables. Unfortunately, OfSoftSwitch is not performance oriented and it is therefore limited only to functional experimentation of new abstractions.
In this paper, we present our work to make OfSoftSwitch faster, while keeping it simple. The core of the work revolves around the use of the PFQ framework to expedite packet I/O operations as well as to enable multi--core parallel processing. In addition, other well--known techniques have also been applied to modify the original code of OfSoftSwitch.
We demonstrate that our acceleration is effective by measuring a 96x performance speed-up, with more than 4 Mpps on a single core, when OfSoftSwitch performs OpenFlow forwarding. Likewise, we demonstrate that our approach is effective in keeping the simple programming model of OfSoftSwitch. In fact, we are able to effortlessly port OpenState, a stateful forwarding dataplane abstraction, to our accelerated OfSoftSwitch implementation.