skip to main content
10.1145/3326285.3329040acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwqosConference Proceedingsconference-collections
research-article

P4Tester: efficient runtime rule fault detection for programmable data planes

Published: 24 June 2019 Publication History

Abstract

P4 and programmable data planes bring significant flexibility to network operation but are inevitably prone to various faults. Some faults, like P4 program bugs, can be verified statically, while some faults, like runtime rule faults, only happen to running network devices, and they are hardly possible to handle before deployment. Existing network testing systems can troubleshoot runtime rule faults via injecting probes, but are insufficient for programmable data planes due to large overheads or limited fault coverage. In this paper, we propose P4Tester, a new network testing system for troubleshooting runtime rule faults on programmable data planes. First, P4Tester proposes a new intermediate representation based on Binary Decision Diagram, which enables efficient probe generation for various P4-defined data plane functions. Second, P4Tester offers a new probe model that uses source routing to forward probes. This probe model largely reduces rule fault detection overheads, i.e. requiring only one server to generate probes for large networks and minimizing the number of probes. Moreover, this probe model can test all table rules in a network, achieving full fault coverage. Evaluation based on real-world data sets indicates that P4Tester can efficiently check all rules in programmable data planes, generate 59% fewer probes than ATPG and Pronto, be faster than ATPG by two orders of magnitude, and troubleshoot multiple rule faults within one second on BMv2 and Tofino.

References

