Sommario

Introduzione

In questo documento viene descritto come risolvere i problemi relativi al protocollo LACP (Link Aggregation Control Protocol) sulla famiglia Nexus 9000 cloudscale.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza dei seguenti argomenti:

- Protocollo LACP

- Piattaforma NXOS

- comprensione ELAM

- Comprensione dell'etanalizzatore

Componenti usati

Nome

Piattaforma

Version

N9K1

N9K-C93108TC-EX

9.3(10)

N9K2

N9K-C93108TC-EX

9.3(10)

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Topologia

Verifica stato collegamento LACP

Nota: stato collegamento LACP immagine 1.1.

Configurare 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

Verifica dello stato del canale 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)

Nota: la maggior parte degli scenari di errore più comuni è rappresentata da Nexus che sospende l'interfaccia, come descritto nella sezione Interfaccia sospesa LACP.

Verifica interfaccia sospesa LACP

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>

Nota: quando Nexus non riceve PDU LACP dal partner, è possibile verificare i contatori delle interfacce LACP, come descritto nella sezione Verifica dei contatori dell'interfaccia LACP o delle acquisizioni di pacchetti come SPAN o ELAM (descritta nella sezione LACP ELAM).

Verifica contatori interfaccia LACP

Affinché il canale della porta venga attivato, ogni dispositivo deve inviare e ricevere LACPDU alla stessa velocità.

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

Verifica bit stato attore LACP

In ogni PDU LACP le informazioni sullo stato vengono scambiate tra partner e attore.

Attività

1: Modalità attiva

0: modalità passiva

Timeout

1: Timeout breve

0: Timeout lungo

Aggregazione

1: Aggregabile

0: Individuale

Sincronizza

1: In sincrono

0: non sincronizzato

Raccolta

1: Raccolta abilitata

0: Raccolta disabilitata

Distribuzione

1: Distribuzione abilitata

0: Distribuzione disabilitata

Predefinito

1: Utilizzare il valore predefinito per il partner

0: utilizzare rx LACPDU per il partner

Scaduto

1: PDU partner scaduta

0: Non scaduto

Nota: nella tabella 2.0 il significato di bit di stato attore

Verifica valore esadecimale stato LACP:

Nota: conversione stato LACP immagine 3.0 da binario a esadecimale

Verifica ID LAG

L'identificatore di aggregazione del collegamento è l'informazione che ogni membro dell'interfaccia fisica dello stesso canale porta condivide e che appare come un'unica "interfaccia virtuale". È possibile verificarlo utilizzando i comandi.

ID LAG N9K1

ID RITARDO 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

Verifica LACP PDU Exchange

In alcuni scenari, anche se Nexus sta scambiando PDU LACP alla velocità corretta, il canale della porta non viene visualizzato.

Ciò potrebbe essere dovuto a un errore nella negoziazione LACP.

Nella tabella seguente è illustrato un esempio di transazione LACP corretta per la visualizzazione di un canale porta.

1

Attore N9K1

Partner N9K2

- N9K1 invia LACP con informazioni sull'attore con i bit di stato.

- Le informazioni sul partner sono impostate su 0 poiché N9K1 non ha ricevuto alcuna PDU LACP dal partner.

2

Partner N9K1

Attore N9K2

- N9K2 riceve informazioni da N9K1.

- N9K2 invia una PDU LACP con le sue informazioni e conferma le informazioni N9K1 .

3

Attore N9K1

Partner N9K2

- N9K1 Conferma le informazioni N9K2.

4

Partner N9K1

Attore N9K2

- N9K2 riceve una conferma da N9K1.

- N9K2 invia una PDU LACP aggiungendo il bit SYNC a 1.

5

Attore N9K1

Partner N9K2

- N9K1 riconosce il bit SYNC da N9K2.

- N9K1 aggiunge il bit SYNC a 1 alla PDU LACP.

6

Partner N9K1

Attore N9K2

- Bit di sincronizzazione N9K2 Acknoledge da N9K1.

- N9K2 aggiunge il bit Collect 1 alla PDU LACP.

7

Attore N9K1

Partner N9K2

- Bit di ricezione N9K1 Conferma da N9K2.

- N9K1 Aggiunge il bit Collect alla PDU LACP.

8

Attore N9K1

Partner N9K2

- N9K1 decide che è pronto per la transizione allo stato di distribuzione, quindi ora cambia il bit di timeout da 1 (veloce) a 0 (lento) e imposta il bit di distribuzione su 1.

9

Partner N9K1

Attore N9K2

- N9k2 riconosce la PDU N9k1 e ne modifica il bit di timeout da 1 a 0 e imposta il bit di distribuzione su 1.

- Al momento entrambi i nexus sono pronti per inviare dati sul canale della porta.

10

Attore N9K1

Partner N9K2

- N9K1 Riconoscere la PDU LACP da N9K2.

- In questo momento Port-Channel passerà alla versione precedente.

Verifica registro FSM LACP

La macchina a stati finiti LACP dispone di un log dedicato in cui memorizza tutti gli eventi degli stati LACP dell'interfaccia e le PDU LACP sono disponibili in questo log:

sh lacp internal info interface e1/1 detail fsmlog

Nelle nuove versioni è inoltre possibile utilizzare:

sh lacp internal event-history interface e1/1

La prima sezione descrive le transizioni LACP dell'interfaccia

>>>>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]
Nella seconda sezione vengono visualizzate tutte le informazioni PDU LACP inviate o ricevute da exus.
<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)

Nota: tenere presente che la riga temporale della cronologia degli eventi PDU LACP passa dai log più recenti a quelli più vecchi, mentre la riga temporale della cronologia degli eventi degli stati LACP passa dai log più vecchi a quelli più recenti.

Configurazione e verifica di LACP Ethanalyzer

LACP PDUS deve essere elaborato dalla CPU , nexus è stato installato nell'elenco degli accessi interni all'hardware per reindirizzare i pacchetti LACP alla CPU. Tutte le PDU LACP possono essere osservate con l'analizzatore di rete per filtrarle e utilizzare il filtro wireshark "slow".

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...

Configurazione e verifica di Elam LACP

È necessario identificare il primo indirizzo MAC dell'interfaccia remota:

N9K2#sh int e1/1 | i i addr

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

Ora su nexus N9K1 elam è configurato.

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

Per decodificare l'indice di reindirizzamento sup, è possibile eseguire il comando sh system internal access-list sup-redirect-stats:

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

2627 LACP 0

2627 LACP 103