Breaking Open Linux Switching Drivers
Andy Gospodarek · 2015
Ever wonder what the next generation of network forwarding devices will look like? Some will simply switch and route traffic in a manner that is similar to what is seen now, others may communicate with an external controller to determine forwarding options. Yet another class of systems will be created and their use will not be known as they will stay hidden inside datacenters with features completely unknown to the users whose data transits the network. It may be difficult to predict exactly which features will be included, but one feature that is an almost certainty is they will be running a Linux kernel. While many of the devices in use today are running Linux there is little collaboration around this effort as the forwarding ASICs are only enabled by the use of closed-source SDK and out-of-tree kernel drivers and modules provided by the hardware vendor. This paper will provide some historical background on the current situation and propose a way to enable rapid, zero-cost development on datacenter-grade ASICs by starting the process of Breaking Open these SDKs to provide an infrastructure that may allow for inclusion in the upstream Linux kernel.