TY - JOUR
T1 - Dynamic Property Enforcement in Programmable Data Planes
AU - Neves, Miguel
AU - Huffaker, Bradley
AU - Levchenko, Kirill
AU - Barcellos, Marinho
N1 - Manuscript received March 18, 2020; revised December 5, 2020; accepted March 3, 2021; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor D. Malone. Date of publication April 1, 2021; date of current version August 18, 2021. This work was supported in part by NSF under Grant CNS-1740911, in part by Rede Nacional de Ensino e Pesquisa (RNP)/Coordenação de Tecnologia da Informação e Comunicação (CTIC) under Grant P4Sec, in part by Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) under Grant 140317/2017-1, and in part by Coordenação de Aper-feiçoamento de Pessoal de Nível Superior (CAPES)/Brazil under Grant 001. (Corresponding author: Miguel Neves.) Miguel Neves is with the Dalhousie University, Faculty of Computer Science, Halifax, NS B3H 4R2, Canada and also with the Federal University of Rio Grande do Sul (UFRGS), Porto Alegre 91501-970, Brazil (e-mail: [email protected]).
This work was supported in part by NSF under Grant CNS-1740911, in part by Rede Nacional de Ensino e Pesquisa (RNP)/Coordena??o de Tecnologia da Informa??o e Comunica??o (CTIC) under Grant P4Sec, in part by Conselho Nacional de Desenvolvimento Cient?fico e Tecnol?gico (CNPq) under Grant 140317/2017-1, and in part by Coordena??o de Aperfei?oamento de Pessoal de N?vel Superior (CAPES)/Brazil under Grant 001.
PY - 2021/8
Y1 - 2021/8
N2 - 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.
AB - 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.
KW - P4
KW - SDN
KW - monitoring
KW - network debugging
KW - programmable networks
UR - https://www.scopus.com/pages/publications/85103752970
UR - https://www.scopus.com/pages/publications/85103752970#tab=citedBy
U2 - 10.1109/TNET.2021.3068339
DO - 10.1109/TNET.2021.3068339
M3 - Article
AN - SCOPUS:85103752970
SN - 1063-6692
VL - 29
SP - 1540
EP - 1552
JO - IEEE/ACM Transactions on Networking
JF - IEEE/ACM Transactions on Networking
IS - 4
M1 - 9393490
ER -