Software defined networking (SDN) brought new interesting challenges by externalizing the task of controlling the network to some generic computer software. In particular, the controller software can modify the network routes by introducing new forwarding rules and deleting old ones at a distributed set of switches, a challenge that has received lots of attention in the last six years.
In this paper, we survey the different techniques to update rules, sometimes relying on redundant paths to reroute the traffic during the update, sometimes activating rules at distinct switches in a specific order, to avoid looping packets. This state-of-the-art helps understanding another, often overlooked, problem that consists of determining the appropriate point in the update where it is safe to garbage collect old rules.
To illustrate the difficulty of the problem we list the previously proposed assumptions, like the upper-bound on the transmission delay of every packet through the network. Finally, we propose a solution that alleviates these assumptions and speeds up the original two-phase rule update by about 80% through the use of dedicated clean-up packets that detect the absence of in-flight packets.