skip to main content
10.1145/3314148.3314347acmconferencesArticle/Chapter ViewAbstractPublication PagescommConference Proceedingsconference-collections
research-article

Identifying Equivalent SDN Forwarding Behaviour

Published:03 April 2019Publication History

ABSTRACT

Software-Defined Networking (SDN) enables network operators the flexibility to program their own forwarding rules, providing more than one way to achieve the same behaviour. Verifying equivalence between rulesets is a fundamental analysis and verification building block for SDN as it can be used to: (1) confirm a ruleset optimised for power efficiency or table occupancy remains equivalent, (2) verify a ruleset modified for new hardware, (3) regression test an SDN application to detect bugs early.

We present a practical and novel canonical Multi-Terminal Binary Decision Diagram (MTBDD) representation of OpenFlow 1.3 ruleset forwarding behaviour which can be trivially compared for equivalence. Basing our representation on an MTBDD provides a proven canonical form which is also compact. In this paper, we present the algorithms required to correctly flatten multi-table pipelines into an equivalent single-table, resolve equivalences in OpenFlow actions, and build the final MTBDD representation from a priority ordered ruleset. OpenFlow rulesets can typically be converted to an MTBDD within tens of seconds. We release our open-source implementation to the SDN community.

References

  1. {n. d.}. Equivalence checking implementation {Source Code}. https://github.com/wandsdn/ofequivalenceGoogle ScholarGoogle Scholar
  2. Sheldon B. Akers. 1978. Binary decision diagrams. IEEE Trans. Comput. 6 (1978), 509--516. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. David A Applegate, Gruia Calinescu, David S Johnson, Howard Karloff, Katrina Ligett, and Jia Wang. 2007. Compressing rectilinear pictures and minimizing access control lists. In Proc. 18th annual ACM-SIAM symposium on Discrete algorithms. Society for Industrial and Applied Mathematics, 1066--1075. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Mina Tahmasbi Arashloo, Yaron Koral, Michael Greenberg, Jennifer Rexford, and David Walker. 2016. SNAP: Stateful network-wide abstractions for packet processing. In Proc. 2016 ACM SIGCOMM Conf. 29--43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Josh Bailey and Stephen Stuart. 2016. Faucet: Deploying SDN in the enterprise. Queue 14, 5 (2016). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Beate Bollig and Ingo Wegener. 1996. Improving the variable ordering of OBDDs is NP-complete. IEEE Trans. Comput. 45, 9 (1996), 993--1002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Pat Bosshart, Dan Daly, Glen Gibb, Martin Izzard, Nick McKeown, Jennifer Rexford, Cole Schlesinger, Dan Talayco, Amin Vahdat, George Varghese, et al. 2014. P4: Programming protocol-independent packet processors. ACM SIGCOMM Computer Communication Review 44, 3 (2014), 87--95. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Karl S Brace, Richard L Rudell, and Randal E Bryant. 1990. Efficient implementation of a BDD package. In Design Automation Conf., 1990. Proc., 27th ACM/IEEE. 40--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Randal E Bryant. 1986. Graph-based algorithms for boolean function manipulation. IEEE Trans. Comput. 100, 8 (1986), 677--691. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Edmund M. Clarke, Masahiro Fujita, Patrick C. McGeer, K. McMillan, J.C.-Y. Yang, and X. Zhao. 1993. Multi-terminal binary decision diagrams: An efficient data structure for matrix representation. Int. Workshop on Logic Synthesis (1993).Google ScholarGoogle Scholar
  11. Edmund M Clarke, Kenneth L McMillan, Xudong Zhao, Masahiro Fujita, and Jerry Yang. 1993. Spectral transforms for large boolean functions with applications to technology mapping. In Proc. 30th int. Design Automation Conf. 54--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Scott Hazelhurst, Anton Fatti, and Andrew Henwood. 1998. Binary decision diagram representations of firewall and router access lists. Department of Computer Science, University of the Witwatersrand, Tech. Rep (1998).Google ScholarGoogle Scholar
  13. Takeru Inoue, Toru Mano, Kimihiro Mizutani, Shinichi Minato, and Osamu Akashi. 2018. Fast packet classification algorithm for network-wide forwarding behaviors. Computer Communications 116 (2018), 101--117.Google ScholarGoogle ScholarCross RefCross Ref
  14. Kalapriya Kannan and Subhasis Banerjee. 2013. Compact TCAM: Flow entry compaction in TCAM for power aware SDN. In Int. Conf. on Distributed Computing and Networking. Springer, 439--444.Google ScholarGoogle ScholarCross RefCross Ref
  15. Peyman Kazemian, George Varghese, and Nick McKeown. 2012. Header Space Analysis: Static Checking for Networks. In NSDI, Vol. 12. 113--126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Donald E. Knuth. 2009. The Art of Computer Programming, Volume 4, Fascicle 1: Bitwise Tricks & Techniques; Binary Decision Diagrams. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Chang-Yeong Lee. 1959. Representation of Switching Circuits by Binary-Decision Programs. Bell Labs Technical Journal 38, 4 (1959), 985--999.Google ScholarGoogle ScholarCross RefCross Ref
  18. David Meyer. 2001. University of Oregon route views archive project. https://routeviews.org/Google ScholarGoogle Scholar
  19. Open Networking Foundation. 2015. OpenFlow Switch Specification - Version 1.3.5. Retrieved September 8, 2015 from https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.3.5.pdfGoogle ScholarGoogle Scholar
  20. osrg. {n. d.}. Ryu SDN Framework. https://osrg.github.io/ryu/Google ScholarGoogle Scholar
  21. Heng Pan, Hongtao Guan, Junjie Liu, Wanfu Ding, Chengyong Lin, and Gaogang Xie. 2013. The FlowAdapter: Enable flexible multi-table processing on legacy hardware. In Proc. 2nd ACM SIGCOMM workshop on Hot topics in software defined networking. ACM, 85--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Heng Pan, Gaogang Xie, Zhenyu Li, Peng He, and Laurent Mathy. 2017. FlowConvertor: Enabling portability of SDN applications. In IEEE INFOCOM 2017 - Conf. on Computer Communications. 1--9.Google ScholarGoogle ScholarCross RefCross Ref
  23. Amit Prakash and Adnan Aziz. 2001. OC-3072 packet classification using BDDs and pipelined SRAMs. In Hot Interconnects 9, 2001. IEEE, 15--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Steffen Smolka, Spiridon Eliopoulos, Nate Foster, and Arjun Guha. 2015. A fast compiler for NetKAT. ACM SIGPLAN Notices 50, 9 (2015), 328--341. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Fabio Somenzi. 2015. CUDD: CU decision diagram package release 3.0. 0. (2015).Google ScholarGoogle Scholar
  26. WAND. 2018. Redcables SDN Network @ WAND, Waikato University. Retrieved March 12, 2018 from https://redcables.wand.nz/Google ScholarGoogle Scholar
  27. Hongkun Yang and Simon S. Lam. 2013. Real-Time Verification of Network Properties Using Atomic Predicates. IEEE/ACM Transactions on Networking 24 (2013), 887--900. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Liang Yang, Bryan Ng, Winston KG Seah, and Lindsay Groves. 2017. Equivalent forwarding set evaluation in software defined networking. In 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM). 576--579.Google ScholarGoogle ScholarCross RefCross Ref
  29. Lihua Yuan, Hao Chen, Jianning Mai, Chen-Nee Chuah, Zhendong Su, and Prasant Mohapatra. 2006. Fireman: A toolkit for firewall modeling and analysis. In 2006 IEEE Symposium on Security and Privacy. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Identifying Equivalent SDN Forwarding Behaviour

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        SOSR '19: Proceedings of the 2019 ACM Symposium on SDN Research
        April 2019
        166 pages
        ISBN:9781450367103
        DOI:10.1145/3314148

        Copyright © 2019 ACM

        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 the author(s) 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: 3 April 2019

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        Overall Acceptance Rate7of43submissions,16%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader