欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

2020年12月30日 当SONiC遇到P4

程序员文章站 2022-06-18 18:33:34
当SONiC遇到P4SONiC-P4 是SONiC中运行的P4虚拟交换机,当前的SONiC-P4是一个docker image,可以运行在任意的docker环境中。看看SONiC和P4能碰撞出什么火花。SONiC的SAI提供了SONiC软件和不同交换芯片之间的统一接口,不同的交换芯片供应商提供各自芯片闭源的SAI接口实现,这种模式导致SAI和芯片绑定,没有具体芯片的平台也就不能体验SONiC的功能。为了实现用一个统一的抽象接口来描述不同交换芯片的功能,SAI定义了几个大类的SAI目标架构SAI ta...

当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 完美的结合。

本文地址:https://blog.csdn.net/weixin_44316184/article/details/111999309