Abstract
Network elements, such as switches, network functions, or middleboxes must preserve states that they maintain on a per-flow basis, during switch updates in a software defined network. If all the packets of a flow, in both the forward and reverse directions, either use the new or the old set of rules but not a combination of both during an update, per-bidirectional-flow consistency (PBFC) is preserved. We propose a PBFC-preserving update as a general solution to solve consistency problems occurring in stateful network elements, during updates for service chaining, network virtualization, and server load balancing. In our update algorithm, ProFlow, the number of switches modified is proportional (equal) to the number of affected switches, improving efficiency. It requires no path computation, packet buffering or network function modifications and works regardless of the relative execution speeds of switches or links, or the number or type of stateful elements, at line rate. It supports wildcarded rules, unlimited concurrent disjoint updates, and practical timing asynchrony. Our prototype in P4 demonstrates that during a ProFlow update, new flows maintain their throughput while old flows undergo a marginal reduction, where the first affected switch in the flow-path has both new and old rules.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have