コンテンツにスキップ

HLD と実装の乖離 一覧(discrepancy-index)

このページの使い方

SONiC コミュニティ master の HLD は 設計提案リポジトリ であり、現行コードと一致しているとは限りません。本ページは「HLD だけ読んで誤解しがちな機能」を一望できる USP ページです。読み手は、まず後述の monitor subtype 別セクション で該当機能の乖離タイプ(未実装 / 部分実装 / 進化置換 / 廃止)を把握し、そこから個別ページへ降りて last_verified と「実装との乖離」セクションの裏取り根拠を確認してください。area 横断で探す場合は末尾の area 別索引 から辿れます。

verification: discrepancy-found が付いた全 102 ページを自動収集しています。本ページは meta/scripts/gen_discrepancy_index.py が生成し、CI (--check) で常時鮮度を保証します。

サマリ

monitor subtype 別件数

monitor 件数 意味
not_implemented 11 未実装
partially_implemented 59 部分実装
evolved_beyond_hld 29 HLD と乖離した形で実装/進化
deprecated 3 deprecated(廃止予定 / 撤去済み)

area 別件数

area 件数
acl-qos 6
architecture 25
internals 6
management 16
overlay 1
platform 12
reference 1
routing 8
switching 8
system 19

monitor subtype 別

各 subtype を material 組み込みの色付き admonition でラップしています。色は重要度ではなく 読み手が誤読する危険度 の目安です(赤=実装ゼロ、黄=一部のみ、青=設計と別物、灰=廃止)。

not_implemented — 未実装 (11 件)

未実装

HLD は提案 / マージされたが、現行 master のコードには対応する実装が全く存在しないページ群。HLD を「設計史料」として読む価値はあるが、「いま動く機能」として参照すると誤読する。

2026-05 時点で本 framework は master に取り込まれておらず、HLD のみ(2019-07 v0.3 から 6 年以上停滞)。

2026-05 時点で SAG コード / YANG / CLI は community master に取り込まれておらず、HLD 提案段階

2026-05 時点で本機能は HLD は提案されたが master にコードが入っていない、純粋な未実装状態である。

2026-05-09 時点の現行 master を裏取り。HLD が掲げる「USB 接続のポータブル console-switch デバイス」を制御するための実装は、CLI / YANG / CONFIG_DB スキーマのいずれにも入っていない。

HLD が要件として掲げる以下の構成要素を現行 master の sonic-gnmi に確認できなかった。

2026-05-09 時点の現行 master を裏取り。HLD の提案 4 stage は いずれも採用されていない

sonic-platform-common を grep した結果、本 HLD が前提とする CmisEnhancedLpoApi / CmisEnhancedLpoCodes / CmisEnhancedLpoMemMap クラス、xcvr_api_factory.py での Arista 系 vendor 分岐、Page 01h Byte 195 = 0x4C の enhanced LPO 検出ロジック、LPOTxHostInputVMA* / LPORxInputOMA* フィールドのいずれも HEAD に取り込まれていない(grep -rn "CmisEnhancedLpoApi\|LPOTxHostInputVMA\|enhanced_lpo" .cache/sonic-sources/sonic-platform-common/ でヒット 0)。…

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

2026-05-10 時点の現行 master を裏取り。EVPN Multihoming 機能は SONiC メインリポジトリには取り込まれていない

2026-05-10 時点の現行 master を裏取り。Local ARS は HLD 提案のみで SONiC SWSS / utilities / yang への取り込みは未完了

per-page queue で既出の通り提案 HLD は未採用。再走査でも:

partially_implemented — 部分実装 (59 件)

部分実装

HLD のスコープのうち一部の構成要素だけが現行 master に取り込まれているページ群。データ層 / CLI / orch のどれが欠けているかは個別ページで明示。

2026-05 時点で .cache/sonic-sources/ を裏取りした結果、本機能は データ層 + CLI のみ取り込み済み、肝心の TC 投入経路が未実装 な部分実装状態。

2026-05 時点の .cache/sonic-sources/ master を裏取り。

