Action computation for compositional software-defined networking

Software-defined networking (SDN) envisions the support of multiple applications collaboratively operating on the same traffic. Policies of applications are therefore required to being composed into a rule list that represents the union of application intents. In this context, ensuring the correctness and efficiency of composition for match fields as well as the associated actions is the fundamental requirement. Prior work however focuses only on the composition of match fields and assumes simple concatenation for action composition. We show in this paper that simple concatenation can result in incorrect behavior (for parallel composition) and inefficiency (for sequential composition) for actions composition. To address this issue, we formalized the action composition problem and prove a feasibility condition on the composition of rule actions. We then propose a graph-based approach that facilitates fast composition of action lists without action redundancy. Our proposed approach has been integrated into the CoVisor code base and the evaluation results show its fitness for purpose.

[1]  Xin Jin,et al.  Incremental update for a compositional SDN hypervisor , 2014, HotSDN.

[2]  Thierry Turletti,et al.  A Survey of Software-Defined Networking: Past, Present, and Future of Programmable Networks , 2014, IEEE Communications Surveys & Tutorials.

[3]  Xin Jin,et al.  CoVisor: A Compositional Hypervisor for Software-Defined Networks , 2015, NSDI.

[4]  Martín Casado,et al.  NOX: towards an operating system for networks , 2008, CCRV.

[5]  David Walker,et al.  Languages for software-defined networks , 2013, IEEE Communications Magazine.

[6]  Fernando M. V. Ramos,et al.  Software-Defined Networking: A Comprehensive Survey , 2014, Proceedings of the IEEE.

[7]  Nick McKeown,et al.  OpenFlow: enabling innovation in campus networks , 2008, CCRV.

[8]  David Walker,et al.  A compiler and run-time system for network programming languages , 2012, POPL '12.

[9]  Ying Zhang,et al.  PGA: Using Graphs to Express and Automatically Reconcile Network Policies , 2015, Comput. Commun. Rev..

[10]  Nate Foster,et al.  NetKAT: semantic foundations for networks , 2014, POPL.

[11]  Ananth Balashankar,et al.  Software Defined Networking , 2019, 2019 19th International Conference on Sciences and Techniques of Automatic Control and Computer Engineering (STA).

[12]  Keith Kirkpatrick,et al.  Software-defined networking , 2013, CACM.

[13]  David Walker,et al.  Frenetic: a network programming language , 2011, ICFP.

[14]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[15]  Alan A. Bertossi,et al.  The Edge Hamiltonian Path Problem is NP-Complete , 1981, Inf. Process. Lett..

[16]  Patrick Th. Eugster,et al.  Composing Heterogeneous SDN Controllers with Flowbricks , 2014, 2014 IEEE 22nd International Conference on Network Protocols.

[17]  Fernando Pedone,et al.  Merlin: A Language for Provisioning Network Resources , 2014, CoNEXT.

[18]  Russell J. Clark,et al.  Kinetic: Verifiable Dynamic Network Control , 2015, NSDI.

[19]  David Walker,et al.  Composing Software Defined Networks , 2013, NSDI.