Dynamic Property Enforcement in Programmable Data Planes

Miguel Neves, Bradley Huffaker, Kirill Levchenko, Marinho Barcellos

Research output: Contribution to journalArticlepeer-review

Abstract

Network programmers can currently deploy an arbitrary set of protocols in forwarding devices through data plane programming languages such as P4. However, as any other type of software, P4 programs are subject to bugs and misconfigurations. Network verification tools have been proposed as a means of ensuring that the network behaves as expected, but these tools frequently face severe scalability issues. In this paper, we argue for a novel approach to this problem. Rather than statically inspecting a network configuration looking for bugs, we propose to enforce networking properties at runtime. To this end, we developed P4box, a system for deploying runtime monitors in programmable data planes. P4box allows programmers to easily express a broad range of properties (both program-specific and network-wide). Moreover, we provide an automated framework based on assertions and symbolic execution for ensuring monitor correctness. Our experiments on a SmartNIC show that P4box monitors represent a small overhead to network devices in terms of latency, throughput and power consumption.

Original languageEnglish (US)
Article number9393490
Pages (from-to)1540-1552
Number of pages13
JournalIEEE/ACM Transactions on Networking
Volume29
Issue number4
DOIs
StatePublished - Aug 2021

Keywords

  • P4
  • SDN
  • monitoring
  • network debugging
  • programmable networks

ASJC Scopus subject areas

  • Software
  • Computer Science Applications
  • Computer Networks and Communications
  • Electrical and Electronic Engineering

Fingerprint

Dive into the research topics of 'Dynamic Property Enforcement in Programmable Data Planes'. Together they form a unique fingerprint.

Cite this