P4SFC: Service Function Chain Offloading with Programmable Switches

Junte Ma,Sihao Xie,Jin Zhao
DOI: https://doi.org/10.1109/IPCCC50635.2020.9391530
2020-01-01
Abstract:A Service Function Chain (SFC) is an ordered sequence of network functions (NFs). Software-based NFs in Network Function Virtualization (NFV) could introduce significant performance overhead. In this paper, we present P4SFC, a high-performance SFC system that leverages P4-capable switches to accelerate packet processing by offloading proper NFs to the switches. First, considering the current limitations of P4, we analyze the offloadability of NFs and divide them into three categories: fully offloadable, partially offloadable, and non-offloadable. Second, when deploying new SFCs, P4SFC automatically offloads proper NFs to switches based on their position and offloadability. To deploy new SFCs at runtime, we design a dynamic P4 data plane, whose execution logic can be reconfigured at runtime without interrupting the current execution logic. Finally, to maintain state consistency between the server and the switch for partially offloaded NFs, we design a state library to automatically synchronize states between servers and switches. Experimental results show that P4SFC achieves significant performance improvement for real-world SFCs.
What problem does this paper attempt to address?