运行示例:demo1.p4_16.p4
文件位置:
~/p4pktgen-master/examples/ demo1.p4_16.p4
同文件夹下有已经编译好的json文件:
~/p4pktgen-master/examples/ demo1.p4_16.json
可以看到 p4文件有ParserImpl(),verifyChecksum(),ingress(),egress(),computeChecksum(),DeparserImpl()六个模块,但是对于p4pktgen来说只关心ParserImpl() 和ingress(),剩下四个control的内容不关心。
test-cases.json是描述测试用例的数据文件,其中一个大括号括起来的是一个测试用例。
① 可得到"SUCCESS"和"UNINITIALIZED_READ"结果:
% p4pktgen examples/demo1.p4_16.json >& log1.txt
② 可得到"SUCCESS"和"INVALID_HEADER_WRITE"结果:
% p4pktgen -au examples/demo1.p4_16.json >& log2.txt
选项 –au是–allow-uninitialized-reads的缩写,让p4pktgen假设将所有域都初始化为0

本文档介绍了P4pktgen工具如何运行示例,特别是针对`demo1.p4_16.p4`的测试。内容包括不同运行选项如 `-au` 的影响,以及`result`、`expected_path`、`complete_path`等关键概念的解释。通过`input_packet`和`uninitialized_read_data`,深入解析了测试用例的输入包和未初始化读取数据的情况。
最低0.47元/天 解锁文章
675

被折叠的 条评论
为什么被折叠?