2026-05 時点の .cache/sonic-sources/ master を裏取り。

2026-05 時点で本 framework は エラーコード enum だけが先行採用され、ERROR_DB / ErrorListener / CLI は丸ごと未実装 な部分採用状態。

sonic-swss-common/common/schema.h で HA Set / HA Scope / Global Config の APP / CFG / STATE 系テーブルは取り込み済(L180-182, L391, L454 付近)。一方で DASH_HA_DPU_STATE / DASH_HA_VDPU_STATE / VDPU_TABLE未定義。さらに hamgrd バイナリは community master に存在しない ため、本ページのスキーマに書き込んでも consumer が居ない状態(schema 層のみ先行採用された一部のみの部分実装)。詳細は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswi…

本ページに記述した actor workflow / DPU-Driven シーケンスは HLD v0.1 を元にした将来仕様の参考。schema 層(HA Set / HA Scope の APP/CFG/STATE table 名)は一部のみ取り込み済の部分実装状態である一方、hamgrd バイナリ・actor framework・swbus・DASH_HA_DPU_STATE / VDPU_TABLE の schema は community master に未取り込みで、Switch-Driven mode は HLD 上 TBD のまま。実コードでの裏取り結果と回避策は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswitch-high-ava…

schema 層(HA Set / HA Scope の APP/CFG/STATE table 名)は一部のみ先行採用済み(部分実装)。一方で hamgrd バイナリは community master に未取り込み(grep -ri hamgrd .cache/sonic-sources/sonic-swss/ でコメントのみヒット)。actor framework / vDPU 抽象 / swbus も実装されていない。本ページの概念記述は HLD v0.1 (2025-02) を元にした 将来仕様の参考 であり、現行 community master で「動かす」ことは不可能。詳細は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswitch-high…

2026-05 時点で schema 層(HA Set / HA Scope の table 名)は先行採用済みだが、hamgrd バイナリ・actor framework・swbus・VDPU / DPU_STATE は未取り込み。HLD の半分弱までが master に入っている部分実装状態。

2026-05-09 時点の現行 master を裏取り。

  • ZMQ ProducerStateTable / ConsumerStateTable 設計
    area: internals / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。select イベントループのバックプレッシャ挙動など、HLD で詳細が省略されている部分を本文で「要確認」と明示している。実装側の確定は裏取り課題。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • AAA Improvements(PAM / NSS / D-Bus / RBAC 多重ロール)
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

本ページの monitor は partially_implemented。HLD は AAA を PAM / NSS / D-Bus / RBAC 多重ロールで再設計する提案だが、現行 master では既存 AAA / RADIUS / TACPLUS CONFIG_DB テーブルと従来の PAM スタックがそのまま使われており、D-Bus 経由の NSS / 多重 role / sudoers NOPASSWD 撤去などの中心要素は取り込まれていない。HLD は設計議論文書として参照し、実装の振る舞いは個別の AAA 関連ページと .cache/sonic-sources/sonic-buildimage/files/image_config/ の PAM / NSS 設定で裏取りすること。

