Skip to main content

Software Switching

Presentation of a new software switch written in Erlang, compatible with the OpenFlow protocol.

We have been exploring software switches with complete OpenFlow support with our collaborators, Infoblox, Inc. and Open source software switching and its integration with server technologies is a paradigm shift from what we have built as principles in networking.

One such switch is LINC with its OFConfig support: we have demonstrated LINC and its capabilities stemming from the programming language, Erlang, during the GEC17 demo session.

A distributed switch has been proposed and implemented on GENI platform.

Packet loss during failover and takeover on Distributed OpenFlow Switch Architecture

The Erlang programming language has built-in features to support parallel programming. Hence, we could instantiate a redundancy-based distributed switch architecture to realize resiliency against faults. We demonstrated failover and takeover scenarios during the GEC18 demo session.

A software switch may be re-compiled based on application requirements to provide faster forwarding mechanisms.

The LINC switch is going through an evolution where fast-path is being reprogrammed into the Erlang micro-kernel, LING (, under LINCx of the We have examined possible scenarios where one may re-compile a software switch to optimize the software header field parsing and matching and modification based on the needs of the application during GEC19 demo session.

LINCx performance characterization demo

We characterized how fast LINCx may be forwarding in the data plane during GEC20 demo session.

Extrapolated data plane performance characterization principles and methods from hardware switches to software switches.

Data Plane Performance Characterization of OpenFlow-Capable Software Switches

We continued our work to investigate how data plane performance characterization of software switches may be realized on GEC21 demo session. We mapped the existing data plane performance measurement techniques to software switch characterization domain.