On Virtualizing Ethernet Switches

We are interested in exploring how to virtualize network switches in order to create multiple logical switches from one physical switch. The motivation behind this is to be able to support multiple research-and-education (R&E) projects by offering each of them a logical switch that could coexist with other R&E projects' logical switches, so that each would have the equivalent of their own switch. We propose an approach for virtualizing off-the-shelf Ethernet switches that have built-in support for creating isolated bandwidth partitions on their data-plane interfaces. Our solution is to implement two software modules that are run external to the switches, a slice scheduler and a slice administration controller (SAC). We applied our approach to virtualizing a specific Ethernet switch, i.e. the Force10 E600 model. We describe our implementation, and show how a slowdown of 3% to 26%, based on the type of administrative command issued, is experienced when using the SAC.