Sommario

Introduzione

Premesse

Prerequisito

Topologia

Risoluzione dei problemi

Configurazione

Verifica

Altre piattaforme

Link utili

Introduzione

In questo documento viene descritto come risolvere i problemi relativi a uno spostamento mac su Nexus 9000 e come prevenirlo.

Premesse

2018 Nov 14 15:53:26.943 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0

2018 Nov 14 15:53:27.769 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0

L'utente conosce il concetto di mac learning e il modo in cui viene gestita una tabella su uno switch, quando lo switch riceve un frame e associa l'indirizzo MAC del mittente alla porta LAN su cui è stato ricevuto. In condizioni di loop, è possibile che lo stesso MAC venga acquisito tramite due porte diverse sullo switch.

Prerequisito

Comprendere il concetto di mac-learning sullo switch e sulla configurazione di NX-OS

Risoluzione dei problemi di switching di livello 2

Topologia

+-----------+ Po6      +------------+

|   N9K_1   +----------+   N9K_2    |

|           +----------+            |

+-----------+          +--+---------+

1/3 |               | 2/1

|               |

|               |

+-+---------------+--+

|       Server       |

+--------------------+

0000.117d.e02e

Risoluzione dei problemi

Quando BCM ASIC apprende troppi indirizzi MAC in una breve durata, BCM_USD può disabilitare/abilitare l'apprendimento degli indirizzi MAC nell'hardware ed è possibile visualizzare questo messaggio. La causa potrebbe essere il numero eccessivo di mosse/flap/loop di mac o il superamento di una determinata soglia da parte di nuove apprese/mosse di mac. Per impostazione predefinita, in Nexus9K non è possibile visualizzare i registri che indicano in modo specifico che lo switch esegue movimenti mac. Tuttavia, nel caso in cui questi movimenti siano elevati, si finisce per vedere questi registri.

2018 Nov 14 15:53:26.943 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0

2018 Nov 14 15:53:27.769 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0

2018 Nov 14 15:53:27.863 N9K %-SLOT1-5-BCM_L2_LEARN_DISABLE: MAC Learning Disabled unit=0

2018 Nov 14 15:53:28.770 N9K %-SLOT1-5-BCM_L2_LEARN_ENABLE: MAC Learning Enabled unit=0

Questi messaggi sono indicativi di un evento nella tabella mac. Quando nell'ambiente sono presenti movimenti mac continui, è possibile visualizzare questi messaggi. Fondamentalmente, lo switch ha ricevuto i frame con lo stesso MAC di origine su due o più interfacce a una velocità molto elevata. Lo switch ha un meccanismo per contare il numero di "move-back" MAC e pesarli in base al numero di spostamenti dell'indirizzo MAC. L'apprendimento dinamico degli indirizzi MAC viene disattivato dallo switch per proteggere il control-plane.

A questo punto, è possibile controllare il conteggio di mac-move per capire se e quanti mac-move sono stati sperimentati sul dispositivo,

N9K# sh mac address-table  notification mac-move

MAC Move Notify Triggers: 1

Number of MAC Addresses added: 612336

Number of MAC Addresses moved: 612328

Number of MAC Addresses removed: 0

L'output del comando "Numero di indirizzi MAC spostati" suggerisce che lo switch sperimenta movimenti MAC.

Configurazione

Il passo successivo è individuare l'indirizzo MAC che causa il problema, le vlan e le informazioni sull'interfaccia dove si verifica. Per cercare queste informazioni, è necessario aumentare il livello di registrazione di L2FM dal valore predefinito 2 a 5 sulla piattaforma N9K.

N9K# sho logging level l2fm

Facility        Default Severity        Current Session Severity

--------        ----------------        ------------------------

l2fm                    2                       2

0(emergencies)          1(alerts)       2(critical)

3(errors)               4(warnings)     5(notifications)

6(information)          7(debugging)

N9K# conf t

Enter configuration commands, one per line. End with CNTL/Z.

N9K(config)# logging level l2fm 5

N9K(config)# end

N9K# sho logging level l2fm

Facility        Default Severity        Current Session Severity

--------        ----------------        ------------------------

l2fm                    2                       5

0(emergencies)          1(alerts)       2(critical)

3(errors)               4(warnings)     5(notifications)

6(information)          7(debugging)

Any mac moves at this point can be seen in the syslogs:

2018 Nov 14 16:04:23.881 N9K %L2FM-4-L2FM_MAC_MOVE2: Mac 0000.117d.e02e in vlan 741 has moved between Po6 to Eth1/3

2018 Nov 14 16:04:23.883 N9K %L2FM-4-L2FM_MAC_MOVE2: Mac 0000.117d.e02e in vlan 741 has moved between Po6 to Eth1/3

In questo caso, è possibile rilevare e limitare il numero di spostamenti di un indirizzo MAC da una porta all'altra.

Fino alla versione 6.0(2)U3(1) di Cisco NX-OS, quando è stato rilevato un loop tra due porte, l'apprendimento dell'indirizzo MAC è stato disabilitato per 180 secondi.

Tuttavia, a partire da 7.0(3)I7(3), è possibile configurare lo switch in modo che ignori la porta con l'indice di interfaccia inferiore, quando viene rilevato un loop di questo tipo con il comando "mac address-table loop-detect port-down".

N9K# conf t

Enter configuration commands, one per line. End with CNTL/Z.

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

N9K(config)# exit

N9K#

