Programming SDNs: A Compass for SDN Programmer

Full Text (PDF, 822KB), PP.52-72

Views: 0 Downloads: 0


Suhail Ahmad 1,* Ajaz Hussain Mir 2

1. Department of Computer Science & Engineering, University of Kashmir, India

2. Department of Electronics & Communication Engineering, National Institute of Technology Srinagar, India

* Corresponding author.


Received: 21 Jun. 2023 / Revised: 4 Aug. 2023 / Accepted: 12 Sep. 2023 / Published: 8 Feb. 2024

Index Terms

Programmability in SDN, Domain Specific Languages, Programmable Networks, Network Programming Languages, OpenFlow, P4


The modern communication networks have evolved from simple-static systems to highly flexible and adaptive systems facilitating dynamic programmability and reconfiguration. This network evolution has influenced the lowest level of packet processing in data plane to highest level of network control and management functions. It has also influenced the overall network design and architecture which is clearly evident from the emergence of SDN and NFV. With the wide-spread acceptance of SDN, a novel networking paradigm, the network programmability has re-appeared as a top research area in networking and numerous programming languages have been proposed. In this paper, we present a systematic review of various state-of-the-art SDN programming languages used to program different network planes. We follow a top-down approach, starting with the high-level or top-tier programming languages followed by the data plane or bottom-tier programming languages. We have provided an in-depth analysis of various top-tier and bottom-tier programming languages and compared them in terms of most prominent features and supported abstractions. In addition to it, we have elaborated various programming models used in different bottom-tier programming languages which provide necessary abstractions for mapping diverse functionalities of data plane algorithms splendidly onto the specialized hardware like ASICs. Lastly, we have highlighted the research challenges in SDN programming languages like cross platform programming, necessary language libraries, support for network verification, NFV, stateful and inline packet processing, which need to be incorporated into existing programming languages to support diverse functions required in next generation networks.

Cite This Paper

Suhail Ahmad, Ajaz Hussain Mir, "Programming SDNs: A Compass for SDN Programmer", International Journal of Wireless and Microwave Technologies(IJWMT), Vol.14, No.1, pp. 52-72, 2024. DOI:10.5815/ijwmt.2024.01.05


[1]A.T. Campbell, H.G.D. Meer, M.E. Kounavis, K. Miki, J.B. Vicente and D. Villela, “ A Survey of Programmable Networks” , ACM SIGCOMM. Computer Communication Review, vol. 29, no. 2, pp 7-23, 1999.
[2]D.L. Tennenhouse, J.M. Smith, W.D. Sincoskie, D.J. Wetherall and G.J. Minden, “A Survey of active network research”, IEEE Communication Magazine vol.35, no. 1, pp: 80-86, 1997.
[3]N. McKewon, “Programmable Forwarding Planes are Here to Stay”, in the proceeding of NetPL, 2017.
[4]“Software Defined Networking: The New Norm for Networks”, ONF White Paper, April 13, 2012.
[5]N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson, J. Rexford, S. Shenker, and J. Turner, “OpenFlow: Enabling Innovation in Campus Networks”, SIGCOMM Computer Communication Review, vol. 38, no. 2, pp. 69–74, Mar. 2008.
[6]Y. Jarraya, T. Madi, and M. Debbabi, “A Survey and a Layered Taxonomy of Software Defined Networking”, IEEE Communications Surveys and Tutorials, vol. 16, no. 4, pp. 1955–1980, 2014.
[7]A. Hakiri, A. Gokhale, P. Berthou, D. C. Schmidt, and T. Gayraud, “Software Defined Networking: Challenges and Research Opportunities for Future Internet”, Computer Networks, volume 75, no. Part A, pp. 453– 471, Dec. 2014.
[8]H. Farhady, H. Lee, and A. Nakao, “Software Defined Networking: A Survey”, Computer Networks, volume 81, no. supplement C, pp. 79–95, Apr. 2015.
[9]S. Ahmad, A. H. Mir, “Scalability, Consistency, Reliability and Security in SDN Controllers: A Survey of Diverse SDN Controllers”, Journal of Network and Systems Management, Springer, vol. 29, No. 9. ,, 2020
[10]F. Bannour, S. Souihi, and A. Mellouk, “Distributed SDN Control: Survey, Taxonomy, and Challenges,” IEEE Communications Surveys & Tutorials, vol. 20, no. 1, pp. 333–354, 2018.
[11]Y. Yu, X. Li, X. Leng, L. Song, K. Bu, Y. Chen, J. Yang, L. Zhang, K. Cheng and X. Xiao, “Fault Management in Software Defined Networking: A Survey”, IEEE Comm. Surveys & Tutorials, vol. 21, No. 1, pp. 349 – 392, Sept. 2018.
[12]A. Mendiola, J. Astorga, E. Jacob, and M. Higuero, “A Survey on the Contributions of Software Defined Networking to Traffic Engineering”, IEEE Comm. Surveys & Tutorials, vol. 19, no. 2, pp. 918– 953, 2017.
[13]S. S. Hayward, S. Natarajan and S. Sezer, “A Survey of Security in Software Defined Networks”, IEEE Comm. Surveys & Tutorials, vol. 18, no. 1, pp. 623– 654, 2016. 

