2020年12月30日 当SONiC遇到P4

当SONiC遇到P4

SONiC-P4 是SONiC中运行的P4虚拟交换机,当前的SONiC-P4是一个docker image,可以运行在任意的docker环境中。
看看SONiC和P4能碰撞出什么火花。
SONiC的SAI提供了SONiC软件和不同交换芯片之间的统一接口,不同的交换芯片供应商提供各自芯片闭源的SAI接口实现,这种模式导致SAI和芯片绑定,没有具体芯片的平台也就不能体验SONiC的功能。
为了实现用一个统一的抽象接口来描述不同交换芯片的功能,SAI定义了几个大类的SAI目标架构SAI target architecture,这个架构是所有的SAI成员都认可的,SAI对不同种类和功能的交换机具体的Architecture是不同的。
P4 Program要根据Vendor提供的P4 Architecture Model编写,用vendor的P4 Compiler编译, 运行在Vendor的Target上,不同的交换芯片根据各自芯片设计的不同,有不同的Architecture Model。支持P4的交换芯片通过P4代码对芯片的pipeline行为进行编程,也就是说P4是一种对数据平面进行编程的语言。在P4的代码中,必须包含include对应目标架构的库文件。为了方便P4编程,P4也提供了一个Soft Switch实现以及对应的Architecture Model。
SONiC-P4利用P4的Soft Switch,利用P4编程实现了SAI要求的功能模型。
SONiC 和 P4 完美的结合。

来源:求知若渴,大智若愚

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年11月26日
下一篇 2020年11月26日

相关推荐