per-page queue で既出の通り、HLD 1.1 の中核実装は部分的のみ。再確認した結果:

  • Redis Client Manager(RCM: connection pool / transactional client)
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。RCM 4 関数の現行 master 取り込み、counter 統合状況を本文で「未確認」と明示している。実装側の裏取りは継続課題。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC Application Extension 開発・移植ガイド
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は Initial Proposal で、フィールド名・CLI が現行 master と一致するかは本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC NOS の設定手段一覧(CLI / sonic-cfggen / config_db.json / RESTCONF / gNMI / ZTP
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

本ページの monitor は partially_implemented。HLD は SONiC NOS の設定手段を 10 種類に整理する設計提案で、現行 master では中核となる sonic-cfggen / config_db.json / redis-cli / vtysh / RESTCONF / gNMI は実装されているが、apply-patch の checkpoint / rollback や ZTP boot failure リカバリ、入口横断の validation などは段階的取り込みで一部のみ。HLD の表は分類軸として有用だが、各入口の最新挙動は個別の sonic-utilities / sonic-mgmt-framework 実装で裏取りすること。

2026-05-09 時点の現行 master を裏取り。本ガイドラインで前提とされる SONiC YANG 拡張のうち、sonic-buildimage 側の yang-models と sonic-mgmt-common 側で取り込み状況が分裂している点が最大の罠。

2026-05-09 時点の現行 master を裏取り。

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b76)。HLD の 4 サービス(Authz / Certz / Pathz / Credentialz)のうち 3 つは取り込み済みで、Credentialz のみ未取り込みという 一部のみの部分実装 状態:

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b76)。HLD の 4 サービス(Authz / Certz / Pathz / Credentialz)のうち 3 つは取り込み済みで、Credentialz のみ未取り込みという 一部のみの部分実装 状態:

  • VoQ Chassis での Everflow ミラー(recycle port 経由の rewrite)
    area: platform / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。公式 HLD(2020-12 Rev 1)のみを根拠としており、現行 master の VoQ 拡張・SAI 実装・recycle port セットアップは本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • config muxcable サブコマンド
    area: reference / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。--namespace 引数サポートの有無は CLI コマンド間で混在しており、本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • VoQ シャーシでの BGP 構成(iBGP フルメッシュ + addpath / multipath-relax)
    area: routing / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。新規 FRR コマンドの SONiC 同梱 FRR への取り込み状況は本文で「要追跡」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • bgpcfgd の dynamic BGP peer 動的変更(update.conf.j2 / delete.conf.j2)
    area: routing / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2025-07 Rev 1.0 で master 取り込み状況は本文で「要追跡」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • L2 Forwarding 強化(FDB flush / aging / static MAC / VLAN range)
    area: switching / monitor: partially_implemented(部分実装) / last_verified: 2026-05-11

実コード裏取りで判明(verified at: 2026-05-09):

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。CLI 本体は完備だが gNOI 経路は未統合で、HLD 全体としては一部のみ取り込まれた部分実装状態。

2026-05-11 時点の現行 master を裏取り。

本ページの monitor は partially_implemented。base feature の CLI show techsupport は実装されているが、HLD が中心的に提案する Management Framework (REST/gNMI) 経由の show-techsupport RPC + IETF since パラメータの YANG モデル化は、現行 master の sonic-mgmt-framework で十分に取り込まれていない(HLD 自身が 2019 Rev 0.1 で停滞)。実運用では sonic-utilities 側の show techsupport / AUTO_TECHSUPPORT CONFIG_DB テーブル経由が主流で、RPC 経路を使う場合は `.cache/sonic-sources/sonic-mgm…

  • Multi-ASIC warm reboot(namespace 横断の協調 shutdown / boot)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。各 namespace の swss / syncd の協調 shutdown 順序が現行スクリプトでどうなっているかは本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC BMC Platform Management & Monitoring(pmon ↔ BMC 連携)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。BMC 経由 pmon の現行 master 実装、Redfish / IPMI トランスポート差は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC Container Hardening(capability / read-only / privileged 削減)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

本ページの monitor は partially_implemented。HLD は全 docker を --cap-drop=all の最小 capability + read-only / tmpfs ベースに移行する設計提案だが、現行 master の sonic-buildimage/files/build_templates/docker_image_ctl.j2 では多くの docker が依然として --privileged または広めの capability で起動している。一部 docker(例: telemetry / mgmt 系の比較的新しいもの)から段階的に capability 縮小が進む途上で、全 docker 共通の matrix 化や read-only 化は未完。実装の最新状況は `.cache/sonic-sources/sonic-…

読者への影響:

  • Transceiver / DOM Sensor Monitoring(xcvrd / TRANSCEIVER_*)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。xcvrd の現行構造、TRANSCEIVER_* テーブルの現行スキーマ(CMIS 拡張による多数フィールド追加)、polling interval 60s の妥当性は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • config-setup サービス(first-boot config 生成 / 版間 migration)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2019-07 Rev 0.2 で停滞。config-setup の実際の責務分担は本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • kdump(kexec ベース kernel crash dump / makedumpfile)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2019-12 v0.4。kdump-tools 後続バージョン差分・kernel バージョン更新の影響は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • storagemond(SSD / eMMC の health 監視)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。storagemond の現行 master 実装、CLI 名・テーブル名の正確な値は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • クリティカルリソースモニタリング (CRM) 要件
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。新規テーブル名は HLD で明示されておらず、実装側で追加されている可能性が高い旨を本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • ローカルユーザパスワード init 時リセット(long reset button + reset-local-users-passwords.service)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-11