[1]
Edgecore Networks. 2019. WEDGE 100BF-32X. Website. https://bit.ly/2TfkI2p.
[2]
Barefoot Networks. 2019. Barefoot Tofino Switch. Website. https://barefootnetworks.com/technology/.
[3]
Pat Bosshart, Glen Gibb, Hun-seok Kim, George Varghese, Nick Mckeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2013. Forwarding Metamorphosis: Fast Programmable Match-action Processing in Hardware for SDN. In Proceedings of SIGCOMM.
[4]
Pat Bosshart, Glen Gibb, Hun-seok Kim, George Varghese, Nick Mckeown, Martin Izzard, Fernando Mujica, and Mark Horowitz. 2014. P4: Programming Protocol-independent Packet Processors. SIGCOMM CCR 44, 3 (2014).
[5]
Sharad Chole, Isaac Keslassy, Ariel Orda, Tom Edsall, Andy Fingerhut, Sha Ma, Anirudh Sivaraman, Shay Vargaftik, Alon Berger, Gal Mendelson, Mohammad Alizadeh, and Shang-Tse Chuang. 2017. dRMT: Disaggregated Programmable Switching. In Proceedings of SIGCOMM.
[6]
Huynh Tu Dang, Daniele Sciascia, Marco Canini, Fernando Pedone, and Robert Soulé. 2015. NetPaxos: Consensus at Network Speed. In Proceedings of SOSR.
[7]
Lucas Freire, Miguel Neves, Lucas Leal, Kirill Levchenko, Alberto Schaeffer-Filho, and Marinho Barcellos. 2018. Uncovering Bugs in P4 Programs with Assertion-based Verification. In Proceedings of SOSR.
[8]
Chuanxiong Guo, Lihua Yuan, Dong Xiang, Yingnong Dang, Ray Huang, Dave Maltz, Zhaoyi Liu, Vin Wang, Bin Pang, Hua Chen, Zhi-Wei Lin, and Varugis Kurien. 2015. Pingmesh: A Large-Scale System for Data Center Network Latency Measurement and Analysis. In Proceedings of SIGCOMM.
[9]
Arpit Gupta, Rob Harrison, Marco Canini, Nick Feamster, Jennifer Rexford, and Walter Willinger. 2018. Sonata: Query-Driven Network Telemetry. In Proceedings of SIGCOMM.
[10]
Nikhil Handigol, Brandon Heller, Vimalkumar Jeyakumar, David Mazières, and Nick McKeown. 2014. I Know What Your Packet Did Last Hop: Using Packet Histories to Troubleshoot Networks. In Proceedings of NSDI.
[11]
Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2017. NetCache: Balancing Key-Value Stores with Fast In-Network Caching. In Proceedings of SOSP.
[12]
Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2018. NetChain: Scale-Free Sub-RTT Coordination. In Proceedings of NSDI.
[13]
Naga Katta, Omid Alipourfard, Jennifer Rexford, and David Walker. 2016. CacheFlow: Dependency-Aware Rule-Caching for Software-Defined Networks. In Proceedings of SOSR.
[14]
Naga Katta, Mukesh Hira, Changhoon Kim, Anirudh Sivaraman, and Jennifer Rexford. 2016. HULA: Scalable Load Balancing Using Programmable Data Planes. In Proceedings of SOSR.
[15]
James C. King. 1976. Symbolic Execution and Program Testing. Commun. ACM 19, 7 (1976), 10.
[16]
Maciej Kuzniar, Peter Peresini, and Dejan Kostic. 2014. Proboscope: Data plane probe packet generation. Technical Report.
[17]
Maciej Kuźniar, Peter Perešíni, and Dejan Kostić. 2015. What You Need to Know About SDN Flow Tables. In Proceedings of PAM.
[18]
Jed Liu, William Hallahan, Cole Schlesinger, Milad Sharif, Jeongkeun Lee, Robert Soulé, Han Wang, Călin Caşcaval, Nick McKeown, and Nate Foster. 2018. p4v: Practical Verification for Programmable Data Planes. In Proceedings of SIGCOMM.
[19]
Rui Miao, Hongyi Zeng, Changhoon Kim, Jeongkeun Lee, and Minlan Yu. 2017. SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs. In Proceedings of SIGCOMM.
[20]
Jean Francis Michon et al. 2005. Graph based algorithms for boolean function manipulation. (2005).
[21]
Andres Nötzli, Jehandad Khan, Andy Fingerhut, Clark Barrett, and Peter Athanas. 2018. P4Pktgen: Automated Test Case Generation for P4 Programs. In Proceedings of SOSR.
[22]
P4 Consortium. 2019. P4-BMv2. Website. https://github.com/p4lang/behavioral-model.
[23]
P4 Language Consortium. 2019. P4_16 prototype compiler. Website. https://github.com/p4lang/p4c.
[24]
Peter Perešíni, Maciej Kuźniar, and Dejan Kostić. 2015. Monocle: Dynamic, Fine-grained Data Plane Monitoring. In Proceedings of CoNEXT.
[25]
Amedeo Sapio et al. 2017. In-Network Computation is a Dumb Idea Whose Time Has Come. In Proceedings of HotNets.
[26]
sFlow. 2019. sFlow. Website. https://sflow.org/.
[27]
Radu Stoenescu, Dragos Dumitrescu, Matei Popovici, Lorina Negreanu, and Costin Raiciu. 2018. Debugging P4 Programs with Vera. In Proceedings ofSIGCOMM.
[28]
Carl A. Sunshine. 1977. Source Routing in Computer Networks. SIGCOMM Comput. Commun. Rev. 7, 1 (1977), 5.
[29]
The P4 Language Consortium. 2019. Consolidated switch repository. Website. https://github.com/p4lang/switch.
[30]
Arash Vahidi. 2019. JDD. Website. https://bit.ly/2SZjMjp.
[31]
Xitao Wen, Kai Bu, Bo Yang, Yan Chen, Li Erran Li, Xiaolin Chen, Jianfeng Yang, and Xue Leng. 2016. Is every flow on the right track?: Inspect SDN forwarding with RuleScope. In Proceedings of INFOCOM.
[32]
Hongyi Zeng, Peyman Kazemian, George Varghese, and Nick McKeown. 2014. Automatic Test Packet Generation. IEEE/ACM Trans. Netw. 22, 2 (2014).
[33]
Cheng Zhang, Jun Bi, Yu Zhou, Jianping Wu, Bingyang Liu, Zhaogeng Li, Abdul Basit Dgar, and Yangyang Wang. 2017. P4DB: On-the-fly debugging of the programmable data plane. In Proceedings of ICNP.
[34]
P. Zhang. 2017. Towards rule enforcement verification for software defined networks. In Proceedings of INFOCOM.
[35]
Peng Zhang, Cheng Zhang, and Chengchen Hu. 2017. Fast testing network data plane with RuleChecker. In Proceedings of ICNP.
[36]
Yu Zhao, Huazhe Wang, Xin Lin, Tingting Yu, and Chen Qian. 2017. Pronto: Efficient Test Packet Generation for Dynamic Network Data Planes. In Proceedings of ICDCS.
[37]
Yibo Zhu, Ben Y. Zhao, Haitao Zheng, Nanxi Kang, Jiaxin Cao, Albert Greenberg, Guohan Lu, Ratul Mahajan, Dave Maltz, Lihua Yuan, and Ming Zhang. 2015. Packet-Level Telemetry in Large Datacenter Networks. In Proceedings of SIGCOMM.