Ora, una volta abilitato questo comando, il rilevamento dei loop rimuove l'interfaccia con un indice inferiore.

2018 Nov 13 19:33:54.773 N9K %ETHPORT-5-IF_DOWN_NONE: Interface port-channel6 is down (None)

2018 Nov 13 19:33:59.046 N9K %ETH_PORT_CHANNEL-5-PORT_DOWN: port-channel6: Ethernet2/1 is down

2018 Nov 13 19:33:59.049 N9K %ETH_PORT_CHANNEL-5-PORT_DOWN: port-channel6: Ethernet2/2 is down

2018 Nov 13 19:33:59.166 N9K %ETH_PORT_CHANNEL-5-FOP_CHANGED: port-channel6: first operational port changed from Ethernet2/1 to none

2018 Nov 13 19:33:59.235 N9K %ETHPORT-5-IF_DOWN_ERROR_DISABLED: Interface port-channel6 is down (Error disabled. Reason:error)

2018 Nov 13 19:33:59.244 N9K %ETHPORT-5-IF_DOWN_CFG_CHANGE: Interface Ethernet2/2 is down(Config change)

2018 Nov 13 19:33:59.252 N9K %ETHPORT-5-IF_DOWN_CFG_CHANGE: Interface Ethernet2/1 is down(Config change)

2018 Nov 13 19:34:05.269 N9K %ETHPORT-5-IF_DOWN_CHANNEL_ERR_DISABLED: Interface Ethernet2/2 is down (Channel error disabled)

2018 Nov 13 19:34:05.303 N9K last message repeated 1 time

2018 Nov 13 19:34:05.303 N9K %ETHPORT-5-IF_DOWN_CHANNEL_ERR_DISABLED: Interface Ethernet2/1 is down (Channel error disabled)

Verifica

Utilizzare questo comando per verificare l'azione attualmente configurata.

N9K# show mac address-table loop-detect

Port Down Action Mac Loop Detect : disabled

È possibile confermare l'indice dell'interfaccia per verificare che sia stata disabilitata l'interfaccia corretta, in base alla funzione.

N9K# show system internal l2fm l2dbg macdb address 0000.117d.e02e vlan 741

Legend

------

Db:  0-MACDB, 1-GWMACDB, 2-SMACDB, 3-RMDB,    4-SECMACDB  5-STAGEDB

Src: 0-UNKNOWN, 1-L2FM, 2-PEER, 3-LC, 4-HSRP

5-GLBP, 6-VRRP, 7-STP, 8-DOTX, 9-PSEC 10-CLI 11-PVLAN

12-ETHPM, 13-ALW_LRN, 14-Non_PI_MOD, 15-MCT_DOWN, 16 - SDB

17-OTV, 18-Deounce Timer, 19-AM, 20-PCM_DOWN, 21 - MCT_UP

22-VxLAN, 23-L2RIB 24-CTRL, 25-UFDM

Slot:0 based for LCS 31-MCEC 20-OTV/ORIB

VLAN: 741 MAC: 0000.117d.e02e

Time                     If/swid    Db Op     Src Slot FE

Wed Nov 14 16:04:28 2018 0x16000005 0  UPDATE 3   0    0

Wed Nov 14 16:04:28 2018 0x16000005 0  REFRESH_DETECT 3   0    15

Wed Nov 14 16:04:28 2018 0x1a000400 0  UPDATE 3   0    0

Wed Nov 14 16:04:28 2018 0x1a000400 0  REFRESH_DETECT 3   0    15

Wed Nov 14 16:04:28 2018 0x16000005 0  UPDATE 3   0    0

N9K# show int snmp-ifindex

--------------------------------------------------------------------------------

Port             IFMIB Ifindex (hex)

--------------------------------------------------------------------------------

mgmt0           83886080   (0x5000000 )

Eth1/1          436207616  (0x1a000000)

Eth1/2          436208128  (0x1a000200)

Eth1/3          436208640  (0x1a000400)

<snip>

Po6             369098757  (0x16000005)

Altre piattaforme

È possibile abilitare la notifica di spostamento mac sulle altre piattaforme Nexus con questi comandi.

N3K:

mac address table notification mac-move

logging level fwm 6

logging monitor 6

N5K/N6K:

mac address table notification mac-move

logging level fwm 6

logging monitor 6

N7K/N9K:

logging level l2fm 5

IOS:

mac address table notification mac-move

Note: To revert/remove these commands, simply use the `no` version of each command.

Questi comandi sono disponibili anche in Nexus5K/6K con versioni 6.0(2)N2(1) e successive, per disattivare la porta:

N5K(config)# mac address-table loop-detect ?

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

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

Further, the following command is available on the platform to err-disable the edge-port on the MAC move loop detection,

N5K(config)# mac address-table loop-detect port-down edge-port

Con NX-OS release 6.0(2)A8(1) su Nexus 3000, è possibile configurare l'azione in modo che la porta venga abbassata con l'indice di interfaccia inferiore quando viene rilevato un loop di questo tipo.

N3K(config)# mac address-table loop-detect ?

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

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

The following command is available on this platform as well, to err-disable the edge-port on the MAC move loop detection,

N5K(config)# mac address-table loop-detect port-down edge-port

Link utili

Spiegazione del syslog Nexus L2FM-4-L2FM_MAC_MOVE

Nexus 5000 FAQ: cosa fare quando uno switch Nexus 5000 visualizza il messaggio "FWM-2-STM LOOP DETECT" nel log