per-page queue で既出の通り、HLD が定義する専用機構は未取り込み。.cache/sonic-sources/ 全体を再走査した結果:

evolved_beyond_hld — HLD と乖離した形で実装/進化 (29 件)

HLD と乖離した形で実装/進化

HLD で示された設計が、その後別アーキテクチャに置換された、またはHLD の記述を超えて拡張されたページ群。HLD と現行コードの両方を読まないと全体像が掴めない。

2026-05 時点でテスト実体は PTF スタンドアロンから pytest 配下へ移行済み で、HLD の記述(ansible + ptftests)はファイル配置レベルで古い。

2026-05 時点でテスト実体は PTF スタンドアロンから pytest 配下へ移行済み で、HLD の記述(ansible + ptftests)はファイル配置レベルで古い。

2026-05-09 時点の現行 master を裏取り。HLD の二段プラグイン構造(SsdBase / SsdUtil)と CLI(show platform ssdhealth)は概ね素直に取り込まれているが、HLD で Open Question として残されていた 常時監視デーモン ssdmond は現状実装が見当たらない。さらに、HLD で示された sonic_ssd/ssd_base.py の配置は master では sonic_storage/ 配下に再構成され、独立スクリプト ssdhealthssdutil Python パッケージに置き換わっている。

2026-05-09 時点の現行 master を裏取り。HLD の二段プラグイン構造(SsdBase / SsdUtil)と CLI(show platform ssdhealth)は概ね素直に取り込まれているが、HLD で Open Question として残されていた 常時監視デーモン ssdmond は現状実装が見当たらない

2026-05 時点で本機能の 全体取り込みは完了している が、HLD 文書中の「sample_rate の既定値テーブル」だけが実装と不一致である。

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09):

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b7679b260c3fd0786a6d0734fc8e82c9a22):

verified at: 2026-05-09。

2026-05-09 時点の現行 master を裏取り。本機能の コアロジック (port_flr.lua) と CLI 表示 (portstat) は取り込み済みだが、HLD で示唆された動的設定 CLI(counterpoll port flr-interval-factor)は未実装であり、poll 周期は lua スクリプト内のハードコード値に固定されている。

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

読者への影響:

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

sonic-swss/fpmsyncd/routesync.cppsonic-swss/fpmsyncd/routesync.h を確認。HLD のコア部分は master に取り込み済み:

CONFIG_DB の FIPS|global 表記は HLD どおりで問題なし。

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

deprecated — deprecated(廃止予定 / 撤去済み) (3 件)

deprecated(廃止予定 / 撤去済み)

実装は存在するが、廃止予定 / 撤去済み / 後継機能で置き換えられたページ群。互換性のために残っているケースが多い。

2026-05-09 時点の現行 master を裏取り。本 HLD は採用されず、後発の BGP Suppress FIB Pending に置き換えられている

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

area 別索引

area 横断で機能を探したい読み手向けの索引。各エントリは monitor subtype の見出しからもリンクされています。

acl-qos

2026-05 時点で .cache/sonic-sources/ を裏取りした結果、本機能は データ層 + CLI のみ取り込み済み、肝心の TC 投入経路が未実装 な部分実装状態。

2026-05 時点の .cache/sonic-sources/ master を裏取り。

2026-05 時点の .cache/sonic-sources/ master を裏取り。

architecture

2026-05 時点でテスト実体は PTF スタンドアロンから pytest 配下へ移行済み で、HLD の記述(ansible + ptftests)はファイル配置レベルで古い。