Cited By

View all
  • (2024)DEMO: P4 Replay (P4R): Reproducing Packet Traces and Stateful Connections at Line-Rate on Your P4-capable HardwareProceedings of the ACM SIGCOMM 2024 Conference: Posters and Demos10.1145/3672202.3673743(122-124)Online publication date: 4-Aug-2024
  • (2024)Defeating Data Plane Attacks With Program ObfuscationIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.327793921:3(1317-1330)Online publication date: May-2024
  • (2023)Advancing SDN from OpenFlow to P4: A SurveyACM Computing Surveys10.1145/355697355:9(1-37)Online publication date: 16-Jan-2023
  • Show More Cited By

Index Terms

  1. P4Tester: efficient runtime rule fault detection for programmable data planes

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      IWQoS '19: Proceedings of the International Symposium on Quality of Service
      June 2019
      420 pages
      ISBN:9781450367783
      DOI:10.1145/3326285
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 24 June 2019

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. programmable data plane
      2. runtime rule fault detection
      3. test packet generation

      Qualifiers

      • Research-article

      Funding Sources

      • National Science Foundation of China
      • National Key R&D Program of China

      Conference

      IWQoS '19

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)16
      • Downloads (Last 6 weeks)1
      Reflects downloads up to 02 Mar 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)DEMO: P4 Replay (P4R): Reproducing Packet Traces and Stateful Connections at Line-Rate on Your P4-capable HardwareProceedings of the ACM SIGCOMM 2024 Conference: Posters and Demos10.1145/3672202.3673743(122-124)Online publication date: 4-Aug-2024
      • (2024)Defeating Data Plane Attacks With Program ObfuscationIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2023.327793921:3(1317-1330)Online publication date: May-2024
      • (2023)Advancing SDN from OpenFlow to P4: A SurveyACM Computing Surveys10.1145/355697355:9(1-37)Online publication date: 16-Jan-2023
      • (2023)Stalker Attacks: Imperceptibly Dropping Sketch Measurement Accuracy on Programmable SwitchesIEEE Transactions on Information Forensics and Security10.1109/TIFS.2023.331512818(5832-5847)Online publication date: 2023
      • (2023)Toward Highly Reliable Programmable Data Planes: Verification of P4 Code Generation2023 IEEE 9th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft57336.2023.10175397(1-5)Online publication date: 19-Jun-2023
      • (2023)AI-Driven Packet Forwarding With Programmable Data Plane: A SurveyIEEE Communications Surveys & Tutorials10.1109/COMST.2022.321761325:1(762-790)Online publication date: Sep-2024
      • (2022)Investigating the Vulnerability of Programmable Data Planes to Static Analysis-Guided Attacks2022 IEEE 8th International Conference on Network Softwarization (NetSoft)10.1109/NetSoft54395.2022.9844121(411-419)Online publication date: 27-Jun-2022
      • (2021)HyperTester: High-Performance Network Testing Driven by Programmable SwitchesIEEE/ACM Transactions on Networking10.1109/TNET.2021.307765229:5(2005-2018)Online publication date: 21-May-2021
      • (2021)An Exhaustive Survey on P4 Programmable Data Plane Switches: Taxonomy, Applications, Challenges, and Future TrendsIEEE Access10.1109/ACCESS.2021.30867049(87094-87155)Online publication date: 2021
      • (2020)ZipLineProceedings of the 16th International Conference on emerging Networking EXperiments and Technologies10.1145/3386367.3431302(399-405)Online publication date: 23-Nov-2020

      View Options

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media