簡介

本文說明如何解決Nexus 5000交換機日誌中的「FWM-2-STM_LOOP_DETECT」錯誤消息。

當Nexus 5000交換機在日誌中顯示「FWM-2-STM_LOOP_DETECT」消息時，該怎麼做？

%FWM-2-STM_LOOP_DETECT: Loops detected in the network among ports

Eth x/y and Eth x/y vlan xx -

Disabling dynamic learn notifications for 180 seconds

%FWM-2-STM_LEARNING_RE_ENABLE: Re enabling dynamic learning on all interfaces

此訊息表示交換器在這兩個介面上收到具有相同來源MAC位址的訊框，且交換器以非常高的速度得知這些介面上的相同MAC位址。交換器會將此偵測為回圈。交換機禁用MAC地址學習以保護其控制平面。所有VLAN都會執行此步驟，即使只在一個VLAN上發生回圈。

可能的原因

- MAC地址移動是因為生成樹協定(STP)埠狀態收斂不正確。

- MAC地址移動，因為資料來源是在所有交換機上物理移動的，而STP狀態是收斂且處於正確的狀態。

- 如果伺服器網路介面卡(NIC)配置為分組/繫結，但連線的交換機介面未配置，則MAC地址可以在介面之間移動。如果使用連結彙總控制通訊協定(LACP)將兩端介面結合，或將伺服器介面設定為在「主動/待命」模式下使用NIC，就可以避免這種情況。

如何實際檢測到環路？

轉發管理器(FWM)具有一種機制，可對MAC地址移動次數進行計數並根據MAC地址移動次數對回移動次數進行權重。它確定總MAC回移計數（所有VLAN、MAC和介面間的交換機範圍計數），宣告%FWM-2-STM_LOOP_DETECT，並禁用在環路條件下保護FWM的學習。

閾值計算：在交換機範圍的10秒的給定老化掃描週期內，28,000個MAC回移計數。它被宣告為%FWM-2-STM_LOOP_DETECT，並且已禁用學習。

訊息範例

2011 Jan 30 16:14:23 Nexus-5000 %FWM-2-STM_LOOP_DETECT:

Loops detected in the network among ports Eth119/1/13 and Po90 vlan 218 -

Disabling dynamic learn notifications for 180 seconds

2011 Jan 30 16:17:23 Nexus-5000 %FWM-2-STM_LEARNING_RE_ENABLE:

Re enabling dynamic learning on all interfaces

應注意MAC移動通知的邏輯。當MAC移動的MAC地址表通知啟用時，可以通知MAC移動。此操作會新增控制檯上的通知日誌，但不會執行任何操作。當給定MAC地址在老化掃描週期10秒內在VLAN上的給定埠對之間來回移動三次時，將宣告移動。

疑難排解

您可以在交換機上啟用MAC移動通知，以確定哪些MAC地址可以移動。

Nexus-5000# conf t

Nexus-5000(config)# mac address-table notification mac-move

對於Nexus 5000交換機，啟用MAC移動通知以生成有關MAC移動通知的系統日誌消息並不總是足夠的。

要確保生成系統日誌消息，請結合使用先前的命令輸入這些命令。

Nexus-5000# conf t

Nexus-5000(config)# Logging level spanning-tree 6

Nexus-5000(config)# Logging level fwm 6

Nexus-5000(config)# Logging monitor 6

新增這些命令可確保FWM檢測的系統日誌在存在MAC地址移動時顯示。

要驗證交換機上VLAN間的STP埠狀態，請輸入以下命令。

Nexus-5000# show spanning-tree

Nexus-5000# show spanning-tree vlan

Nexus-5000# show spanning-tree internal interaction

範例

要檢查MAC地址是否移動，請輸入以下命令：

Nexus-5000# show mac address-table notification mac-move

MAC Move Notify Triggers: 1206

Number of MAC Addresses added: 944088

Number of MAC Addresses moved: 265

Number of MAC Addresses removed: 943920

MAC地址移動也以最低記錄級別6來記錄，以顯示哪些MAC地址移動。

2012 Jun 12 16:05:31.564 Nexus-5000 %FWM-6-MAC_MOVE_NOTIFICATION:

Host 0000.0000.fe00 in vlan 85 is flapping between

port Eth104/1/8 and port Eth104/1/9

解決方案

- 檢查拓撲結構中的所有交換機上正確的STP收斂和STP埠狀態。此外，請確認不存在爭議或埠狀態不正確。

- 如果標識了物理移動的資料幀的源，則控制源以停止快速和連續移動。

- 預設情況下，180秒後重新啟用動態學習。此時，應解決任何STP爭議或不一致問題。如果沒有，則再次禁用動態學習。

Nexus 5000交換機的相關增強

思科錯誤ID CSCug28099 — 增強型：在Nexus 5000上檢測到環路後旋鈕至禁用埠。

此處描述了早期代碼(6.0(2)N2(1)之前)的當前行為。

當循環消息(FWM-2-STM_LOOP_DETECT:在埠<port_id>和<po_id> vlan >vlan_id>（禁用動態學習通知180秒）中檢測到網路中檢測到的環路，在環路檢測120秒後，應快速老化所有MAC地址，然後重新學習它們，而不是老化整個MAC地址表。由於此行為，您在120秒內不會得知新的MAC地址，但如果環路持續存在，則可能會對網路造成重大影響，因為您將快速老化所有VLAN中的MAC地址。

此功能增強功能並未完成，其目的是為了讓CLI按鈕在檢測到環路之後，交換機會關閉相關埠（檢測到環路埠），以避免完全中斷。

以下是版本6.0(2)N2(1)及更高版本的代碼中實現的命令：

swo2-371(config)# mac address-table loop-detect ?

port-down  Take port-down action for mac loop detection

swo2-371(config)# mac address-table loop-detect port-down

swo2-371(config)# no mac address-table loop-detect port-down