Contents

Introdução

Este documento descreve como solucionar problemas do Link Aggregation Control Protocol (LACP) na família Nexus 9000 cloudscale.

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

- protocolo de LACP

- Plataforma NXOS

- compreensão de ELAM

- Compreensão do Ethanalyzer

Componentes Utilizados

Nome

Plataforma

Versão

N9K1

N9K-C93108TC-EX

9.3(10)

N9K2

N9K-C93108TC-EX

9.3(10)

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Topologia

Verificar o status do link do LACP

Observação: Imagem 1.1 Status do link LACP.

Configurar o LACP:

N9K1

N9K2

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

show run interface port-channel 1 membership

interface port-channel1

switchport

switchport mode trunk

interface Ethernet1/1

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

interface Ethernet1/2

switchport

switchport mode trunk

channel-group 1 mode active

no shutdown

Verificar o status do canal de porta

N9K1

N9K2

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SU)     Eth      LACP      Eth1/1(P)

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SU)     Eth      LACP      Eth1/1(P)

Observação: a maioria dos cenários de falha comuns é a suspensão da interface do Nexus, abordada na seção Interface suspensa do LACP.

Verificar a interface LACP suspensa

sh port-channel summary interface port-channel 1

Flags:  D - Down        P - Up in port-channel (members)

I - Individual  H - Hot-standby (LACP only)

s - Suspended   r - Module-removed

b - BFD Session Wait

S - Switched    R - Routed

U - Up (port-channel)

p - Up in delay-lacp mode (member)

M - Not in use. Min-links not met

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

Group Port-       Type     Protocol  Member Ports

Channel

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

1     Po1(SD)     Eth      LACP      Eth1/1(s)

sh int e1/1 status

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

Port         Name           Status     Vlan    Duplex   Speed     Type

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

Eth1/1       --            suspended   trunk    auto     auto   10Gbase-SR

sh int e1/1

Ethernet1/1 is down (suspended(no LACP PDUs))

admin state is up, Dedicated Interface

Belongs to Po1

Hardware: 100/1000/10000/25000 Ethernet, address: 003a.9c08.68ab (bia 003a.9c08.68ab)

MTU 9216 bytes, BW 10000000 Kbit , DLY 10 usec

reliability 255/255, txload 1/255, rxload 1/255

<Snipped>

Observação: ao enfrentar esse cenário, o Nexus não está recebendo PDUS de LACP do parceiro, os contadores de interfaces de LACP podem ser verificados, conforme seção escrita: Verifique os contadores de interface de LACP ou as capturas de pacotes, como SPAN ou ELAM (Descrito na seção LACP ELAM) podem ser obtidos.

Verificar os contadores da interface do LACP

Cada dispositivo deve enviar e receber LACPDUs na mesma taxa para que o canal de porta seja ativado.

N9K1

N9K2

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

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

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

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

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

sh lacp counters interface port-channel 1

NOTE: Clear lacp counters to get accurate statistics

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

LACPDUs                      Markers/Resp LACPDUs

Port              Sent                Recv                  Recv Sent  Pkts Err

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

port-channel1

Ethernet1/1        445                  445                    0      0    0

Ethernet1/2        445                  445                    0      0    0

Verificar os bits de estado do ator do LACP

Em cada LACP PDU, as informações de estado do ator são trocadas entre o parceiro e o ator.

Atividade

1: Modo ativo

0: Modo passivo

Timeout

1: Tempo limite curto

0: Tempo limite longo

Agregação

1: Agregável

0: Individual

Sync

1: Em Sincronia

0: Fora de sincronia

Coleta

1: Coleta ativada

0: Coleta desativada

Distribuindo

1: Distribuição ativada

0: Distribuição desativada

Padrão

1: Usar padrão para parceiro

0: Use rx LACPDU para parceiro

Expirado

1: PDU do parceiro expirado

0: Não Expirado

Observação: Tabela 2.0 Bits de estado do ator significando

Verifique o valor hexadecimal do estado do LACP:

Observação: conversão de estado LACP da Imagem 3.0 de binário para Hexadecimal

Verificar ID de LAG

O Link Aggregation Identifier é a informação que cada membro da interface física do mesmo canal de porta está compartilhando, para aparecer como uma única "interface virtual" . Pode ser verificado usando comandos.

ID DE ATRASO N9K1

ID DE ATRASO N9K2

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1c9), (1770, a8-c-d-96-c9-bf, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-43-7f, 5, 8000, 1ca), (1770, a8-c-d-96-c9-bf, 5, 8000, 1ca)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-c9-bf

sh lacp interface e1/1 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/1 MAC Address=a8-c-d-96-43-7f

sh lacp interface e1/2 | include iignore  local|lag

Lag Id: [ [(1770, a8-c-d-96-c9-bf, 5, 8000, 1c9),(1770, a8-c-d-96-43-7f, 5, 8000, 1c9)] ]

Local Port: Eth1/2 MAC Address=a8-c-d-96-43-7f

Verificar o intercâmbio de PDU do LACP

