开源软件的开发采用众人拾柴火焰高的模式,每一个有兴趣的参与者可以对代码的修改提出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()
标签:PR,SONiC,SAI,Git,Extension,Generic,社区 From: https://www.cnblogs.com/qiuzhiqiuzhi/p/17092587.html