コンテンツにスキップ

NTP テーブル (global)

概要

NTP クライアントのグローバル設定を保持するシングルトン的テーブル1YANG 上は sonic-ntp.yangcontainer NTP 配下 container global として定義され、CONFIG_DB 上は NTP|global の単一エントリで現れる。サーバ単位の設定は別テーブル NTP_SERVER、鍵は NTP_KEY で管理される。

データフロー (自動生成)

flowchart LR
  CDB[("CONFIG_DB<br/>NTP")]
  DM["ntp-config"]
  CDB --> DM

凡例

CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。

key 構造

NTP|global

唯一のエントリ。container 構造のため key 値は固定で global

フィールド

フィールド 既定値 説明
src_intf leaf-list union(PORT.name / PORTCHANNEL.name / LOOPBACK_INTERFACE.name / MGMT_PORT.name / eth0) - NTP の送信元インタフェース。複数指定可、ユーザ指定順を維持
vrf string mgmt / default - NTP が動作する VRFmgmt 指定時は MGMT_VRF_CONFIG/vrf_global/mgmtVrfEnabled = truemust 制約あり
authentication stypes:admin_mode disabled NTP 認証
dhcp stypes:admin_mode enabled DHCP から配布された NTP サーバを使うか
server_role stypes:admin_mode enabled NTP サーバ機能 (本機を NTP server として動作)
admin_state stypes:admin_mode enabled NTP 機能全体の状態

制約

  • vrf = "mgmt" には must 制約: MGMT_VRF_CONFIG.vrf_global.mgmtVrfEnabled = true が必須
  • vrf パターンは mgmt|default のみ
  • src_intfeth0 は management port を表す互換のため pattern として許容

購読者

  • ntp-config テンプレ / host-services (hostcfgd): chrony 設定生成 → systemd unit reload

関連 CONFIG_DB / YANG / CLI

関連リファレンス

引用元

関連 Topics

運用ヒント

典型値

  • key 形式: NTP|global
  • vrf: default または mgmtsrc_intf: eth0 または Loopback0

よくある誤設定

  • vrf=mgmt なのに src_intf を front-panel 側に向けて NTP パケットが out 抜けする。

確認コマンド

sonic-db-cli CONFIG_DB hgetall 'NTP|global'
show ntp

例外条件・特殊挙動

  • vrf = "mgmt" かつ mgmtVrfEnabled が false → YANG must 制約違反: YANG must "(current() != 'mgmt') or (/mvrf:sonic-mgmt_vrf/mvrf:MGMT_VRF_CONFIG/mvrf:vrf_global/mvrf:mgmtVrfEnabled = 'true')" / error-message "Must condition not satisfied. Try enable Management VRF." — MGMT_VRF_CONFIG を先に有効化しないと vrf = mgmt は拒否される。
  • vrf は "mgmt" または "default" のみ許可: pattern "mgmt|default" で制約。それ以外の VRF 名は YANG バリデーションで拒否される。
  • src_intf が存在しないインターフェースを参照 → YANG leafref 違反: src_intf は PORT / PORTCHANNEL / LOOPBACK_INTERFACE / MGMT_PORT への leafref または "eth0" パターンのみ許可。
  • authentication のデフォルト = "disabled": default disabled。省略時は NTP 認証なしで動作する。認証を有効化するには明示的に enabled を設定する必要がある。
  • dhcp のデフォルト = "enabled": default enabled。DHCP 配布の NTP サーバが優先して使用される。
  • admin_state のデフォルト = "enabled": default enabled。フィールドを省略してもエントリが存在する限り NTP クライアントは動作する。

値依存挙動マトリクス

フィールド 挙動
vrf default NTP パケットをデータプレーン default VRF 経由で送受信
vrf mgmt NTP パケットを mgmt VRF (eth0) 経由で送受信。mgmtVrfEnabled=true が YANG must で必要
vrf 未設定 VRF 指定なし。OS デフォルトルーティングに従う
authentication disabled (default) NTP 認証なし。NTP_KEY が存在しても使用しない
authentication enabled NTP 認証を有効化。NTP_SERVER.key と NTP_KEY で鍵検証
dhcp enabled (default) DHCP 配布の NTP サーバ情報を優先使用
dhcp disabled DHCP NTP を無視。NTP_SERVER テーブルの設定のみ使用
server_role enabled (default) 本機を NTP server として他ホストに応答
server_role disabled NTP クライアント専用。問い合わせに応答しない
admin_state enabled (default) NTP 機能有効
admin_state disabled NTP 機能無効化

全グローバル変更で systemctl restart chrony が実行される。enum: authentication/dhcp/server_role/admin_state = enabled/disabled。