0%

写在前面

本文以SONiC202012版本进行syncd模块初始化分析。sycnd与orchagent强相关,主要有5个动作,分别是createremovesetget以及notify。对于前三个动作,orchagent调用sairedis api写往ASIC_DB即返回成功,get动作会阻塞等待syncd的答复,当syncd接收到notify事件后会通过ASIC_DB通知到orchagent。本文暂分析syncd的初始化动作。

本文可以总结成一句话:SONiC上层根据objecttype获取对应的info结构,从而调用里面的具体方法,完成sai的调用。

阅读全文 »

写在前面

在进行sonic-testbed中的process monitor用例调试的时候,发现swss容器中的orchagent进程产生coredump导致测试失败。本文将简单介绍coredump以及如何编译debug版本SONiC进行coredump调试。

阅读全文 »

写在前面

本文基于SONiC 202012分支进行交换芯片启动流程的分析。源码部分主要涉及sonic-swsssonic-sairedis以及ocp-sai. 一句话说明所有流程:swss模块通知syncd模块进行ASIC初始化。

阅读全文 »

写在前面

本文通过研究SONiC中已支持的路由协议BGP,了解SONiC中路由模块的工作流程,进而为支持SONiC中暂未支持的路由协议(ospf、rip、pim)的porting打下基础。以协议栈收包,协议栈状态机运转,协议栈表项生成下发至SDK为方向进行研究。

阅读全文 »