2026-05 時点でテスト実体は PTF スタンドアロンから pytest 配下へ移行済み で、HLD の記述(ansible + ptftests)はファイル配置レベルで古い。

2026-05 時点で本 framework は master に取り込まれておらず、HLD のみ(2019-07 v0.3 から 6 年以上停滞)。

2026-05 時点で本 framework は エラーコード enum だけが先行採用され、ERROR_DB / ErrorListener / CLI は丸ごと未実装 な部分採用状態。

2026-05 時点で SAG コード / YANG / CLI は community master に取り込まれておらず、HLD 提案段階

2026-05-09 時点の現行 master を裏取り。HLD の二段プラグイン構造(SsdBase / SsdUtil)と CLI(show platform ssdhealth)は概ね素直に取り込まれているが、HLD で Open Question として残されていた 常時監視デーモン ssdmond は現状実装が見当たらない。さらに、HLD で示された sonic_ssd/ssd_base.py の配置は master では sonic_storage/ 配下に再構成され、独立スクリプト ssdhealthssdutil Python パッケージに置き換わっている。

2026-05-09 時点の現行 master を裏取り。HLD の二段プラグイン構造(SsdBase / SsdUtil)と CLI(show platform ssdhealth)は概ね素直に取り込まれているが、HLD で Open Question として残されていた 常時監視デーモン ssdmond は現状実装が見当たらない

sonic-swss-common/common/schema.h で HA Set / HA Scope / Global Config の APP / CFG / STATE 系テーブルは取り込み済(L180-182, L391, L454 付近)。一方で DASH_HA_DPU_STATE / DASH_HA_VDPU_STATE / VDPU_TABLE未定義。さらに hamgrd バイナリは community master に存在しない ため、本ページのスキーマに書き込んでも consumer が居ない状態(schema 層のみ先行採用された一部のみの部分実装)。詳細は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswi…

本ページに記述した actor workflow / DPU-Driven シーケンスは HLD v0.1 を元にした将来仕様の参考。schema 層(HA Set / HA Scope の APP/CFG/STATE table 名)は一部のみ取り込み済の部分実装状態である一方、hamgrd バイナリ・actor framework・swbus・DASH_HA_DPU_STATE / VDPU_TABLE の schema は community master に未取り込みで、Switch-Driven mode は HLD 上 TBD のまま。実コードでの裏取り結果と回避策は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswitch-high-ava…

schema 層(HA Set / HA Scope の APP/CFG/STATE table 名)は一部のみ先行採用済み(部分実装)。一方で hamgrd バイナリは community master に未取り込み(grep -ri hamgrd .cache/sonic-sources/sonic-swss/ でコメントのみヒット)。actor framework / vDPU 抽象 / swbus も実装されていない。本ページの概念記述は HLD v0.1 (2025-02) を元にした 将来仕様の参考 であり、現行 community master で「動かす」ことは不可能。詳細は [smartswitch-high-availability-manager-daemon-hamgrd-design-limitations.md](smartswitch-high…

2026-05 時点で schema 層(HA Set / HA Scope の table 名)は先行採用済みだが、hamgrd バイナリ・actor framework・swbus・VDPU / DPU_STATE は未取り込み。HLD の半分弱までが master に入っている部分実装状態。

2026-05 時点で本機能の 全体取り込みは完了している が、HLD 文書中の「sample_rate の既定値テーブル」だけが実装と不一致である。

2026-05 時点で本機能は HLD は提案されたが master にコードが入っていない、純粋な未実装状態である。

  • ポート不正パケットドロップ設計(Interface MIB / L3 カウンタ拡張)
    area: architecture / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。本ページは HLD 主体で書かれており、HLD 記載なしのドロップ理由(implementation 推測部分)に「未確認」と本文中で明示している。実装側の確定は裏取り課題。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

internals

2026-05-09 時点の現行 master を裏取り。

  • ZMQ ProducerStateTable / ConsumerStateTable 設計
    area: internals / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。select イベントループのバックプレッシャ挙動など、HLD で詳細が省略されている部分を本文で「要確認」と明示している。実装側の確定は裏取り課題。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

management

本ページの monitor は partially_implemented。HLD は AAA を PAM / NSS / D-Bus / RBAC 多重ロールで再設計する提案だが、現行 master では既存 AAA / RADIUS / TACPLUS CONFIG_DB テーブルと従来の PAM スタックがそのまま使われており、D-Bus 経由の NSS / 多重 role / sudoers NOPASSWD 撤去などの中心要素は取り込まれていない。HLD は設計議論文書として参照し、実装の振る舞いは個別の AAA 関連ページと .cache/sonic-sources/sonic-buildimage/files/image_config/ の PAM / NSS 設定で裏取りすること。

per-page queue で既出の通り、HLD 1.1 の中核実装は部分的のみ。再確認した結果:

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09):

