Meissa: Scalable Network Testing for Programmable Data Planes

被引:12
作者
Zheng, Naiqian [1 ]
Liu, Mengqi [2 ]
Zhai, Ennan [2 ]
Liu, Hongqiang Harry [2 ]
Li, Yifan [2 ]
Yang, Kaicheng [1 ]
Liu, Xuanzhe [1 ]
Jin, Xin [1 ]
机构
[1] Peking Univ, Beijing, Peoples R China
[2] Alibaba Grp, Hangzhou, Peoples R China
来源
SIGCOMM '22: PROCEEDINGS OF THE 2022 ACM SIGCOMM 2022 CONFERENCE | 2022年
基金
中国国家自然科学基金;
关键词
Formal Methods; Programmable Switches; P4; Testing; SYMBOLIC EXECUTION; TEST-GENERATION;
D O I
10.1145/3544216.3544247
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Ensuring the correctness of programmable data planes is important. Testing offers comprehensive correctness checking, including detecting both code bugs and non-code bugs. However, scalability is a key challenge for testing production-scale data planes to achieve high coverage. This paper presents Meissa, a scalable network testing system for programmable data planes with full path coverage. The core of Meissa is a domain-specific code summary technique that simplifies the control flow graph of a data plane program for scalable testing without sacrificing coverage. Code sununary decomposes a data plane program into individual pipelines, and summarizes each pipeline with a succinct representation. We formally prove that Meissa with code summary achieves 100% path coverage. We use both open-source and production-scale data plane programs to evaluate Meissa. The evaluation shows that (i) Meissa is able to test production-scale data plane programs that cannot be supported by state-of-the-art efforts, and (ii) besides P4 code bugs, Meissa is able to not only identify known non-code bugs, but also detect previously-unknown non-code bugs. We also share in this paper several real cases tested by Meissa in a production programmable data plane.
引用
收藏
页码:350 / 364
页数:15
相关论文
共 102 条
[1]  
Abhashkumar A, 2020, PROCEEDINGS OF THE 17TH USENIX SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION, P201
[2]  
Ammann Paul., 2008, INTRO SOFTWARE TESTI, DOI 10.1017/9781316771273
[3]  
[Anonymous], 2020, P4C ISSUE 2343
[4]  
[Anonymous], 2020, BF P4C BACKEND BUG 1
[5]  
[Anonymous], 2021, PTF PACKET TESTING F
[6]  
[Anonymous], 2020, BF P4C BACKEND BUG 6
[7]  
[Anonymous], 2021, Data plane development kit
[8]  
[Anonymous], 2020, P4C ISSUE 2147
[9]  
[Anonymous], 2015, P USENIX S NET SYST
[10]  
[Anonymous], 2015, SUMMIT ADV PROGRAMMI