SideCar: Building Programmable Datacenter Networks without Programmable Switches

alan shieh, srikanth kandula, and e gun sirer


The case for making switches more programmable has long been made. Better monitoring, explicit feedback for more adept congestion control and policing, improved security enforcement and many new features stand to gain from programmable switches. However, such switches remain a work-in-progress. This paper examines an extreme point in the design space-- a network wherein one port on each switch is connected to a general purpose sidecar processor (e.g., a server blade). While not a perfect replacement for programmable switches, we show that with minimal changes to existing switches, SideCars can combine with the existing v-switches at the edge hypervisors to provide pervasive network instrumentation and programmability on the forwarding plane. This solves several pressing problems without requiring new switch hardware. In particular, in the context of public cloud data centers with 1000s of tenants, we present novel solutions for multicast, controllable network bandwidth allocation (e.g., use-what-you-pay-for), and reachability isolation (e.g., a tenant’s VM only sees other VMs of the tenant and shared services). These capabilities surpass those of higher cost networks built from specialized switches.


Publication typeInproceedings
Published inNinth ACM Workshop on Hot Topics in Networks (HotNets)
PublisherAssociation for Computing Machinery, Inc.
> Publications > SideCar: Building Programmable Datacenter Networks without Programmable Switches