Skip to Content
[CAIDA - Center for Applied Internet Data Analysis logo]
Center for Applied Internet Data Analysis
www.caida.org > publications : papers : 2019 : dynamic_property_enforcement_programmable
Dynamic Property Enforcement in Programmable Data Planes
M. Neves, B. Huffaker, K. Levchenko, and M. Barcellos, "Dynamic Property Enforcement in Programmable Data Planes", in IFIP Networking, May 2019.
|   View full paper:    PDF    DOI    |  Citation:    BibTeX    Resource Catalog   |

Dynamic Property Enforcement in Programmable Data Planes

Miguel Neves2
Bradley Huffaker1
Kirill Levchenko3
Marinho Barcellos2
1

CAIDA, San Diego Supercomputer Center, University of California San Diego

2

Universidade Federal do Rio Grande do Sul (UFRGS)

3

University of Illinois at Urbana-Champaign, Illinois (UIUC)

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 typically require programmers to manually model P4 programs, are limited in terms of the properties they can guarantee and 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. Our results show that P4box allows programmers to easily express a broad range of properties. Moreover, we demonstrate that runtime monitors represent a small overhead to network devices in terms of latency and resource consumption.

Keywords: routing, security
  Last Modified: Wed Dec-15-2021 16:33:56 UTC
  Page URL: https://www.caida.org/publications/papers/2019/dynamic_property_enforcement_programmable/index.xml