Resolving the Loop in High-Level SDN Program for Multi-table Pipeline Compilation

  • Xin WangEmail author
  • Linghe KongEmail author
  • Changjun Jiang
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11910)


Software-Defined Networking (SDN) is one of the key technologies to support smart computing and communication in the network domain. Though recent developments in high-level SDN programming have improved programming flexibility, loops (e.g., while) in an SDN program cannot yet be deployed in a datapath due to existing hardware constraints. In this paper, we conduct a novel study of loops in SDN programs for pipeline design, and propose the repeated software pipeline (RSP) transformation as a solution to compiling loops in a program. The proposed approach supports dynamic loop conditions and proves efficient at scale, even when the number of loops is very large. Evaluations found that the efficiency of RSP is 10x faster than the unrolling approach in some cases.


SDN High-level programming Loop 



The authors would like to thank the anonymous reviewers for their insightful comments. This work is partly supported by National Key R&D Project 2018YFB2100800; NSFC 61972253, 61672349.


  1. 1.
  2. 2.
    Floodlight openflow controller.
  3. 3.
    The opendaylight project.
  4. 4.
    Arashloo, M.T., Koral, Y., Greenberg, M., Rexford, J., Walker, D.: SNAP: stateful network-wide abstractions for packet processing. In: Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference, pp. 29–43. ACM (2016)Google Scholar
  5. 5.
    Bosshart, P., et al.: P4: programming protocol-independent packet processors. SIGCOMM Comput. Commun. Rev. 44(3), 87–95 (2014)CrossRefGoogle Scholar
  6. 6.
    Chen, L., Qiu, M., Dai, W., Jiang, N.: Supporting high-quality video streaming with SDN-based CDNs. J. Supercomput. 73(8), 3547–3561 (2017)CrossRefGoogle Scholar
  7. 7.
    Erickson, D.: The beacon openflow controller. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, pp. 13–18. ACM (2013)Google Scholar
  8. 8.
    Foster, N., et al.: Frenetic: a network programming language. ACM Sigplan Not. 46(9), 279–291 (2011)CrossRefGoogle Scholar
  9. 9.
    Ge, J., Chen, Z., Wu, Y., E, Y.: H-SOFT: a heuristic storage space optimisation algorithm for flow table of openflow. Concurr. Comput. Pract. Exp. 27(13), 3497–3509 (2015)CrossRefGoogle Scholar
  10. 10.
    Gude, N., et al.: NOX: towards an operating system for networks. ACM SIGCOMM Comput. Commun. Rev. 38(3), 105–110 (2008)CrossRefGoogle Scholar
  11. 11.
    Gupta, P., McKeown, N.: Algorithms for packet classification. IEEE Netw. 15(2), 24–32 (2001)CrossRefGoogle Scholar
  12. 12.
    Han, Q., Meikang, Q., Zhihui, L., Memmi, G.: An efficient key distribution system for data fusion in V2X heterogeneous networks. Inf. Fusion 50, 212–220 (2019)CrossRefGoogle Scholar
  13. 13.
    McKeown, N., et al.: OpenFlow: enabling innovation in campus networks. ACM SIGCOMM Comput. Commun. Rev. 38(2), 69–74 (2008)CrossRefGoogle Scholar
  14. 14.
    Monsanto, C., Reich, J., Foster, N., Rexford, J., Walker, D.: Composing software defined networks. In: 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 2013), pp. 1–13 (2013)Google Scholar
  15. 15.
    Sivaraman, A., et al.: Packet transactions: high-level programming for line-rate switches. In: Proceedings of the 2016 ACM SIGCOMM Conference, pp. 15–28. ACM (2016)Google Scholar
  16. 16.
    Voellmy, A., Wang, J., Yang, Y.R., Ford, B., Hudak, P.: Maple: simplifying SDN programming using algorithmic policies. In: ACM SIGCOMM Computer Communication Review, vol. 43, pp. 87–98. ACM (2013)Google Scholar
  17. 17.
    Wang, X., Wang, C., Zhang, J., Zhou, M., Jiang, C.: Improved rule installation for real-time query service in software-defined internet of vehicles. IEEE Trans. Intell. Transp. Syst. 18(2), 225–235 (2016)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Tongji UniversityShanghaiChina
  2. 2.Shanghai Jiao Tong UniversityShanghaiChina

Personalised recommendations