2026-05-09 時点の現行 master を裏取り。HLD が掲げる「USB 接続のポータブル console-switch デバイス」を制御するための実装は、CLI / YANG / CONFIG_DB スキーマのいずれにも入っていない。

  • Redis Client Manager(RCM: connection pool / transactional client)
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。RCM 4 関数の現行 master 取り込み、counter 統合状況を本文で「未確認」と明示している。実装側の裏取りは継続課題。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC Application Extension 開発・移植ガイド
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は Initial Proposal で、フィールド名・CLI が現行 master と一致するかは本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC NOS の設定手段一覧(CLI / sonic-cfggen / config_db.json / RESTCONF / gNMI / ZTP
    area: management / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

本ページの monitor は partially_implemented。HLD は SONiC NOS の設定手段を 10 種類に整理する設計提案で、現行 master では中核となる sonic-cfggen / config_db.json / redis-cli / vtysh / RESTCONF / gNMI は実装されているが、apply-patch の checkpoint / rollback や ZTP boot failure リカバリ、入口横断の validation などは段階的取り込みで一部のみ。HLD の表は分類軸として有用だが、各入口の最新挙動は個別の sonic-utilities / sonic-mgmt-framework 実装で裏取りすること。

2026-05-09 時点の現行 master を裏取り。本ガイドラインで前提とされる SONiC YANG 拡張のうち、sonic-buildimage 側の yang-models と sonic-mgmt-common 側で取り込み状況が分裂している点が最大の罠。

HLD が要件として掲げる以下の構成要素を現行 master の sonic-gnmi に確認できなかった。

2026-05-09 時点の現行 master を裏取り。

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b7679b260c3fd0786a6d0734fc8e82c9a22):

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b76)。HLD の 4 サービス(Authz / Certz / Pathz / Credentialz)のうち 3 つは取り込み済みで、Credentialz のみ未取り込みという 一部のみの部分実装 状態:

実コード裏取りで判明した HLD との差分(verified at: 2026-05-09, sonic-gnmi @ eb635b76)。HLD の 4 サービス(Authz / Certz / Pathz / Credentialz)のうち 3 つは取り込み済みで、Credentialz のみ未取り込みという 一部のみの部分実装 状態:

overlay

verified at: 2026-05-09。

platform

2026-05-09 時点の現行 master を裏取り。本機能の コアロジック (port_flr.lua) と CLI 表示 (portstat) は取り込み済みだが、HLD で示唆された動的設定 CLI(counterpoll port flr-interval-factor)は未実装であり、poll 周期は lua スクリプト内のハードコード値に固定されている。

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

読者への影響:

2026-05-09 時点の現行 master を裏取り。HLD の提案 4 stage は いずれも採用されていない

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

  • VoQ Chassis での Everflow ミラー(recycle port 経由の rewrite)
    area: platform / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。公式 HLD(2020-12 Rev 1)のみを根拠としており、現行 master の VoQ 拡張・SAI 実装・recycle port セットアップは本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • 拡張 LPO デバッグレジスタ(VMA / OMA per-lane モニタを Redis に公開)
    area: platform / monitor: not_implemented(未実装) / last_verified: 2026-05-11

