sonic:如何处理新增的IP地址

下图展示新增 IP 地址的完整处理时序:10 个参与者共用一组生命线,17 个步骤从上向下连续排列。

打开完整 SVG 原图

1. 完整时序图

SONiC 新增 IP 地址完整时序:配置下发、接口处理、路由分发与路由下发,共 10 个参与者和 17 个步骤。

2. 四张分图对照

展开四张分图,与完整时序图对照

2.1. 配置下发(步骤 1–3)

配置下发:User/CLI 写入 CONFIG_DB,intfmgrd 订阅后向 Linux Kernel 发送 RTM_NEWADDR。

打开 SVG 原图

2.2. 地址通知与接口处理(步骤 4–7)

地址通知经 fpmsyncd 写入 APP_DB 的 INTF_TABLE,再由 IntfOrch 处理 RIF、MyStation MAC 和 IP2ME Trap。

打开 SVG 原图

2.3. 路由通知与分发(步骤 8–12)

按原图保留 RTN_LOCAL 的 Drop 分支,RTN_UNICAST 经 APP_DB 的 ROUTE_TABLE 传递到 RouteOrch。

打开 SVG 原图

2.4. 接口状态与路由下发(步骤 13–17)

RouteOrch 查询 RIF 状态,调用 SAI,接收状态并按原图表示写入 ASIC_DB。

打开 SVG 原图

图中的 SAI/SDK/HW 和 ASIC_DB 采用简化表示。


sonic:如何处理新增的IP地址
https://martinbj2008.github.io/2026/10/21/sonic-how-to-add-ip-address/
Author
Martinbj2008
Posted on
October 21, 2026
Licensed under