[14]T. Dargahi, A. Caponi, M. Ambrosin, G. Bianchi, and M. Conti, “A Survey on the Security of Stateful SDN Data Planes”, IEEE Comm. Surveys & Tutorials, vol. 19, no. 3, pp. 1701–1725, 2017.
[15]R. Alvizu, G. Maier, N. Kukreja, A. Pattavina, R. Morro, A. Capello and C. Cavazzoni and E. Keller, “Comprehensive Survey on T-SDN: Software-Defined Networking for Transport Networks”, IEEE Communication Surveys & Tutorials, vol. 19, no. 4, pp. 1701–1725, 2017.
[16]A. C. Baktir, A. Ozgovde, and C. Ersoy, “How Can Edge Computing Benefit from Software-Defined Networking: A Survey, Use Cases & Future Directions”, IEEE Comm. Surveys & Tutorials, vol. 19, no. 4, pp. 2232 - 2283, June, 2017.
[17]K. M. Modieginyane, B. B. Letswamotse, R. Malekian, and A. M. Abu-Mahfouz, “Software Defined Wireless Sensor Networks Application Opportunities for Efficient Network Management: A Survey”, Computers & Electrical Engineering, vol. 66, pp. 274–287, Feb. 2018.
[18]S. Bera, S. Misra, and A. V. Vasilakos, “Software Defined Networking for Internet of Things: A Survey”, IEEE Internet of Things Journal, vol. 4, no. 6, pp. 1994–2008, Dec. 2017.
[19]C. Trois, M. D. D. Fabro, L. C. E. de Bona, “A Survey of SDN Programming Languages: Towards a Taxonomy”, IEEE Communication Surveys & Tutorials, vol. 18, no. 4, 2016.
[20]E. Kaljic, A. Maric, P. Njemcevic, and M. Hadzialic, “A Survey on Data Plane Flexibility and Programmability in Software-Defined Networking,” IEEE ACCESS, vol. 7, 2019.
[21]F. Hauser, M. Haberle, D. Merling, S. Lindner, V. Gurevich, F. Zeiger, R. Frank and M. Menth, “A Survey on Data Plane Programming with P4: Fundamentals, Advances and Applied Research”, arXiv:2101.10632v1 [cs.NI], 2021.
[22]P. Bossharty, D. Daly, G. Gibby, M. Izzardy, N. McKeownz, J. Rexford, C. Schlesinger, D. Talaycoy, A. Vahdat, G. Varghesex, D. Walker, “P4: programming protocol-independent packet processors”, ACM SIGCOMM Computer Communication Review, vol. 44, no. 3, July 2014.
[23]ONF, “Open Networking Foundation”, (online) Available:
[24]S. Ahmad, A. H. Mir, “SDN Interfaces: Protocols, Taxonomy and Challenges”, International Journal of Wireless and Microwave Technologies, DOI: 10.5815/ijwmt.2022.02.02, 2022.
[25]P. Berde, M. Gerola, J. Hart, Y. Higuchi, M. Kobayashi, T. Koide, B. Lantz, B. O’Connor, P. Radoslavov, W. Snow, and G. Parulkar, “Onos: Towards an open, distributed sdn os”, in Proceedings of the third ACM Workshop on Hot Topics in SDN, USA, pp. 1–6, 2014.
[26]Floodlight Project. [Online]. Available:
[27]OpenDayLight Project. [Online]. Available:
[28]T. Koponen, M. Casado, N. Gude, J. Stribling, L. Poutievski, M. Zhu, R. Ramanathan, Y. Iwata, H. Inoue, T. Hama, and S. Shenker, “Onix: A distributed control platform for large-scale production networks”, in Proceedings of the Ninth USENIX Conference on Operating Systems Design and Implementation, pp. 1–6, 2010.
[29]N. Zilberman, P. M. Watts, C. Rotsos, and A. W. Moore, “Reconfigurable Network Systems and Software-Defined Networking”, in the Proceedings of the IEEE, vol. 103, no. 7, pp. 1102–1124, July 2015.
[30]G. N. Stone, B. Lundy, and G. G. Xie, “Network policy languages: A survey and a new approach”, IEEE Network, vol. 15, no. 1, pp. 10–21, Jan/Feb 2001.
[31]J. Qadir and O. Hasan, “Applying formal methods to networking: theory, techniques, and applications”, IEEE Comm. Surveys & Tutorials, vol. 17, no. 1, pp. 256–291, Mar. 2015.

