P4DB: On-the-Fly Debugging for Programmable Data Planes | IEEE Journals & Magazine | IEEE Xplore

P4DB: On-the-Fly Debugging for Programmable Data Planes


Abstract:

While extending network programmability to a more considerable extent, P4 raises the difficulty of detecting and locating bugs, e.g., P4 program bugs and missed table rul...Show More

Abstract:

While extending network programmability to a more considerable extent, P4 raises the difficulty of detecting and locating bugs, e.g., P4 program bugs and missed table rules, in runtime. These runtime bugs, without prompt disposal, can ruin the functionality and performance of networks. Unfortunately, the absence of efficient debugging tools makes runtime bug troubleshooting intricate for operators. This paper is devoted to on-the-fly debugging of runtime bugs for programmable data planes. We propose P4DB, a general debugging platform that empowers operators to debug P4 programs in three levels of visibility with rich primitives. By P4DB, operators can use the watch primitive to quickly narrow the debugging scope from the network level or the device level to the table level, then use the break and next primitives to decompose match-action tables and finely locate bugs. We implement a prototype of P4DB and evaluate the prototype on two widely-used P4 targets. On the software target, P4DB merely introduces a small throughput penalty (1.3% to 13.8%) and a little delay increase (0.6% to 11.9%). Notably, P4DB almost introduces no performance overhead on Tofino, the hardware P4 target.
Published in: IEEE/ACM Transactions on Networking ( Volume: 27, Issue: 4, August 2019)
Page(s): 1714 - 1727
Date of Publication: 24 July 2019

ISSN Information:

Funding Agency:


Contact IEEE to Subscribe

References

References is not available for this document.