Concurrent NetCore: From policies to pipelines

Cole Schlesinger, Michael Greenberg, David Walker

Research output: Chapter in Book/Report/Conference proceedingConference contribution

23 Scopus citations


In a Software-Defined Network (SDN), a central, computationally powerful controller manages a set of distributed, computationally simple switches. The controller computes a policy describing how each switch should route packets and populates packet-processing tables on each switch with rules to enact the routing policy. As network conditions change, the controller continues to add and remove rules from switches to adjust the policy as needed. Recently, the SDN landscape has begun to change as several proposals for new, reconfigurable switching architectures, such as RMT [5] and FlexPipe [14] have emerged. These platforms provide switch programmers with many, flexible tables for storing packet-processing rules, and they offer programmers control over the packet fields that each table can analyze and act on. These reconfigurable switch architectures support a richer SDN model in which a switch configuration phase precedes the rule population phase [4]. In the configuration phase, the controller sends the switch a graph describing the layout and capabilities of the packet processing tables it will require during the population phase. Armed with this foreknowledge, the switch can allocate its hardware (or software) resources more efficiently. We present a new, typed language, called Concurrent NetCore, for specifying routing policies and graphs of packet-processing tables. Concurrent NetCore includes features for specifying sequential, conditional and concurrent control-flow between packet-processing tables. We develop a fine-grained operational model for the language and prove this model coincides with a higher-level denotational model when programs are well-typed. We also prove several additional properties of well-typed programs, including strong normalization and determinism. To illustrate the utility of the language, we develop linguistic models of both the RMT and FlexPipe architectures and we give a multi-pass compilation algorithm that translates graphs and routing policies to the RMT model.

Original languageEnglish (US)
Title of host publicationICFP 2014 - Proceedings of the 2014 ACM SIGPLAN International Conference on Functional Programming
PublisherAssociation for Computing Machinery
Number of pages14
ISBN (Print)9781450328739
StatePublished - 2014
Event19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014 - Gothenburg, Sweden
Duration: Sep 1 2014Sep 3 2014

Publication series

NameProceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP


Other19th ACM SIGPLAN International Conference on Functional Programming, ICFP 2014

All Science Journal Classification (ASJC) codes

  • Software


  • frenetic
  • network programming languages
  • openflow
  • software-defined networking


Dive into the research topics of 'Concurrent NetCore: From policies to pipelines'. Together they form a unique fingerprint.

Cite this