発展トピック¶
VOQ chassis 固有の機能は、BGP・LAG・Everflow・TSA・warm reboot のような既存機能領域ごとに別 HLD として書かれています。ここでは「他章で読むべきテーマ」と「VOQ chassis 視点で押さえるポイント」を対応付け、各章への橋渡しに徹します。
VOQ Chassis での BGP¶
bgp-setup-for-voq-chassis は、VOQ chassis 上の BGP セッション設計を扱います。要点:
- BGP プロセスは line card の ASIC namespace ごとに起動します。
- chassis 内部の inband BGP(line card 間の同期用)と外向き BGP は別物として扱います。
- system port を経由する route の next hop は、line card 跨ぎの場合に system port 経由のシグナリングが必要になります。
BGP の章本文での読み順は 02 BGP を参照し、VOQ 観点では「namespace ごとの BGP プロセス」「inband / 外向きの分離」「system port next hop」の 3 点を意識します。
Distributed VOQ System での LAG¶
lag-on-distributed-voq-system は、line card 跨ぎの LAG(メンバーが複数 line card に分散する portchannel)の設計を扱います。
- LAG メンバーは複数 line card の system port にまたがれる。
- hash 結果に応じて egress system port が選ばれ、ingress 側 VOQ が宛先を切り替える。
- LACP は line card 側の teamd が動かし、chassis 全体としての membership は Chassis DB と協調する。
L2 / LAG の章本文は 06 L2 / VLAN / LAG を参照し、VOQ 視点では「メンバーが line card 跨ぎになる可能性」「fabric を経由する hash 分散」を押さえます。
Everflow on VOQ Chassis¶
everflow-support-on-voq-chassis は、mirror セッションが line card 跨ぎで成立するための拡張を扱います。
- mirror 元と mirror 宛先(collector)が別 line card にいる場合、cell スイッチングで fabric を経由する。
- ingress mirror と egress mirror は line card ごとに発生する。
- ACL bind 先や session 識別は ASIC namespace 単位で持つが、collector resolution は chassis 全体で一意。
mirror / ACL の章本文は 07 ACL / CoPP / Mirror を参照し、VOQ 視点では「mirror traffic も fabric を流れる」「per-line-card session が増える」点を押さえます。
Reliable TSA¶
reliable-tsa (Traffic Shift Away)は、特定 device を BGP コミュニティで隔離して traffic を退避させる仕組みです。VOQ chassis では:
- TSA は line card 単位ではなく chassis 単位で発動する。
- chassis 内の複数 BGP プロセスを一貫して isolate / unisolate する必要がある。
- 失敗 / 部分適用を避けるため、Chassis DB を通じた一斉切替を行う。
ルーティング保守の章で扱うべきテーマで、ここでは「chassis 全体での同期が必要な保守操作」として位置付けます。
- 関連: Reliable TSA
- 章: 02 BGP / Routing
Multi-ASIC Warm Reboot¶
multi-asic-warm-reboot は、Multi-ASIC SONiC の warm reboot 設計を扱います。VOQ chassis では line card 単位 / chassis 単位の両方が議論されます。
- 各 ASIC namespace の syncd / orchagent / bgpd は ASIC ごとに warm restart する。
- supervisor 側は Chassis DB を温存したまま再起動する。
- line card 単独 warm reboot 中、他 line card と fabric の状態を維持する。
reboot 系の章本文は 11 Reboot を参照し、VOQ 視点では「ASIC ごとの syncd warm restart」「chassis 状態の維持」「line card 隔離 reboot」を押さえます。
- 関連: Multi-ASIC Warm Reboot
- 章: 11 Reboot
まとめ¶
VOQ chassis 固有のテーマは、機能としては既存の章(BGP、LAG、Mirror、Reboot)に属しつつ、namespace 跨ぎ / line card 跨ぎ / Chassis DB との協調という観点を持ちます。各章本文で機能の中身を読み、本章の 概念 と アーキテクチャ で「どこが namespace を超えるか」を意識すると、HLD を縦横に往復しやすくなります。
発展トピック¶
- Fabric link telemetry: VOQ chassis では fabric link 自体が監視対象。
FABRIC_PORT_TABLEの counter / error / link state を telemetry agent から export し、cell drop の兆候を早期検出する。 - VOQ scheduling と credit loop: ingress VOQ が egress credit を受けて送出する仕組みで、credit return が遅延すると HOL blocking が出る。SAI 側
SAI_QUEUE_ATTR_PFC_DLR_INIT_TYPEなどで dead-lock 検出と復旧を行う。 - Chassis DB の scale: line card / port / nexthop が増えると Chassis DB の Redis サイズが伸びる。memory pressure と replication 遅延が運用課題になる。
- packet trim (truncate): drop されるパケットの header だけ collector に送って visibility を確保する手法。chassis 級 drop 解析で有効。
- Multi-ASIC host のテスト: VS テストで multi-ASIC を再現する場合 (21 Lab)、namespace ごとの sonic-vs を立ち上げる手順がある。
既知の制約と回避方法¶
- LAG メンバ line card 跨ぎの制約: ASIC によっては line card 跨ぎ LAG メンバの hash が偏る / 未サポート。
lag-on-distributed-voq-systemの制約を SKU 別に確認する。 - TSA 部分適用: 一部 line card だけ TSA 適用済みの状態が長く続くと traffic がループする。Chassis DB の TSA state を全 line card で揃える運用ガイドが必要。
- Warm reboot per line card vs. chassis: line card 単独の warm reboot 中に Supervisor が fabric 状態を維持する。Supervisor 側だけ reboot するシナリオは要件が限定的。
- Chassis DB schema 変更時の互換性: Supervisor と line card の SONiC バージョン差で Chassis DB schema 互換が崩れる。staged upgrade ガイドラインに従う。
将来計画 / ロードマップ¶
- VOQ chassis の disaggregated software model (Supervisor と Line card の独立バージョン) が中長期テーマ。
- Multi-ASIC 単一 host (pizza box の multi-ASIC switch) と分散 chassis を同じ orchestration で扱う統一が進行中。
- DASH / SmartSwitch 構成と VOQ chassis を組合せる構成 (13 DASH) の議論が早期段階で進む。
関連 RFC / 仕様書¶
- IEEE 802.1Qcz — Congestion Isolation (fabric 内 PFC のヒント)
- RFC 7567 — AQM (VOQ credit と組合せ参考)
- VOQ アーキテクチャは商用 ASIC ベンダー仕様書に依存し、IETF/IEEE 標準は限定的。
upstream 開発の最新動向¶
sonic-buildimageでchassis_db/database-chassis関連の修正が継続。replication 安定性とスキーマ拡張が主軸。sonic-swssのvrforch/routeorch/lagorchで system port / system LAG 周りの race fix が散発的に入る。- VOQ chassis のテスト基盤 (sonic-mgmt) で multi-DUT scenario の coverage 拡張 PR が定期的にある。