Runbook: DASH ENI が admin_state=up に遷移しない / トラフィック断¶
実行前提
dash 系の orchagent 再起動や config reload は DPU 側 datapath のフロー table を消失させる。実行前に SDN controller 側で session migration を実施し、変更前の DASH_ENI_TABLE / DASH_ROUTE_TABLE を redis-dump で退避しておくこと。ロールバックは退避から redis-cli で再投入。
症状¶
show dash eni <eni>でoper_status=downまたはadmin_state=downDASH_ENI_TABLE:STATE_DBの counter が更新されない- VM → DPU → outside の VNET 通信が無応答
想定原因(優先度順)¶
- MAC / underlay_ip 不整合: ENI の
mac_address/underlay_ipが SmartSwitch の物理構成と合っていない - 依存リソース未作成:
DASH_VNET/DASH_APPLIANCEが ENI より後に作られた / 削除された - DPU 側 dataplane 異常: DPU 内 ASIC programming が失敗
- License / capability mismatch: model がサポートしない ENI count
- route / mapping table 衝突
切り分け手順¶
flowchart TD
A[DASH ENI が Down] --> B{DASH_ENI_TABLE 設定あり?}
B -- No --> B1[DASH ENI / VNI / ACL 設定を投入]
B -- Yes --> C{swss DashOrch で ASIC 反映?}
C -- No --> C1[swss / dashorch ログを確認]
C -- Yes --> D{underlay 到達性 / VxLAN tunnel?}
D -- No --> D1[underlay routing / tunnel src/dst 確認]
D -- Yes --> E[DPU データプレーン / SAI DASH counter 確認]
確認コマンド¶
1. CONFIG_DB / APPL_DB¶
sonic-db-cli CONFIG_DB hgetall "DASH_ENI_TABLE|<eni>"
sonic-db-cli APPL_DB keys "DASH_ENI_TABLE:*"
sonic-db-cli STATE_DB hgetall "DASH_ENI_TABLE|<eni>"
2. orchagent ログ¶
3. DPU 側状態(SmartSwitch)¶
show chassis modules status
show platform inventory
docker exec swss redis-cli -n 0 keys "DASH_*" | head
4. 関連リソース¶
sonic-db-cli CONFIG_DB keys "DASH_VNET|*"
sonic-db-cli CONFIG_DB keys "DASH_APPLIANCE|*"
sonic-db-cli CONFIG_DB keys "DASH_ROUTE_TABLE|*"
5. counter¶
対処方法¶
- 依存欠如: 先に
DASH_APPLIANCE→DASH_VNET→DASH_ENI_TABLEの順に投入 - MAC / IP 不整合: controller 側 inventory と突合、CONFIG_DB を
redis-cli hsetで修正(ロールバック: 退避値で hset 戻し) - DPU dataplane 異常: SmartSwitch の DPU を graceful shutdown → 再起動(smartswitch-dpu-graceful-shutdown-failure.md を参照)
- 容量超過: ENI 数を削減、ベンダ提供の max_eni を確認
確認¶
対処後の正常化を以下で裏取りする。
- 症状解消: 「症状」節で挙げた事象 (counter / log / state) が回復していること
- 再発監視: 数分〜数十分の間隔で同コマンドを再実行し、値がフラップしていないこと
- 副作用なし: 関連サブシステム (syslog /
show interfaces counters errors/show ip bgp summary等) に新規 error が出ていないこと - 永続化:
sudo config save -y済みでconfig_db.jsonに変更が反映されていること (恒久対処の場合)
短時間で再発する場合は「想定原因」リストの次候補に進む。
関連ページ¶
- ./smartswitch-dpu-unresponsive.md
- ./smartswitch-dpu-graceful-shutdown-failure.md
- ../../topics/13-dash-smartswitch/concept.md
引用元¶
-
sonic-net/sonic-dash-api @ master — dash_eni.proto ↩
-
sonic-net/sonic-swss @ master — dashorch.cpp ↩