Há alguns cenários em que, mesmo se o Nexus estiver trocando PDUs de LACP na taxa correta, o canal de porta não será ativado.

Isso pode ocorrer devido a uma falha na negociação do LACP.

Um exemplo de uma transação LACP correta para um canal de porta ser ativado é mostrado nesta tabela.

1

Ator N9K1

Parceiro N9K2

- N9K1 envia LACP com informações de ator com os bits de estado.

- As informações do parceiro estão em 0s, pois o N9K1 não recebeu nenhuma PDU de LACP do parceiro.

2

Parceiro N9K1

Ator N9K2

- N9K2 recebe informações de N9K1.

- O N9K2 envia a PDU do LACP com suas informações e confirma as informações do N9K1 .

3

Ator N9K1

Parceiro N9K2

- N9K1 Confirme as informações de N9K2.

4

Parceiro N9K1

Ator N9K2

- N9K2 recebe confirmação de N9K1.

- N9K2 envia PDU LACP adicionando bit de SINCRONIZAÇÃO em 1.

5

Ator N9K1

Parceiro N9K2

- N9K1 confirma o bit SYNC de N9K2.

- O N9K1 adiciona o bit de SINCRONIZAÇÃO 1 à PDU do LACP.

6

Parceiro N9K1

Ator N9K2

- N9K2 Confirma o bit SYNC de N9K1.

- O N9K2 adiciona o bit de Coleta 1 à PDU do LACP.

7

Ator N9K1

Parceiro N9K2

- N9K1 Reconhecer bit de coleta de N9K2.

- N9K1 Adiciona o bit de Coleta à sua PDU do LACP.

8

Ator N9K1

Parceiro N9K2

- O N9K1 decide que está pronto para a transição para o estado de distribuição, então ele altera o bit de intervalo de 1 (rápido) para 0 (lento) e define o bit de distribuição para 1.

9

Parceiro N9K1

Ator N9K2

- N9k2 reconhece a PDU N9k1 e altera seu bit de intervalo de 1 para 0 e define o bit de distribuição para 1.

- Neste momento, ambos os nexus estão prontos para enviar dados no canal de porta.

10

Ator N9K1

Parceiro N9K2

- N9K1 Reconheça a PDU do LACP a partir do N9K2.

- Neste momento, o canal de porta fará a transição para ativo.

Verificar o registro FSM do LACP

LACP Finite State Machine tem um log dedicado onde armazena todos os eventos dos estados de LACP da interface e LACP PDUS pode ser encontrado neste log:

sh lacp internal info interface e1/1 detail fsmlog

Em novas versões, você também pode usar:

sh lacp internal event-history interface e1/1

A primeira seção descreve as transições de LACP da interface

>>>>FSM: <Ethernet1/1> has 61 logged transitions<<<<<

<Snipped>

58) FSM:<Ethernet1/1> Transition at 127198 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_RECEIVE_PATH]

Triggered event: [LACP_EV_PORT_RECEIVE_PATH_ENABLED_AS_CHANNEL_MEMBER_MESSAGE]

Next state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

59) FSM:<Ethernet1/1> Transition at 127227 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_PORT_MEMBER_RECEIVE_ENABLED]

Triggered event: [LACP_EV_PARTNER_PDU_IN_SYNC_COLLECT_ENABLED_DISTRIBUTING_DISABLED]

Next state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

60) FSM:<Ethernet1/1> Transition at 128265 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PERIODIC_TRANSMIT_TIMER_EXPIRED]

Next state: [FSM_ST_NO_CHANGE]

61) FSM:<Ethernet1/1> Transition at 134352 usecs after Mon Aug 14 22:34:42 2023

Previous state: [LACP_ST_WAIT_FOR_HW_TO_PROGRAM_TRANSMIT_PATH]

Triggered event: [LACP_EV_PORT_HW_PATH_ENABLED]

Next state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]

Curr state: [LACP_ST_PORT_MEMBER_COLLECTING_AND_DISTRIBUTING_ENABLED]
A segunda seção mostra todas as informações de PDUS do LACP que o Exus enviou ou recebeu.
<Snipped>

(1) Send LACP PDU: len:110 at 492243 usecs after Tue Aug 15 00:02:13 2023

01010114 8000f8a7 3a393d6b 80008000 01013d00 00000214 8000f8a7 3a2ea30f

80008000 01013d00 00000310 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 0000

Actor:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0

(2) Recv LACP PDU: len:124 at 708749 usecs after Tue Aug 15 00:02:12 2023

0180c200 0002f8a7 3a2ea310 88090101 01148000 f8a73a2e a30f8000 80000101

3d000000 02148000 f8a73a39 3d6b8000 80000101 3d000000 03100000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000000 00000000 00000000 00000000 00000000 00000000 00000000

Actor:

info: (8000, f8-a7-3a-2e-a3-f, 8000, 8000, 101)

state:0x0f (Ac-1:To-1:Ag-1:Sy-1:Co-0:Di-0:De-0:Ex-0)

Partner:

info: (8000, f8-a7-3a-39-3d-6b, 8000, 8000, 101)

