Table of Contents
Fetching ...

Tracer: A Tool for Race Detection in Software Defined Network Models

Georgiana Caltais, Mahboobeh Zangiabady, Ervin Zvirbulis

TL;DR

This paper presents Tracer, a tool designed to automatically detect and explain the occurrence of data races in DyNetKAT SDN models, and exploits the DyNetKAT axiomatization and enables race detection in SDNs based on Lamport vector clocks.

Abstract

Software Defined Networking (SDN) has become a new paradigm in computer networking, introducing a decoupled architecture that separates the network into the data plane and the control plane. The control plane acts as the centralized brain, managing configuration updates and network management tasks, while the data plane handles traffic based on the configurations provided by the control plane. Given its asynchronous distributed nature, SDN can experience data races due to message passing between the control and data planes. This paper presents Tracer, a tool designed to automatically detect and explain the occurrence of data races in DyNetKAT SDN models. DyNetKAT is a formal framework for modeling and analyzing SDN behaviors, with robust operational semantics and a complete axiomatization implemented in Maude. Built on NetKAT, a language leveraging Kleene Algebra with Tests to express data plane forwarding behavior, DyNetKAT extends these capabilities by adding primitives for communication between the control and data planes. Tracer exploits the DyNetKAT axiomatization and enables race detection in SDNs based on Lamport vector clocks. Tracer is a publicly available tool.

Tracer: A Tool for Race Detection in Software Defined Network Models

TL;DR

This paper presents Tracer, a tool designed to automatically detect and explain the occurrence of data races in DyNetKAT SDN models, and exploits the DyNetKAT axiomatization and enables race detection in SDNs based on Lamport vector clocks.

Abstract

Software Defined Networking (SDN) has become a new paradigm in computer networking, introducing a decoupled architecture that separates the network into the data plane and the control plane. The control plane acts as the centralized brain, managing configuration updates and network management tasks, while the data plane handles traffic based on the configurations provided by the control plane. Given its asynchronous distributed nature, SDN can experience data races due to message passing between the control and data planes. This paper presents Tracer, a tool designed to automatically detect and explain the occurrence of data races in DyNetKAT SDN models. DyNetKAT is a formal framework for modeling and analyzing SDN behaviors, with robust operational semantics and a complete axiomatization implemented in Maude. Built on NetKAT, a language leveraging Kleene Algebra with Tests to express data plane forwarding behavior, DyNetKAT extends these capabilities by adding primitives for communication between the control and data planes. Tracer exploits the DyNetKAT axiomatization and enables race detection in SDNs based on Lamport vector clocks. Tracer is a publicly available tool.

Paper Structure

This paper contains 7 sections, 14 equations, 9 figures, 1 table, 1 algorithm.

Figures (9)

  • Figure 1: Traditional network setup
  • Figure 2: Software-defined network setup
  • Figure 3: Running example inspired from race-openflow
  • Figure 4: NetKAT: Syntax and Semantics netkat
  • Figure 5: DyNetKAT: Operational Semantics (relevant excerpt)
  • ...and 4 more figures