コンテンツにスキップ

内部実装

Redis、SwSS、orchagent、counter、P4Orch など実装内部の構造を扱う章。

この章の趣旨

機能 HLD ではなく、SONiC 全体の 内部基盤 を扱う。具体的には:

  • Redis DB スキーマ・分割: APPL_DB / STATE_DB / multi-namespace / 複数インスタンス分散
  • SwSS / orchagent コア: producer/consumer state table、ZMQ、view switching
  • FlexCounter / カウンタ集約: counter init 最適化、VOQ aggregate、レート計算
  • P4Orch / 派生 orchestrator: P4Runtime 連携、PINS まわりの実装

機能(VLAN / VXLAN / BGP 等)の HLD は各機能章を読み、本章は「その機能を支えている共通レイヤがどう書かれているか」を確認するときに参照する。

この章の読み方

まず全体像や実装単位のページを読み、必要に応じて関連する機能別章またはリファレンス章に移動する。

主要ページ

扱わない範囲

  • 機能 HLD(VLAN / BGP / ACL 等の設計)は各機能章
  • CONFIG_DB の テーブル別リファレンスreference
  • YANG モジュール / CLI コマンドの一覧も reference
  • ベンダー実装に依存する SAI 拡張は対象外(コミュニティ master の sairedis / sai-redis-vs に閉じる)

検証状況

  • ページ数: 12
  • 分布: Code-verified: 10 / Discrepancy-found: 1 / HLD-only: 1

実装差分があるページ

HLD-only のページ

ページ一覧

ページ 検証
FlexCounter リファクタ(CounterContext テンプレート化) Code-verified
L3 Scaling と Performance 強化(kernel ARP gc / sairedis bulk / fpmsyncd / show arp) Discrepancy-found
Multi-ASIC 名前空間の Redis(database_global.json と SonicDBConfig) Code-verified
P4Orch(PINS の P4Runtime 用 orchagent / 同期書き込み) Code-verified
VOQ カウンタ集約(chassis supervisor からの aggregate 表示) Code-verified
ZMQ ProducerStateTable / ConsumerStateTable 設計 Code-verified
dump utility(モジュール単位で複数 DB から関連 key を集約する debug CLI) Code-verified
flex counter 初期化最適化(pending_sai_objects + バッチ bulk_get_stats) Code-verified
swss-schema(APPL_DB / STATE_DB の中心スキーマ参照) HLD-only
コンテナ health-check(k8s readiness probe) Code-verified
バイト/パケットレートとポート使用率(RATES テーブル + EMA) Code-verified
複数 Redis インスタンスのユーザ定義(database_config.json で DB を分散) Code-verified