state:0x07 (Ac-1:To-1:Ag-1:Sy-0:Co-0:Di-0:De-0:Ex-0)

Observação: leve em consideração que a linha do tempo do histórico de eventos da PDU do LACP vai de logs mais recentes para logs mais antigos, mas o LACP afirma que a linha do tempo do histórico de eventos vai de logs mais antigos para logs mais novos.

Configurar e verificar o LACP Ethanalyzer

LACP PDUS precisa ser processado pela CPU , o Nexus foi instalado na lista de acesso interna do hardware para redirecionar os pacotes LACP para a CPU, todos os LACP PDUS podem ser observados com o analisador etário, a fim de filtrá-los o filtro do Wireshark "lento" pode ser usado.

ethanalyzer local interface inband display-filter "slow and eth.addr==04:76:b0:b2:00:20 and eth.addr==01:80:c2:00:00:02" limit-captured-frames 0

Capturing on inband

2023-07-03 23:37:14.420839 04:76:b0:b2:00:20 -> 01:80:c2:00:00:02 LACP Link Aggregation Control ProtocolVersion 1. Actor Port = 257 Partner Port = 449

Detailed:

Frame 19 (124 bytes on wire, 124 bytes captured)

Arrival Time: Jul 3, 2023 23:38:14.425502000

[Time delta from previous captured frame: 0.836575000 seconds]

[Time delta from previous displayed frame: 11.246799000 seconds]

[Time since reference or first frame: 11.246799000 seconds]

Frame Number: 19

Frame Length: 124 bytes

Capture Length: 124 bytes

[Frame is marked: False]

[Protocols in frame: eth:slow]

Ethernet II, Src: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20), Dst: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Destination: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

Address: 01:80:c2:00:00:02 (01:80:c2:00:00:02)

.... ...1 .... .... .... .... = IG bit: Group address (multicast/broadcast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Source: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

Address: 04:76:b0:b2:00:20 (04:76:b0:b2:00:20)

.... ...0 .... .... .... .... = IG bit: Individual address (unicast)

.... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)

Type: Slow Protocols (0x8809)

Link Aggregation Control Protocol

Slow Protocols subtype: LACP (0x01)

LACP Version Number: 0x01

Actor Information: 0x01

Actor Information Length: 0x14

Actor System Priority: 32768

Actor System: 04:76:b0:b2:00:1f (04:76:b0:b2:00:1f)

Actor Key: 32768

Actor Port Priority: 32768

Actor Port: 257

Actor State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Partner Information: 0x02

Partner Information Length: 0x14

Partner System Priority: 32768

Partner System: 70:0f:6a:d7:d0:fb (70:0f:6a:d7:d0:fb)

Partner Key: 32768

Partner Port Priority: 32768

Partner Port: 449

Partner State: 0x3d (Activity, Aggregation, Synchronization, Collecting, Distributing)

.... ...1 = LACP Activity: Yes

.... ..0. = LACP Timeout: No

.... .1.. = Aggregation: Yes

.... 1... = Synchronization: Yes

...1 .... = Collecting: Yes

..1. .... = Distributing: Yes

.0.. .... = Defaulted: No

0... .... = Expired: No

Reserved: 000000

Collector Information: 0x03

Collector Information Length: 0x10

Collector Max Delay: 0

Reserved: 000000000000000000000000

Terminator Information: 0x00

Terminator Length: 0x00

Reserved: 000000000000000000000000000000000000000000000000...

Configure e verifique LACP Elam

O primeiro endereço mac da interface remota precisa ser identificado:

N9K2#sh int e1/1 | i i addr

Hardware: 1000/10000/25000/40000/50000/100000 Ethernet, address: 0476.b0b2.0020 (bia 0476.b0b2.0020)

Agora, o Nexus N9K1 Elam está configurado.

N9K1#debug platform internal tah elam

N9K1(TAH-elam)#trigger init

N9K1(TAH-elam-insel6)#set outer l2 src_mac 04:76:b0:b2:00:20 dst_mac 01:80:c2:00:00:02 <<<<<Dest mac is mcast mac for LACP

N9K1(TAH-elam-insel6)#tart

N9K1(TAH-elam-insel6)#report

SUGARBOWL ELAM REPORT SUMMARY

slot - 1, asic - 0, slice - 1

============================Incoming Interface: Eth1/49

Src Idx : 0x601, Src BD : 1

Outgoing Interface Info: met_ptr 0Packet Type: CE

Dst MAC address: 01:80:C2:00:00:02

Src MAC address: 04:76:B0:B2:00:20

Sup hit: 1, Sup Idx: 2627. <<<<<Traffic needs to be punted to the CPU.

Drop Info:

----------LUA:

LUB:

LUC:

LUD:

Final Drops:vntag:

vntag_valid : 0

vntag_vir : 0

vntag_svif : 0

Para decodificar o índice de redirecionamento sup, o comando sh system internal access-list sup-redirect-stats pode ser executado:

sh system internal access-list sup-redirect-stats | i i 2627

2627 LACP 0

2627 LACP 103