Contents

Introduction

Informações de Apoio

Pré-requisito

Topologia

Como solucionar problemas

Configuração

Verificar

Outras plataformas

Links úteis

Introduction

Este documento descreve como solucionar problemas quando há movimentação de mac no Nexus 9000 e como evitá-lo.

Informações de Apoio

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

Você entende o conceito de aprendizagem MAC e como uma tabela é mantida em um switch, quando o switch recebe um quadro, e associa o endereço MAC do remetente à porta LAN onde ele foi recebido. Sob condição de loop, pode acontecer que o mesmo MAC seja aprendido por meio de duas portas diferentes no switch.

Pré-requisito

Entender o conceito de aprendizagem MAC no Switch e na configuração do NX-OS

Identificar e solucionar problemas de switching de Camada 2

Topologia

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

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

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

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

1/3 |               | 2/1

|               |

|               |

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

|       Server       |

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

0000.117d.e02e

Como solucionar problemas

Quando o BCM ASIC aprende muitos endereços mac em uma curta duração, o BCM_USD pode desativar/ativar o aprendizado de MAC no hardware e você pode ver essa mensagem que aparece. Isso pode ocorrer se houver muitos movimentos/oscilações/loops de mac ou se novos aprendizados/movimentações de mac excederem um determinado limite. Por padrão, no Nexus9K, você não pode ver os logs que informam especificamente que o switch está passando por movimentações MAC. No entanto, caso esses movimentos sejam altos, você acaba vendo esses registros.

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

Essas mensagens são indicativas de um evento na tabela mac. Quando você tem movimentações MAC contínuas no ambiente, essas mensagens podem ser vistas. Basicamente, o switch recebeu quadros com o mesmo MAC de origem em duas ou mais interfaces em uma taxa muito alta. O switch tem um mecanismo para contar o número de "retornos" MAC e ponderá-los com base no número de vezes que o endereço MAC se move. O aprendizado dinâmico do MAC é desativado pelo switch para proteger o plano de controle.

Neste ponto, você pode verificar a contagem de movimentações de mac para entender se e quantos movimentações de mac já ocorreram no 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

A saída de "Número de endereços MAC movidos" sugere que o switch executa movimentações MAC.

Configuração

A próxima coisa óbvia é descobrir o endereço mac que causa esse problema, e as vlans, e as informações de interface onde isso ocorre. Para procurar essas informações, você precisa aumentar o nível de registro de L2FM do valor padrão de 2 até 5 na plataforma 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

Nesse caso, você pode detectar e limitar o número de vezes que um endereço MAC se move de uma porta para outra.

Até o Cisco NX-OS Release 6.0(2)U3(1), quando um loop foi detectado entre duas portas, a aprendizagem MAC foi desabilitada por 180 segundos.

Entretanto, começando com a versão 7.0(3)I7(3), agora você pode configurar o switch para desativar a porta com o índice de interface mais baixo, quando tal loop for detectado quando você usar o 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#

Agora, a detecção de loop adicional após a habilitação desse comando desativa a interface com um índice de interface mais baixo.

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)

Verificar

Use este comando para verificar a ação configurada no momento.

N9K# show mac address-table loop-detect

Port Down Action Mac Loop Detect : disabled

Você pode confirmar o índice da interface para verificar se a interface correta foi desabilitada, de acordo com o recurso.

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)

Outras plataformas

Você pode ativar a notificação de movimentação de mac em outras plataformas Nexus com esses comandos.

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.

Esses comandos também estão disponíveis no Nexus5K/6K que executa as versões 6.0(2)N2(1) e posteriores, para desativar a 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

Com o NX-OS versão 6.0(2)A8(1) no Nexus 3000, você pode configurar a ação para desativar a porta com o índice de interface inferior quando tal loop for detectado.

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

Links úteis

Explicação do Syslog Nexus L2FM-4-L2FM_MAC_MOVE

Perguntas frequentes do Nexus 5000: o que você faz quando um switch Nexus 5000 exibe a mensagem "FWM-2-STM LOOP DETECT" no registro