Detecting routing loops in the data plane
View/ Open
Accepted version
Embargoed until: 5555-01-01
Reason: Version not permitted.
Embargoed until: 5555-01-01
Reason: Version not permitted.
Pagination
466 - 473
ISBN-13
9781450379489
DOI
10.1145/3386367.3431303
Metadata
Show full item recordAbstract
Routing loops can harm network operation. Existing loop detection mechanisms, including mirroring packets, storing state on switches, or encoding the path onto packets, impose significant overheads on either the switches or the network. We present Unroller, a solution that enables real-time identification of routing loops in the data plane with minimal overheads. Our algorithms encode a varying fixed-size subset of the traversed path on each packet. That way, our overhead is independent of the path length, while we can detect the loop once the packet returns to some encoded switch. We implemented Unroller in P4 and compiled into three different FPGA targets. We then compared it against state-of-the-art solutions on real WAN and data center topologies and show that it requires from 6x to 100x fewer bits added to packets than existing methods.