はじめに
本ドキュメントは Catalyst 9400 / 9600 シリーズで Keepalive による Loopback Detection 機能のサポート状況を紹介します。
Keepalive による Loopback Detection 機能について
一般的に、Catalyst スイッチにおける、ポートレベルで Keepalive がサポートしています。
出力例:
Switch#show interface gi2/0/1
GigabitEthernet2/0/1 is up, line protocol is up (connected)
<snip>
Keepalive set (10 sec) <<<<
*** 参照 ***
Overview of Keepalive Mechanisms on Cisco IOS
https://www.cisco.com/c/en/us/support/docs/content-networking/keepalives/118390-technote-keepalive-00.html
また、Loop を検出するための Loopback Detection という機能が Default で有効になっています。コマンド「show errdisable detect」から確認できます。
Switch#show errdisable detect
ErrDisable Reason Detection Mode
----------------- --------- ----
<snip>
l2ptguard Enabled port
link-flap Enabled port
link-monitor-failure Enabled port
loopback Enabled port <<<<
Loopback Detection 機能を有効にした場合、自分から送出した Keepalive (Loop) パケットを同じポートで受信すると、Loop が存在すると認識し、そのポートを Err-disable 状態へ遷移します。
出力例:
Switch#
*Jul 13 04:29:31.915: %PLATFORM_PM-3-LOOP_BACK_DETECTED: Loop-back detected on GigabitEthernet2/0/1.
*Jul 13 04:29:31.915: %PM-4-ERR_DISABLE: loopback error detected on Gi2/0/1, putting Gi2/0/1 in err-disable state
*Jul 13 04:29:32.916: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet2/0/1, changed state to down
*Jul 13 04:29:33.917: %LINK-3-UPDOWN: Interface GigabitEthernet2/0/1, changed state to down
Switch#
Switch#
Switch#show interface gi2/0/1
GigabitEthernet2/0/1 is down, line protocol is down (err-disabled)
<snip>
Catalyst 9400 / 9600 シリーズでのサポート状況について
Catalyst 9400 / 9600 シリーズでは、ポートレベルで Keepalive (Loop) パケットの送出をサポートしていますが、Loopback Detection 機能はサポートしていません。
コマンド上、Loopback Detection 機能を有効にしているように見えますが、実際 Catalyst 9400 / 9600 シリーズでは自分が送出した Keepalive (Loop) パケットを受信すると、そのポートは UP/UP のままで、Err-disable 状態へ遷移しません。
C9400#sh errdisable detect
Load for five secs: 0%/0%; one minute: 0%; five minutes: 0%
No time source, *01:36:35.387 UTC Tue Jul 4 2023
ErrDisable Reason Detection Mode
----------------- --------- ----
link-monitor-failure Enabled port
loopback Enabled port <<<<<
この動作は特に不具合ではなく、期待された動作です。現時点では Catalyst 9400 / 9600 シリーズで Loopback Detection 機能をサポートする計画はありません。 ループを防止するために、代替として UDLD や Layer 2 BPDU guard などを利用してください。
参照資料
Layer 2 Configuration Guide, Cisco IOS XE Dublin 17.12.x (Catalyst 9400 Switches)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9400/software/release/17-12/configuration_guide/lyr2/b_1712_lyr2_9400_cg/configuring_spanning_tree_protocol.html?dtid=osscdc000283
Layer 2 Configuration Guide, Cisco IOS XE Dublin 17.12.x (Catalyst 9600 Switches)
https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst9600/software/release/17-12/configuration_guide/lyr2/b_1712_lyr2_9600_cg/configuring_spanning_tree_protocol.html?dtid=osscdc000283
Note
In addition to STP, the device uses keepalive messages to detect loops. By default, keepalive is enabled on Layer 2 ports. To disable keepalive, use the no keepalive command in interface configuration mode