[32]A. Mottola, “Design and implementation of a declarative programming language in a reactive environment,” Ph.D. dissertation, Dept. Comput. Eng., Università degli Studi di Roma, Rome, Italy, 2005.
[33]M. Casado, N. Foster, and A. Guha, “Abstractions for Software-Defined Networks”, ACM Commun., vol. 57, no. 10, pp. 86–95, 2014. 

[34]S. Smolka, S. Eliopoulos, N. Foster, and A. Guha, “A fast compiler for NetKAT,” in Proc. 20th ACM SIGPLAN International Conf. on Funct. Program., Vancouver, BC, Canada, pp. 328–341, 2015.
[35]N. Foster, R. Harrison, M. J. Freedman, C. Monsanto, J. Rexford, A. Story, and D. Walker, “Frenetic: a network programming language”, SIGPLAN, 2011.
[36]T. L. Hinrichs, N. S. Gude, M. Casado, J. C. Mitchell, and S. Shenker, “Practical Declarative Network Management”, in Proceedings of First ACM workshop on Research on Enterprise Networking, 2009.
[37]N. Li and J. C. Mitchell, “DATALOG with constraints: A foundation for trust management languages,” in Practical Aspects of Declarative Languages. Heidelberg, Germany: Springer, pp. 58–73, 2003.
[38]T. Hinrichs, N. Gude, M. Casado, J. Mitchell, and S. Shenker, “Expressing and Enforcing Flow-based Network Security Policies”, Univ. of Chicago, Chicago, IL, USA, Tech. Rep., Mar. 2008. [Online]. Available: papers/hinrichs2008design.pdf
[39]C. Monsanto, N. Foster, R. Harrison, and D. Walker, “A Compiler and Run-Time System for Network Programming Languages”, SIGPLAN Notices, vol. 47, no. 1, pp. 217–230, Jan. 2012.
[40]B. He, L. Dong, T. Xu, S. Fei, H. Zhang, W. Wang, “Research on network programming language and policy conflict for SDN”, Concurrency Computation: Pract. Exper. Wiley, 2017.
[41]C. Monsanto, J. Reich, N. Foster, J. Rexford, and D. Walker, “Composing Software-Defined Networks”, in Proceedings of the tenth USENIX conference on Networked Systems Design and Implementation. Berkeley, CA, USA, 2013.
[42]A. Voellmy, H. Kim, and N. Feamster, “Procera: a language for highlevel reactive network control”, in Proceedings of the first workshop on Hot topics in Software Defined Networks, ACM, 2012.
[43]Z. Wan and P. Hudak. “Functional Reactive Programming from first principles”, in Proceedings of ACM Conference on Programming Language Design and Implementation, 2000.
[44]A. Voellmy, A Agarwal and P. Hudak, “Nettle: Functional reactive programming for OpenFlow Networks”, DTIC Document, Tech. Report 2010.
[45]C. J. Anderson, et al., “NetKAT: Semantic foundations for networks” , SIGPLAN Notices, vol. 49, no. 1, pp. 113–126, Jan. 2014.
[46]N. Foster, D. Kozen, K. Mamouras, M. Reitblatt, and A. Silva, “Probabilistic NetKAT,” in Proceedings of Twenty Fifth Eur. Symp. On Program. Lang. Syst. (ESOP), Eindhoven, The Netherlands, pp. 282–309, 2016.
[47]R. Beckett, M. Greenberg and D. Walker, “Temporal NetKAT”, in the Proceedings of Thirty Seventh Annual ACM SIGPLAN conference on Programming Lang. Design and Implementation, pp. 13-17 June, 2016.
[48]T. Koponen, K. Amidon, P. Balland, M. Casado, A. Chanda, B. Fulton, I. Ganichev, J. Gross, P. Ingram, E. Jackson, A. Lambeth, R. Lenglet, S.-H. Li, A. Padmanabhan, J. Pettit, B. Pfaff, R. Ramanathan, S. Shenker, A. Shieh, J. Stribling, P. Thakkar, D. Wendlandt, A. Yip, and R. Zhang, “Network virtualization in multi-tenant datacenters” , in proceedings of eleventh USENIX Symposium on NSDI, Seattle, WA, April, 2014.
[49]M. Reitblatt, M. Canini, A. Guha, and N. Foster, “FatTire: Declarative fault tolerance for Software Defined Networks”, in Proceedings of the second workshop on Hot topics in SDNs, ACM, 2013.
[50]A. Voellmy, J. Wang, Y. R. Yang, B. Ford, and P. Hudak, “Maple: simplifying SDN programming using algorithmic policies”, in Proceedings of the ACM SIGCOMM conference, 2013.
[51]J. Wang, S.Cheng and X. Fu, “SDN Programming for Heterogeneous Switches with Flow Table Pipelining”, Scientific Programming, Hindawi, DOI:, 2018.
[52]R. Soule, S. Basu, R. Kleinberg, E. G. Sirer, and N. Foster, “Managing the Network with Merlin”, in Twelfth ACM Workshop on Hot Topics in Networks, College Park, MD, November 2013.
[53]B. L. A. Batista and M. P. Fernandez, “PonderFlow: A policy specification language for OpenFlow networks”, in Proceedings of ICN, CA, USA, 2014.
[54]T. Parr, “ANTLR: ANother Tool for Language Recognition” , Online Available:
[55]H. kim, J. Reich, A. Gupta, M. Shahbaz , N. Feamster, R. Clark, “Kinetic: Verifiable dynamic network control”, in Proceedings of USENIX Network Systems Design and Implementation, Oakland, CA, USA, pp. 59–72, 2015.
[56]N. Foster, M. J. FreedMan, A. Guha, et al., “Languages for software-defined networks,” IEEE Communication Magazine, vol. 51, no. 2, pp. 128–134, Feb. 2013.
[57]C. Trois, M. Martinello, L. Bona, and M. Del Fabro, “From software defined network to network defined for software,” in Proc. ACM Symposium on Appl. Comput., Spain, pp. 665–668, 2015.
[58]S. Layeghy, F. Pakzad, and M. Portmann, “SCOR: Constraint Programming-Based Northbound Interface for SDN”, in Twenty Sixth International Telecommunication Networks and Applications Conference (ITNAC), pp. 83–88, Dec 2016.
[59]N. Nethercote, P. J. Stuckey, R. Becket, S. Brand, G. J. Duck, and G. Tack, “Minizinc: Towards a Standard CP Modelling Language”, in Principles and Practice of Constraint Programming, Ed. Berlin, pp. 529–543, 2007.
[60]M. Mohammadi, A. Al-Fuqaha, Z. J. Yang, “A High-Level Rule-based Language for Software Defined Network Programming based on OpenFlow”, in Proceedings of GENI Engineering Conference 22 (GEC 22), 2015.
[61]W. Kellerer, A. Basta, and A. Blenk, “Using a flexibility measure for network design space analysis of SDN and NFV,” in the proceedings of IEEE International Conference on Computer Communications Workshops (INFOCOM WKSHPS), pp. 423–428, April 2016.
[62]H. Farhad, H. Lee, and A. Nakao, “Data plane programmability in SDN,” in the proceedings of IEEE Twenty Second International Conference on Network Protocols, pp. 583–588, Oct 2014.
[63]N. Zilberman, P. M. Watts, C. Rotsos, and A. W. Moore, “Reconfigurable network systems and software-defined networking,” Proceedings of the IEEE, vol. 103, no. 7, pp. 1102–1124, July 2015.
[64]B. Li, K. Tan, L. Luo, Y. Peng, R. Luo, N. Xu, Y. Xiong, P. Cheng, E. Chen, “ClickNP: Highly Flexible and High Performance Network Processing with Reconfigurable Hardware”, ACM SIGCOMM 2016.
[65]E. Kohler, R. Morris, B. Chen, J. Jannotti, and M. F. Kaashoek, “The Click Modular Router”, ACM Transactions on Computer Systems (TOCS), vol. 18, 2000.
[66]“BESS: Berkeley Extensible Software Switch,”,
[67]“VPP/What is VPP?”,
[68]A. Panda, K. Jang, M. Walls, S. Ratnaswamy, S. Shenker, “NetBricks: Taking the V out of NFV”, in the proceedings of USENIX OSDI, 2016.
[69]L. Molnar, G. Pongracz, G. Enyedi, Z. L. Kis, et. al., “Dataplane Specialization for High performance OpenFlow Software Switching”, in ACM SIGCOMM, 2016.
[70]P. Bosshart, G. Gibb, H.-S. Kim, G. Varghese, N. McKeown, M. Izzard, F. Mujica, and M. Horowitz, “Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN”, ACM SIGCOMM Conference, vol. 43, 2013.
[71]S. Chole, A. Fingerhut, S. Ma, A. Sivaraman, S. Vargaftik, A. Berger, G. Mendelson, M. Alizadeh, S.-T. Chuang, I. Keslassy, A. Orda, and T. Edsall, “DRMT: Disaggregated Programmable Switching,” in ACM SIGCOMM Conference, 2017.
[72]R. Duncan and P. Jungck, “packetC Language for High Performance Packet Processing”, in the proceedings of 11th IEEE International Conference on High Performance Computing and Communications, 2009.
[73]CloudShield Technologies. “packetC Programming Language Speci- fication. Rev. 1.128, October 10, 2008.
[74]H. Song, “Protocol oblivious forwarding: Unleash the power of SDN through a future-proof forwarding plane,” in Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, USA: ACM, pp. 127–132, 2013.
[75]X. Wang, Y. Tian, M. Zhao, M. Li, L. Mei, X. Zhang, “PNPL: Simplifying Programming for Protocol-Oblivious SDN Networks”, Computer Networks, vol. 147, pp. 64-80, 24 Dec. 2018.
[76]P4, [online] Available:
[77]P4 16 Language Specification v.1.2.1, [online] Available: P4-16-v1.2.1.html
[78]B. O’Connor, Y. Tseng, M. Pudelko, C. Cascone, A. Endurthi, Y. Wang, A. Ghaffarkhah, D. Gopalpur, T. Everman, T. Madejski, J. Wanderer, and A. Vahdat, “Using P4 on Fixed-Pipeline and Programmable Stratum Switches,” in P4 Workshop in Europe (EuroP4), 2010.
[79]S. Laki, D. Horpácsi, P. Vörös, R. Kitlei, D. Leskó, and M. Tejfel, “High speed packet forwarding compiled from protocol independent data plane specifications,” in ACM SIGCOMM Conference, 2016.
[80]Data Plane Development Kit (DPDK), [online] Available:
[81]Open Data Plane (ODP), [online]. Available:
[82]M.Shahbaz,S.Choi,B.Pfaff,C.Kim,N.Feamster,N.McKeown,and J. Rexford, “PISCES: A Programmable, Protocol-Independent Software Switch,” in ACM SIGCOMM Conference, 2016.
[83]OpenvSwitch, [online]. Available:
[84]X. Wu, P. Li, T. Miskell, L. Wang, Y. Luo, and X. Jiang, “Ripple: An Efficient Runtime Reconfigurable P4 Data Plane for Multicore Systems,” in International Conference on Networking and Network Applications, 2019.
[85]T. Osiński, H. Tarasiuk, P. Chaignon, M. Kossakowski, “P4rt-OVS: Programming Protocol-Independent, Runtime Extensions for Open vSwitch with P4”, IEEE IFIP Networking Conference (Networking), 22-26 June, 2020.
[86]Netcope P4, [online]. Available: NetcopeP4_2019_web.pdf
[87]H. Wang, R. Soulé, H. T. Dang, K. S. Lee, V. Shrivastav, N. Foster, and H. Weatherspoon, “P4FPGA: A Rapid Prototyping Framework for P4,” in ACM Symposium on SDN Research (SOSR), 2017.
[88]A. Seibulescu and M. Baldi, “Leveraging P4 Flexibility to Expose Target-Specific Features,” in the proceedings of P4 Workshop in Europe (EuroP4), 2020.
[89]M. T. Arashloo, Y. Koral, M. Greenberg, J. Rexford and D. Walker, “SNAP: Stateful Network-Wide Abstractions for Packet Processing”, ACM SIGCOMM, August 22-26, Brazil, 2016.
[90]A. Sivaraman, A. Cheung, M. Budiu, C. Kim, M. Alizadeh, H. Balakr- ishnan, G. Varghese, N. McKeown, and S. Licking, “Packet transactions: High-level programming for line-rate switches,” in Proceedings of the 2016 ACM SIGCOMM Conference, New York, NY, USA: ACM, pp. 15–28, 2016.
[91]M. Shahbaz and N. Feamster, “The case for an intermediate representation for programmable data planes,” in Proceedings of the first ACM SIGCOMM Symposium on Software Defined Networking Research, NY, USA: ACM, pp. 3:1–3:6, 2015.
[92]G. Brebner and W. Jiang, “High-speed packet processing using reconfigurable computing”, IEEE Micro, vol. 34, No. 1, pp. 8–18, Jan 2014.
[93]Network Programming Language, [online]. Available:
[94]NPL Speicifications ver 1.3, [online]. Available:
[95]J. Gao , E. Zhai ,H. H. Liu ,R. Miao ,Y. Zhou, B. Tian, C. Sun, D. Sai, M. Zhang, M. Yu, “ Lyra: A Cross-Platform Language and Compiler for Data Plane Programming on Heterogeneous ASICs”, ACM SIGCOMM 2020, August 10–14, Virtual Event, NY, USA,
[96]A. Voellmy, S. Chen, X. Wang and Y. R. Yang, “Magellan: Generating Multi-Table Datapath from Datapath Oblivious Algorithmic SDN Policies”, ACM SIGCOMM, August 22-26, Brazil, 2016.
[97]H. Li, P. Zhang, G. Sun, C. Hu, D. Shan, T. Pan, and Q. Fu, “An intermediate representation for Network Programming Languages”, in the Proceedings of 4th ACM Asia Pacific Workshop on Networking, Aug. 3-4, Korea, 2020.
[98]S. Geissler, S. Herrnleben, R. Bauer, S. Gebert, T. Zinner, M. Jarschel, “TableVisor 2.0: Towards full-featured, scalable and hardware-independent Multi Table Processing”, in the Proceedings of KuVS-Fachgesprach Fog Computing, Germany, March, 2018.
[99]H. T. Dang et al. “Paxos Made Switch-y”. In: ACM SIGCOMM Comput. Commun. Rev., vol. 46, no. 2, May 2016.
[100]S. luo, H. Yu, L. Vanbever, “Swing State: Consistent Updates for Stateful and Programmable Data Planes”, in the proceedings of OSR’17, April 3–4, Santa Clara, CA, USA, 2017.
[101]X. Li, R. Sethi, M. Kaminsky, D. G. Andersen, M. J. Freedman, “Be Fast, Cheap and in Control with SwitchKV”, in the proceedings of USENIX NSDI 2016.
[102]G. Siracusano, R. Bifulco “In-network Neural Networks”, in CoRR abs/1801.05731, 2018. arXiv: 1801.05731.
[103]S. Pontarelli, R. Bifulco, M. Bonola, C. Cascone, M. Spaziani, V. Bruschi, D. Sanvito, G. Siracusano, A. Capone, M. Honda, F. Huici and G. Bianchi, “ FlowBlaze: Stateful Packet Processing in Hardware”, in the proceedings of Sixteenth USENIX Symposium on Networked Systems Design and Implementation, February 26–28, 2019.
[104]P. Bosshart et al. “Forwarding Metamorphosis: Fast Programmable match-action Processing in Hardware for SDN”. In: ACM SIGCOMM 2013.
[105]G. Bianchi, M. Bonola, A. Capone, and C. Cascone, “Openstate: Programming platform-independent stateful openflow applications inside the switch,” SIGCOMM Computer Comm. Review, Vol. 44, No. 2, pp. 44–51, April 2014.
[106]S. Woo, J. Sherry, S. Han, S. Moon, S. Ratnasamy, S. Shanker, “Elastic Scaling of Stateful Network Functions”, in the proceeding of fifteenth USENIX Symposium on NSDI, 2018.
[107]K. F. Hsu, R. Beckett, A. Chen, J. Rexford, P. Tamanna, B. Walker, “Contra: A Programmable System for Performance-Aware Routing”, in the Proceedings of Seventeenth USENIX Symposium on Networked Systems Design and Implementation, Feb. 25–27, USA, 2020.
[108]N. Bjorner, J. Padhye, A. Agrawal, A. Bhargava, P. A. C. Bissonnette, S. Foster, A. Helwer, M. Kasten, I. Lee, A. Namdhari, H. Niaz, A. Parkhi, H. Pinnam-raju, A. Power, N. M. Raje, and P. Sharma, “Validating datacenters at scale”, in ACM SIGCOMM, 2019.
[109]A. Horn, A. Kheradmand, and M. R. Prasad. “Delta-net: Real-time network verification using atoms”, in the proceedings of USENIX Networked Systems Design and Implementation, 2017.
[110]H. Zeng, S. Zhang, F. Ye, V. Jeyakumar, M. Ju, J. Liu, N. McKeown, and A. Vahdat, “Libra: Divide and conquer to verify forwarding tables in huge networks”, In USENIX NSDI, 2014.
[111]H. Yang and S. S. Lam, “Real-time verification of network properties using atomic predicates”, IEEE/ACM Transactions on Networking, vol. 24, no. 2, pp. 887–900, 2016.
[112]H. Yang and S. S. Lam. “Scalable verification of networks with packet transformers using atomic predicates”, IEEE/ACM Transactions on Networking, vol. 25, no. 5, pp. 2900– 2915, 2017.
[113]R. Beckett, A. Gupta, R. Mahajan, and D. Walker, “A general approach to network configuration verification” In ACM SIGCOMM, 2017.
[114]A. Gember-Jacobson, R. Viswanathan, A. Akella, and R. Mahajan, “Fast control plane analysis using an abstract representation” In ACM SIGCOMM, 2016.
[115]R. Beckett, A. Gupta, R. Mahajan, and D. Walker, “Control plane compression”, In ACM SIGCOMM, 2018.
[116]A. Abhashkumar, A. Gember-Jacobson, and A. Akella, “Tiramisu: Fast and general network verification”, In USENIX NSDI, 2020.
[117]S. Prabhu, K.Y. Chou, A. Kheradmand, P. Godfrey, and M. Caesar “Plankton: Scalable network configuration verification through model checking”, In USENIX NSDI, 2020.
[118]B. Butler. What is intent-based networking? 2017.
[119]Y. Li, J. Gao, E. Zhai, M. Liu, K. Liu and H. H. Liu, “Cetus: Releasing P4 Programmers from the Chore of Trial and Error Compiling”, in the Proceedings of the 19th USENIX Symposium on NSDI April 4–6, USA, 2022.
[120]J. Schulz-Zander, C. Mayer, B. Ciobotaru, S. Schmid, et al. “Unified Programmability of Virtualized Network Functions and Software-Defined Wireless Networks” , in IEEE Transactions on Network and Service Management, 2017.
[121]R. F. Moyano, D. Fernandez, N. Merayo, C. M. Lentisco and A. Cardenas, “NFV and SDN-Based Differentiated Traffic Treatment for Residential Networks”, IEEE Access, Feb 2020.
[122]S. Palkar, C. Lan, S. Han, K. Jang, A. Panda, S. Ratnasamy, L. Rizzo, and S. Shenker, “E2: A Framework for NFV Applications”, In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP ’15, pages 121–136, New York, NY, USA, 2015. ACM.
[123]R. Gandhi, Y. C. Hu, and M. Z. Yoda, “A Highly Available Layer-7 Load Balancer”, in Proceedings of the Eleventh ACM European Conference on Computer Systems, pp. 21:1–21:16, New York, USA, 2016.
[124]Jeongseok Son, Yongqiang Xiong, Kun Tan, Paul Wang, Ze Gan, and Sue Moon. “Protego: Cloud-Scale Multitenant IPsec Gateway”, In the proceedings of USENIX Annual Technical Conference (USENIX ATC 17), pages 473–485, Santa Clara, CA, 2017.
[125]C. Zhang, J. Bi, Y. Zhou, A. B. Dogar, and J. Wu, “HyperV: A High Performance Hypervisor for Virtualization of the Programmable Data Plane,” in IEEE International Conference on Computer Communications and Networks, 2017.
[126]C. Zhang, J. Bi, Y. Zhou, and J. Wu, “HyperVDP: High-Performance Virtualization of the Programmable Data Plane,” IEEE Journal on Selected Areas in Communications, vol. 37, 2019.
[127]K. Gao, T. Nojima, and Y. R. Yang, “TRIDENT: Towards a Unified SDN Programming Framework with Automatic Updates”, in the Prodeedings of ACM SIGCOMM Conference, Budapest, Hungary, 20-25 Aug. 2018.
[128]E. O. Zaballa, D. Franco, M. S. Berger, and M. Higuero, “A Perspective on P4-Based Data and Control Plane Modularity for Network Automation,” in the proceedings of P4 Workshop in Europe, 2020.
[129]M.Canini, A. Feldmann, D. Levin, F. Schaffert, S.Schmid, “Software-defined networks: incremental deployment with panopticon”, IEEE Computer vol. 47, no. 11, pp: 56–60, 2014.