sonic-platform-common を grep した結果、本 HLD が前提とする CmisEnhancedLpoApi / CmisEnhancedLpoCodes / CmisEnhancedLpoMemMap クラス、xcvr_api_factory.py での Arista 系 vendor 分岐、Page 01h Byte 195 = 0x4C の enhanced LPO 検出ロジック、LPOTxHostInputVMA* / LPORxInputOMA* フィールドのいずれも HEAD に取り込まれていない(grep -rn "CmisEnhancedLpoApi\|LPOTxHostInputVMA\|enhanced_lpo" .cache/sonic-sources/sonic-platform-common/ でヒット 0)。…

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

reference

  • config muxcable サブコマンド
    area: reference / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。--namespace 引数サポートの有無は CLI コマンド間で混在しており、本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

routing

2026-05-09 時点の現行 master を裏取り。本 HLD は採用されず、後発の BGP Suppress FIB Pending に置き換えられている

2026-05-09 時点の現行 master を裏取り。HLD と実装には次の乖離がある:

2026-05-10 時点の現行 master を裏取り。EVPN Multihoming 機能は SONiC メインリポジトリには取り込まれていない

2026-05-10 時点の現行 master を裏取り。Local ARS は HLD 提案のみで SONiC SWSS / utilities / yang への取り込みは未完了

  • VoQ シャーシでの BGP 構成(iBGP フルメッシュ + addpath / multipath-relax)
    area: routing / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。新規 FRR コマンドの SONiC 同梱 FRR への取り込み状況は本文で「要追跡」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • bgpcfgd の dynamic BGP peer 動的変更(update.conf.j2 / delete.conf.j2)
    area: routing / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2025-07 Rev 1.0 で master 取り込み状況は本文で「要追跡」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • fpmsyncd NextHop Group 拡張(dplane_fpm_nl / NEXTHOP_GROUP_TABLE)
    area: routing / monitor: evolved_beyond_hld(HLD と乖離した形で実装/進化) / last_verified: 2026-05-11

sonic-swss/fpmsyncd/routesync.cppsonic-swss/fpmsyncd/routesync.h を確認。HLD のコア部分は master に取り込み済み:

switching

実コード裏取りで判明(verified at: 2026-05-09):

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。CLI 本体は完備だが gNOI 経路は未統合で、HLD 全体としては一部のみ取り込まれた部分実装状態。

2026-05-11 時点の現行 master を裏取り。

system

本ページの monitor は partially_implemented。base feature の CLI show techsupport は実装されているが、HLD が中心的に提案する Management Framework (REST/gNMI) 経由の show-techsupport RPC + IETF since パラメータの YANG モデル化は、現行 master の sonic-mgmt-framework で十分に取り込まれていない(HLD 自身が 2019 Rev 0.1 で停滞)。実運用では sonic-utilities 側の show techsupport / AUTO_TECHSUPPORT CONFIG_DB テーブル経由が主流で、RPC 経路を使う場合は `.cache/sonic-sources/sonic-mgm…

  • Multi-ASIC warm reboot(namespace 横断の協調 shutdown / boot)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。各 namespace の swss / syncd の協調 shutdown 順序が現行スクリプトでどうなっているかは本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC BMC Platform Management & Monitoring(pmon ↔ BMC 連携)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。BMC 経由 pmon の現行 master 実装、Redfish / IPMI トランスポート差は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • SONiC Container Hardening(capability / read-only / privileged 削減)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

本ページの monitor は partially_implemented。HLD は全 docker を --cap-drop=all の最小 capability + read-only / tmpfs ベースに移行する設計提案だが、現行 master の sonic-buildimage/files/build_templates/docker_image_ctl.j2 では多くの docker が依然として --privileged または広めの capability で起動している。一部 docker(例: telemetry / mgmt 系の比較的新しいもの)から段階的に capability 縮小が進む途上で、全 docker 共通の matrix 化や read-only 化は未完。実装の最新状況は `.cache/sonic-sources/sonic-…

CONFIG_DB の FIPS|global 表記は HLD どおりで問題なし。

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

2026-05-11 時点の現行 master を裏取り。

