Extern Objects in P4: an ROHC Header Compression Scheme Case Study

Jeferson Santiago da Silva, F. Boyer, Laurent-Olivier Chiquette, J. Langlois
{"title":"Extern Objects in P4: an ROHC Header Compression Scheme Case Study","authors":"Jeferson Santiago da Silva, F. Boyer, Laurent-Olivier Chiquette, J. Langlois","doi":"10.1109/NETSOFT.2018.8460108","DOIUrl":null,"url":null,"abstract":"P4 is an emergent packet-processing language with which the user can describe how the packets are to be processed in a switching element. This paper presents a way to implement complex operations that are not natively supported in P4. In this work, we explored two different methods to add extensions to P4: i) using new native primitives and ii) using extern instances. As a case study, an ROHC entity was implemented and invoked in a P4 program. The tests showed similar relative performance in both methods in terms of normalized packet latency. However, extern instances appear to be more suitable for target-specific switching applications, where the manufacturer/vendor can specify its own specific operations without changes in the P4 syntax and semantics. Extern instances only require changes in the target-specific backend compiler while keeping the P4 frontend compiler unchanged. The use of externs also results in a more elegant code solution since they are implemented outside the switch-core, thus reducing side effects risks that can be caused by a modification in a switch pipeline implementation.","PeriodicalId":333377,"journal":{"name":"2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft)","volume":"147 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"9","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2018 4th IEEE Conference on Network Softwarization and Workshops (NetSoft)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/NETSOFT.2018.8460108","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 9

Abstract

P4 is an emergent packet-processing language with which the user can describe how the packets are to be processed in a switching element. This paper presents a way to implement complex operations that are not natively supported in P4. In this work, we explored two different methods to add extensions to P4: i) using new native primitives and ii) using extern instances. As a case study, an ROHC entity was implemented and invoked in a P4 program. The tests showed similar relative performance in both methods in terms of normalized packet latency. However, extern instances appear to be more suitable for target-specific switching applications, where the manufacturer/vendor can specify its own specific operations without changes in the P4 syntax and semantics. Extern instances only require changes in the target-specific backend compiler while keeping the P4 frontend compiler unchanged. The use of externs also results in a more elegant code solution since they are implemented outside the switch-core, thus reducing side effects risks that can be caused by a modification in a switch pipeline implementation.
P4中的外部对象:一个ROHC报头压缩方案案例研究
P4是一种紧急的数据包处理语言,用户可以用它来描述如何在交换元素中处理数据包。本文提出了一种实现P4原生不支持的复杂操作的方法。在这项工作中,我们探索了向P4添加扩展的两种不同方法:i)使用新的本机原语和ii)使用外部实例。作为一个案例研究,在一个P4程序中实现并调用了一个ROHC实体。测试显示,在标准化数据包延迟方面,两种方法的相对性能相似。但是,外部实例似乎更适合于特定于目标的交换应用程序,制造商/供应商可以在不更改P4语法和语义的情况下指定自己的特定操作。外部实例只需要在特定于目标的后端编译器中进行更改,同时保持P4前端编译器不变。外部的使用还会产生更优雅的代码解决方案,因为它们是在交换核心之外实现的,从而减少了在交换管道实现中修改可能引起的副作用风险。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信