从一个Git PR看SONiC社区的开发

开源软件的开发采用众人拾柴火焰高的模式,每一个有兴趣的参与者可以对代码的修改提出Pull Request,经过社区审核通过以后,所建议的修改可以被纳入到社区代码中。

这里以一个SONiC社区的PR为例子来分析这种开发模式,我们分析的PR#1243 是最近Intel向SONiC社区提交的,这个PR其实是一个新功能建议的HLD(High Level Design)描述,社区在Review完这个功能描述以后,如果建议得到认可,后续可以提交开发代码,所以这里还相当于是需求建议阶段.

通过Github上SONiC的页面,点击“Files changed”页面,可以看到PR#1243是对doc/crm/下Generic_SAI_Extensions_CRM.md文件的内容修改,从代码提交的记录看全部内容都是新创建的。

HLD文件中介绍这是一个“High Level Design for critical resource monitoring (crm) in SONiC for Generic SAI Extension tables.”是在CRM中扩展对Generic SAI Extension tables资源情况的监控。

需要支持能获得系统可用和空闲Count的数量,缺省水线设置值。

在SAI中已经支持了sai_object_type_get_availability()功能,支持Generic SAI Extension tables只需要这个API中参数范围扩大,允许以

 - object-type    : SAI_OBJECT_TYPE_GENERIC_PROGRAMMABLE 

 - attribute-id   : SAI_GENERIC_PROGRAMMABLE_ATTR_OBJECT_NAME

为参数来调用sai_object_type_get_availability()

 

 
 
posted @ 2023-02-04 22:53  求知求至  阅读(106)  评论(0)    收藏  举报