Dual-ToR 関連¶
概要¶
Dual-ToR は、サーバを 2 つの ToR スイッチに active-standby または active-active で冗長接続し、片側 ToR の障害時にもサービス断を最小化するクラウド向けトポロジです。Microsoft Azure 由来で、現行 SONiC は y-cable + linkmgrd ベースの active-standby と、prefix-based neighbor + gRPC ベースの active-active の 2 系統を実装しています。
このカテゴリは Dual-ToR に関わるページを area 横断でまとめます。overlay(active-active / active-standby の HLD、トンネル DSCP リマップ)・routing(mux 連動デフォルトルート、multi-nexthop ループ回避、prefix-based mux neighbor)・platform(ICMP HW offload による link prober NPU 化)・management(DualToR 用 gRPC client)・reference(config muxcable / show muxcable / MUX_CABLE テーブル)に分散しているのが特徴です。
Dual-ToR は active-standby のほうがマスター実装としては成熟しており、active-active は比較的新しく gRPC ベースのケーブル制御に依存します。Y-cable と SoC(Service-on-Cable)が混在する用語空間なので、最初に active-standby-dual-tor.md を読むと state machine の語彙が整理されます。
主要キーワード: Dual-ToR, active-active, active-standby, MUX, linkmgrd, Y-cable, SoC, linkprober
関連ページ¶
overlay(HLD 本体)¶
- Active-Standby Dual ToR(y-cable + linkmgrd state machine + IPinIP tunnel) (area:
overlay, verification:code-verified) — まずこれ - Active-Active Dual ToR(gRPC ベース cable control + prefix-based neighbor) (area:
overlay, verification:code-verified) - トンネルトラフィックの DSCP / TC リマップ(Dual-ToR PFC デッドロック回避) (area:
overlay, verification:discrepancy-found)
architecture / management¶
- DHCPv6 Relay Agent(Option 79 / dual ToR loopback) (area:
architecture, verification:code-verified) - gRPC client(active-active DualToR / ycabled ↔ SoC 連携) (area:
management, verification:code-verified)
platform(HW offload)¶
- ICMP Hardware Offload(DualToR link prober の NPU 化) (area:
platform, verification:code-verified)
routing(mux / nexthop)¶
- linkmgrd のデフォルトルート連動(DualToR mux 制御) (area:
routing, verification:hld-only) - dual-tor mux 跨ぎの multi-nexthop route ループ回避(MuxOrch::updateRoute) (area:
routing, verification:code-verified) - プレフィックスルート方式の Mux ネイバ(Dual-ToR の状態遷移最適化) (area:
routing, verification:code-verified)
reference(CLI / CONFIG_DB)¶
- config muxcable サブコマンド (area:
reference, verification:code-verified) - show muxcable サブコマンド (area:
reference, verification:code-verified) - MUX_CABLE テーブル (area:
reference, verification:code-verified)
典型的な読み進め方¶
- active-standby 全体像 →
active-standby-dual-tor.mdで linkmgrd state machine と y-cable・IPinIP tunnel を把握 - CLI / DB →
config-muxcable.md/show-muxcable.md/mux-cable.mdで実機操作の語彙 - mux 経路制御 →
prefix-based-mux-neighbors.md→multiple-nexthop-route-hld.mdで routing 側の挙動 - active-active →
active-active-dual-tor.mdで gRPC ベースの新方式 - 運用上の落とし穴 →
dscp-remapping-for-tunnel-traffic.mdで PFC デッドロック回避 - オフロード最適化 →
icmp-hardware-offload.mdで linkprober の NPU 化
関連 Topics 章¶
- Topics 05: Dual-ToR — Dual-ToR を段階的に学ぶ章
- Topics 02: BGP — Dual-ToR の上流 BGP 構成
- Topics 06: L2 VLAN / LAG — VLAN 設計の前提
verification ステータス注意点¶
- hld-only:
default-route.md - discrepancy-found:
dscp-remapping-for-tunnel-traffic.md(実装と HLD で挙動差異)