Low Impact Tenant Code Updates on Multi-Tenant Programmable Switches
Timo Geier, Sebastian Rieger · 2023
Software-defined Networking (SDN) and Programming Protocol-Independent Packet Processors (P4) introduced data processing within the network data plane. To offer multiple tenants to deploy individual code in programmable switches and network devices, code updates must ensure proper tenant isolation and minimal negative cross-tenant impact during code updates. Thus, this paper presents a code deployment pipeline, primarily implements an orchestrator allowing network device discovery, code verification, compilation and low impact deployment on multi-tenant programmable switches. Critical time windows and their durations for the code update are evaluated using hardware switches (Intel Tofino). Performance impacts of code updates on tenants using these switches are evaluated and discussed based on bandwidth tests considering different code deployment options. The architecture proposes a framework to enable seamless updates with minimal to no service interruptions, e.g., using gradual code updates of redundant links between programmable switches in data centers, internet service providers, and mobile networks used by various customers as tenants. Besides P4, common Kubernetes and continuous delivery solutions were used for the presented implementation that is offered as Open Source for further adaption and development.