読者への影響:

  • Transceiver / DOM Sensor Monitoring(xcvrd / TRANSCEIVER_*)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。xcvrd の現行構造、TRANSCEIVER_* テーブルの現行スキーマ(CMIS 拡張による多数フィールド追加)、polling interval 60s の妥当性は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • Warmboot Manager(shutdown orchestration / reconciliation 統一)
    area: system / monitor: not_implemented(未実装) / last_verified: 2026-05-11

per-page queue で既出の通り提案 HLD は未採用。再走査でも:

  • config-setup サービス(first-boot config 生成 / 版間 migration)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2019-07 Rev 0.2 で停滞。config-setup の実際の責務分担は本文で「要確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • kdump(kexec ベース kernel crash dump / makedumpfile)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。HLD は 2019-12 v0.4。kdump-tools 後続バージョン差分・kernel バージョン更新の影響は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • libsairedis API idempotence(warm restart 用 OID キャッシュと duplicate 抑止)
    area: system / monitor: deprecated(deprecated(廃止予定 / 撤去済み)) / last_verified: 2026-05-11

2026-05-11 時点の現行 master を裏取り。

  • storagemond(SSD / eMMC の health 監視)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。storagemond の現行 master 実装、CLI 名・テーブル名の正確な値は本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • クリティカルリソースモニタリング (CRM) 要件
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-13

  • 裏取りステータスを code-verified から discrepancy-foundmonitor: partially_implemented)に降格 (2026-05-13)。新規テーブル名は HLD で明示されておらず、実装側で追加されている可能性が高い旨を本文で「未確認」と明示している。 - 本文に残る「未確認 / 要確認 / 要追跡 / TBD」等の hedge 表現は HLD と実装の差分が未特定であることを示し、後続の裏取り対象。

  • ローカルユーザパスワード init 時リセット(long reset button + reset-local-users-passwords.service)
    area: system / monitor: partially_implemented(部分実装) / last_verified: 2026-05-11

per-page queue で既出の通り、HLD が定義する専用機構は未取り込み。.cache/sonic-sources/ 全体を再走査した結果:

この一覧の更新方法

本一覧は手で編集しません。エントリの追加・修正は次の経路で行ってください。

  1. 個別ページの修正で十分な場合:対象ページの frontmatter verification / monitor / last_verified と、本文の「実装との乖離」セクション(または !!! diff admonition)を編集して PR を出してください。gen_discrepancy_index.py が次の再生成で自動的にエントリを更新します。
  2. 新規 discrepancy の報告:HLD と実装の乖離を新しく見つけた場合は、対象ページに verification: discrepancy-foundmonitor: <subtype> を付け、.cache/sonic-sources/ を裏取りした根拠を「実装との乖離」セクションに記述してください。monitor subtype の選択基準は本ページ上部の表 monitor subtype 別件数 の「意味」列を参照。
  3. verifier バッチで一括処理する場合meta/prompts/verifier.md のロール定義に従って verifier サブエージェントを起動し、複数ページの裏取りを並列実行してください。meta/queue/<area>-<slug>.json の per-page queue を使うと並走衝突を避けられます。
  4. 本一覧 (discrepancy-index.md) の再生成.venv/bin/python3 meta/scripts/gen_discrepancy_index.py で再生成し、生成された差分を commit します。CI では --check モードで鮮度が検査されます(差分があると lint 落ちします)。

issue / 議論は GitHub の Issues に投げてください。monitor subtype の分類に迷う場合は meta/templates/SCHEMA.md を参照してください。

監査基準の取り扱い

本ページ群(verification: discrepancy-found のページ)は、「機能としては完結していなくても、代わりに HLD と実装の差分を整理して読み手に渡す」ことを目的としています。品質監査 (meta/quality-audit-*.md) における 軸 6 (完結性) は、本ページ群では「乖離説明の整理度」(monitor タグ妥当性 / 「実装との乖離」セクションの構造化 / 裏取り evidence / 読み手への next-action)に読み替えて評価します。詳細は meta/templates/SCHEMA.md の 「discrepancy-found ページの軸 6 評価基準」セクション、および meta/quality-audit-guide.md を参照してください。