Abstract

A Service Function Chain (SFC) is an ordered sequence of network functions (NFs). Though cost-effective, software-based NFs could introduce a significant performance penalty. In this paper, we present P4SFC, a high-performance and flexible SFC system that leverages the capability of emerging programmable switches. We seek to accelerate packet processing in SFC by offloading proper NFs to P4-capable switches. First, considering the current limitations of P4, we analyze the offloadability of NFs at different granularities in detail, and enable P4SFC to generate offloading strategies for both partially and fully offloadable SFCs. Second, to deploy new SFCs at runtime, we design a dynamic P4 data plane, of which the execution logic can be reconfigured at runtime without interrupting the existed execution logic. Third, to efficiently utilize the limited memory in programmable switches, we propose a state allocator to dynamically offload those NF states that bring the highest performance profits according to the recent flow distribution. We demonstrate the feasibility and practicality of P4SFC with our implementation on a commodity Tofino-based programmable switch. Experimental results show that P4SFC achieves significant performance improvement for real SFC implementations.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call