SWSS / SAI / Redis 内部実装¶
この章は、SONiC の機能章を読み解くときに何度も出てくる「Redis DB」「orchagent」「syncd」「SAI」の関係を、機能横断の内部実装としてまとめ直すための入口である。各機能章(BGP、L2、ACL、VRF など)では Redis DB と daemon の名前が前提のように出てくるが、その共通の地図はここに置く。
主な問いは次の 4 つ。
CONFIG_DB、APPL_DB、STATE_DB、COUNTERS_DB、ASIC_DBはどの daemon が読み書きし、どこで境界を持つのか。- orchagent、syncd、sairedis、SAI、Redis はそれぞれ何を責務にしているのか。
- SAI failure handling、dump、API version、stats capability は運用と開発のどちらの観点で読めばよいのか。
- Bulk counter、flex counter、debug framework、dump utility は内部実装章としてどう整理されるのか。
読む順番¶
- 概要: 内部実装章の読み方と、機能章との重複を避けるためのスコープを定義する。
- アーキテクチャ: Redis DB、ProducerStateTable、orchagent、syncd、SAI の関係を一枚図で押さえる。
- 設定: 内部実装側の設定面(database_config.json、multi-namespace、FEATURE delay 等)を扱う。
- 運用: SAI 失敗時の見方、ERROR_DB、dump、health-check、system ready など運用観点を扱う。
- 内部実装: SAI API version、stats capability、CRM 拡張、bulk/flex counter、debug framework、dump utility を比較する。
- 発展トピック: app health、system ready、FEATURE delayed、warm reboot の view switching など起動・再構成系を扱う。
統合した既存ページ¶
この章は internals / architecture / platform / system 配下の HLD 派生ページを横断する。スキーマや SAI 呼び出しの詳細は各サブページ末尾の「関連ページ」から、機能固有の話は当該機能章(BGP、L2 VLAN LAG、ACL / CoPP / Mirror など)から参照する。
章構成と進捗¶
| ページ | 状態 | verification |
|---|---|---|
| concept | ✅ 完成 (158 行) | meta |
| setup | ✅ 完成 (272 行) | meta |
| operations | ✅ 完成 (170 行) | meta |
| internals | ✅ 完成 (124 行) | meta |
| advanced | ✅ 完成 (104 行) | meta |
次に読むべき記事¶
この章を読み進める順
関連する HLD 7 件
- Error Handling Framework 概念(ERROR_DB / SWSS_RC / 報告のみの責務)
- Error Handling Framework 制限事項と HLD との乖離(コア機構未実装 / CRM 代替)
- Error Handling Framework(ERROR_DB / SAI 失敗の app への伝搬)
- Trap Flow Counter(Host I/F Trap 単位の Generic Counter 集計)
- swss-schema(APPL_DB / STATE_DB の中心スキーマ参照)
- Alpine 仮想 SONiC(ALViS / KNE デプロイ)
- Error Handling Framework 内部実装(OrchAgent producer / ErrorListener / ASIC_DB notification)
関連トラブルシュート 5 件
- APP_DB → ASIC_DB の反映が遅延・停止する
- orchagent が CPU 100% で詰まる
- show techsupport の出力サイズが肥大化する
- 経路は RIB にあるが FIB / ASIC に降りない
- Warm Reboot が失敗 / 通信断が長引く
関連する章¶
前提として読むべき章
派生で読むべき章
- VRF / ECMP / RIB-FIB パイプライン
- L2 / VLAN / LAG / MC-LAG
- ACL / CoPP / Mirror / Packet Action
- QoS / Buffer / PFC / Watermark
補完的に読む章