CONSOLE_PORT / CONSOLE_SWITCH テーブル¶
概要¶
SONiC を console switch として動かすときの、シリアル/コンソールポートの設定テーブル群1。
CONSOLE_PORT は各シリアルライン (1 行 = 1 物理ポート) のボーレート・接続先・エスケープ文字、
CONSOLE_SWITCH は機能のオンオフとデフォルトエスケープ文字を保持する。
consutil / picocom 経由でユーザーがコンソールセッションを張る際に参照される。
データフロー (自動生成)¶
flowchart LR
CDB[("CONFIG_DB<br/>CONSOLE_PORT")]
DM["consutil"]
CDB --> DM
凡例
CONFIG_DB から SAI までの典型経路を docs/reference/config-db-orch-map.md から機械生成したミニ図。詳細・例外は本ページ本文と対応表を参照。
key 構造¶
<line-no>: uint16。USB-serial 等のラインインデックス。
CONSOLE_PORT フィールド¶
| フィールド | 型 | 説明 |
|---|---|---|
baud_rate |
uint32 | シリアルボーレート (例 9600 / 115200) |
flow_control |
"0" or "1" |
ハードウェアフロー制御の有効化 |
remote_device |
hostname | 接続先機器のホスト名 (ラベル) |
escape_char |
string [a-z] |
このポート専用のエスケープ文字 (グローバル既定を上書き) |
CONSOLE_SWITCH フィールド (console_mgmt キー)¶
| フィールド | 型 | 既定 | 説明 |
|---|---|---|---|
enabled |
yes/no |
no |
console switch 機能の有効化フラグ |
default_escape_char |
string [a-z] |
— | picocom のグローバル既定エスケープ文字 |
例外条件・特殊挙動¶
- 既存エントリへの add → 即時失敗:
config console addで指定 linenum のエントリが既に存在する場合ctx.fail("Trying to add console port setting, which is already exists.")で終了。CLI 側でのガードであり上書きは不可。 - remote_device 重複 → 失敗: 同じ
remote_device名がすでに別の linenum で使われている場合ctx.fail("Given device name ... has been used.")で終了。device 名はシステム内一意制約。 - YANG バリデーション失敗 → ctx.fail:
ValidatedConfigDBConnectorへの書き込み時に baud_rate の型不正等でValueError/JsonPatchConflictが発生した場合ctx.fail("Invalid ConfigDB. Error: ...")で終了。 - 未存在エントリへの del / update → 失敗:
config console del/remote_device更新で linenum が存在しない場合ctx.fail("Trying to delete/update console port setting, which is not present.")で終了。 - baud が既存値と同一 → no-op:
config console baudで現在値と同じ値を指定した場合 DB 更新をスキップして正常終了。
値依存挙動マトリクス¶
| フィールド | 値 | 挙動 |
|---|---|---|
CONSOLE_SWITCH.enabled |
yes |
console switch サービスが起動し、consutil / picocom 経由でのシリアル接続が有効になる。 |
CONSOLE_SWITCH.enabled |
no(既定) |
console switch 機能が無効。CONSOLE_PORT の設定が存在しても接続不能。 |
CONSOLE_PORT.flow_control |
"1" |
picocom 起動時にハードウェアフロー制御(RTS/CTS)を有効化。 |
CONSOLE_PORT.flow_control |
"0" |
フロー制御なし(多くの console 接続でのデフォルト運用)。 |
CONSOLE_PORT.escape_char |
設定あり | ポート個別のエスケープ文字を使用。CONSOLE_SWITCH.default_escape_char を上書きする。 |
CONSOLE_PORT.escape_char |
未設定 | CONSOLE_SWITCH.default_escape_char のグローバル設定を使用。 |
購読者¶
consutil(CLI)- console switch を有効化したときの host service
関連リファレンス¶
- YANG:
sonic-console
引用元¶
関連ページ¶
運用ヒント¶
典型値¶
- key 形式:
CONSOLE_PORT|<line>。 baud_rate:9600、flow_control:0、remote_device: 接続先名。
よくある誤設定¶
- console switch ライセンス / consutil パッケージが入っていない環境で設定だけ入れても接続不能。