La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
Questo documento descrive i passaggi utilizzati per tracciare la fonte degli errori CRC osservati sui moduli Cisco Nexus 9000 Cloud Scale ASIC.
Cisco consiglia di comprendere le nozioni di base della commutazione cut-through e store-and-forward. Cisco consiglia inoltre di comprendere le nozioni di base del campo Ethernet Frame Check Sequence (FCS) e dell'algoritmo CRC (Cyclic Redundancy Check) utilizzato dal campo FCS. Per ulteriori informazioni, fare riferimento a questo documento:
Per la stesura del documento, sono stati usati switch Cisco Nexus serie 9000 con Cloud Scale ASIC con software NX-OS versione 7.0(3)I7(8).
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.
Nel documento viene descritta anche la procedura utilizzata per distinguere gli errori CRC con o senza stomping osservati sulle interfacce fisiche e sui collegamenti della struttura interna degli switch Nexus modulari.
Per impostazione predefinita, gli switch Cisco Nexus serie 9000 usano la commutazione cut-through. La commutazione cut-through si ha quando uno switch prende una decisione di inoltro su un frame e inizia l'inoltro del frame fuori da un'interfaccia di uscita non appena lo switch ha elaborato abbastanza dell'intestazione del frame per prendere una decisione di inoltro valida. Questo processo si differenzia dalla commutazione store-and-forward, in cui uno switch memorizza l'intero frame prima di inoltrarlo da un'interfaccia di uscita.
Il campo FCS di un frame Ethernet convalida l'integrità del frame e assicura che il frame non sia stato danneggiato durante la trasmissione. Il campo FCS di un frame Ethernet si trova all'estremità del frame Ethernet dietro il payload del frame. Uno switch che opera in modalità store-and-forward switching è in grado di verificare l'integrità di un frame Ethernet con il campo FCS prima di inoltrare il frame fuori da un'interfaccia di uscita (o eliminare il frame se il campo FCS ha contenuti non validi). Tuttavia, uno switch che opera in modalità cut-through switching non è in grado di verificare l'integrità di un frame Ethernet con il campo FCS prima di inoltrare il frame da un'interfaccia in uscita; in altre parole, quando uno switch cut-through è in grado di verificare l'integrità di un frame Ethernet, la maggior parte del frame Ethernet è già stata inoltrata da un'interfaccia in uscita.
Se uno switch che opera in modalità di switching cut-through riceve un frame Ethernet con un campo FCS non valido, lo switch può eseguire le seguenti azioni:
In questo documento viene descritto come verificare se i contatori CRC associati a un'interfaccia in entrata sono CRC normali (che in genere indicano problemi di livello fisico sul collegamento collegato all'interfaccia in entrata) o CRC con ingombro (che indicano che il dispositivo collegato all'interfaccia in entrata funziona anche in modalità di switching cut-through e ha ricevuto un frame Ethernet non valido).
La procedura illustrata in questo documento è applicabile solo a questo hardware:
In questa sezione del documento vengono descritte istruzioni dettagliate per identificare la causa degli errori CRC osservati su un'interfaccia fisica specifica Ethernet1/1 sugli switch Cisco Nexus serie 9200 e 9300.
A partire dal software NX-OS versione 10.2(1), gli switch Nexus dotati di Cloud Scale ASIC dispongono di un nuovo contatore di interfaccia per i pacchetti con CRC a velocità ridotta nel campo FCS dei frame Ethernet che attraversano lo switch. È possibile utilizzare il comando show interface per identificare le interfacce fisiche con contatori CRC incrementali diversi da zero e CRC a consumo. Di seguito è riportato un esempio di quanto sopra: l'interfaccia fisica Ethernet1/1 ha un contatore CRC pari a zero e un contatore CRC con ingombro diverso da zero. Ciò indica che su questa interfaccia sono stati ricevuti frame con CRC non valido e con uno stomped.
switch# show interface
<snip>
Ethernet1/1 is up
admin state is up, Dedicated Interface
Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2bbe)
MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, medium is broadcast
Port mode is trunk
full-duplex, 10 Gb/s, media type is 10G
Beacon is turned off
Auto-Negotiation is turned on FEC mode is Auto
Input flow-control is off, output flow-control is off
Auto-mdix is turned off
Rate mode is dedicated
Switchport monitor is off
EtherType is 0x8100
EEE (efficient-ethernet) : n/a
admin fec state is auto, oper fec state is off
Last link flapped 04:09:21
Last clearing of "show interface" counters 00:50:37
0 interface resets
RX
8 unicast packets 253 multicast packets 2 broadcast packets
1832838280 input packets 2199405650587 bytes
0 jumbo packets 0 storm suppression bytes
0 runts 0 giants 1832838019 CRC 0 no buffer
1832838019 input error 0 short frame 0 overrun 0 underrun 0 ignored
0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop
0 input with dribble 0 input discard
0 Rx pause
1832838019 Stomped CRC
TX
908 unicast packets 323 multicast packets 3 broadcast packets
1234 output packets 113342 bytes
0 jumbo packets
0 output error 0 collision 0 deferred 0 late collision
0 lost carrier 0 no carrier 0 babble 0 output discard
0 Tx pause
Nota: un contatore CRC incrementale indica che è stato ricevuto un frame con CRC ridotto o un CRC non valido ma non ridotto. Un aumento incrementale del contatore CRC a consumo indica che è stato ricevuto un frame con CRC a consumo.
In alternativa, il comando show interface counters errors diverso da zero può essere usato per visualizzare i contatori degli errori dell'interfaccia. Di seguito è riportato un esempio.
switch# show interface counters errors non-zero
--------------------------------------------------------------------------------
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards
--------------------------------------------------------------------------------
Eth1/1 1790348828 1790348828 0 1790348828 0 0
--------------------------------------------------------------------------------
Port Single-Col Multi-Col Late-Col Exces-Col Carri-Sen Runts
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Port Giants SQETest-Err Deferred-Tx IntMacTx-Er IntMacRx-Er Symbol-Err
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Port InDiscards
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Port Stomped-CRC
--------------------------------------------------------------------------------
Eth1/1 1790348828
È possibile reindirizzare il comando show interface ai comandi json o json-nice per ottenere le statistiche dei contatori CRC e CRC di consumo in un formato strutturato. Di seguito è riportato un esempio.
switch# show interface Ethernet1/1 | json-pretty | include ignore-case crc
"eth_crc": "828640831",
"eth_stomped_crc": "828640831",
L'API REST NX-API può essere utilizzata per recuperare queste stesse statistiche utilizzando il modello a oggetti sys/intf/phys-[intf-id]/dbgEtherStats.json. Di seguito è riportato un esempio.
/api/node/mo/sys/intf/phys-[eth1/1]/dbgEtherStats.json
{
"totalCount": "1",
"imdata": [
{
"rmonEtherStats": {
"attributes": {
"cRCAlignErrors": "26874272810",
"dn": "sys/intf/phys-[eth1/1]/dbgEtherStats",
"dropEvents": "0",
"rXNoErrors": "26874276337",
"stompedCRCAlignErrors": "26874272810",
...
}
}
}
]
}
Per le versioni del software NX-OS precedenti alla versione 10.2(1), il contatore CRC a consumo non è disponibile sulle interfacce. Sono necessarie diverse operazioni per determinare l'interfaccia in entrata in cui vengono rilevati CRC non validi e per verificare se i CRC non sono validi o sono obsoleti.
Utilizzare il comando show interface per identificare le interfacce fisiche con contatori CRC incrementali diversi da zero. Ad esempio, come mostrato di seguito, l'interfaccia fisica Ethernet1/1 ha un contatore CRC diverso da zero.
switch# show interface
<snip> Ethernet1/1 is up admin state is up, Dedicated Interface Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2bbe) MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 04:09:21 Last clearing of "show interface" counters 00:50:37 0 interface resets RX 3 unicast packets 3087 multicast packets 0 broadcast packets 3097 input packets 244636 bytes 7 jumbo packets 0 storm suppression bytes 0 runts 7 giants 7 CRC 0 no buffer 7 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause
In alternativa, è possibile utilizzare il comando show interface counters errors diverso da zero per visualizzare tutte le interfacce con contatori di errori diversi da zero (inclusi i contatori CRC diversi da zero). Un esempio è quello mostrato di seguito, dove l'interfaccia fisica Ethernet1/1 ha un contatore CRC diverso da zero visualizzato dalla colonna FCS-Err.
switch# show interface counters errors non-zero <snip> -------------------------------------------------------------------------------- Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards -------------------------------------------------------------------------------- Eth1/1 7 7 0 7 0 0
Utilizzare il comando show interface hardware-mappings per identificare tre caratteristiche chiave:
Questa condizione viene dimostrata nell'esempio, in cui l'interfaccia fisica Ethernet1/1 è associata al Cloud Scale ASIC 0, al blocco MAC 4 e alla sottoporta 0 del blocco MAC.
switch# show interface hardware-mappings
<snip>
-------------------------------------------------------------------------------------------------------
Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID
-------------------------------------------------------------------------------------------------------
Eth1/1 1a000000 1 0 16 255 0 -1 0 16 32 4 0 1 0 32
Eth1/2 1a000200 1 0 17 255 4 -1 0 17 34 4 2 5 0 34
Eth1/3 1a000400 1 0 18 255 8 -1 0 18 36 4 4 9 0 36
Eth1/4 1a000600 1 0 19 255 12 -1 0 19 38 4 6 13 0 38
Eth1/5 1a000800 1 0 12 255 16 -1 0 12 24 3 0 17 0 24
Utilizzare il comando {x} show hardware internal tah counters asic {y} per visualizzare i contatori di registrazione per l'ASIC della scala del cloud. Questo comando contiene due variabili:
Questo output può visualizzare una tabella. Ogni riga della tabella corrisponde a un registro ASIC diverso. Ogni colonna della tabella corrisponde a un'interfaccia fisica sullo switch. Il nome utilizzato per ciascuna colonna non è il nome dell'interfaccia fisica, ma è una combinazione del blocco MAC e della sottoporta del blocco MAC. Il formato utilizzato per l'intestazione di colonna è il seguente:
M{A},{B}-{InterfaceSpeed}
In questo formato sono disponibili tre variabili:
Questo è dimostrato nell'esempio. Tenere presente che l'interfaccia fisica Ethernet1/1 è associata allo slot per scheda di linea numero 1 e al Cloud Scale ASIC 0, il che significa che il comando da eseguire è slot 1 show hardware internal tah counters asic 0. Il blocco MAC associato all'interfaccia fisica Ethernet1/1 è 4, la sottoporta del blocco MAC associata all'interfaccia fisica Ethernet1/1 è 0 e l'interfaccia fisica Ethernet1/1 è un'interfaccia 10G. Pertanto, l'intestazione di colonna che stiamo cercando è M4,0-10G.
Nota: l'output di questo comando è molto lungo e largo. Può essere difficile leggere questo output all'interno di una sessione terminale. Cisco consiglia di massimizzare la larghezza del terminale con il comando terminal width 511 e di copiare questo output in un editor/lettore di testo esterno per rivederlo.
switch# slot 1 show hardware internal tah counters asic 0 <snip> *************** PER MAC/CH SRAM COUNTERS **************** REG_NAME M4,0-10G M4,2-10G M4,4-10G M4,6-10G M5,0-40Gx4 M6,0-40Gx4 M7,0-40Gx4 M8,0-10G ---------------------------------------------------------------------------------------------------------------------------- 02-RX Frm with FCS Err .... .... .... .... .... .... .... .... 16-RX Frm CRC Err(Stomp) c .... .... .... .... .... .... ....
L'output di questo comando contiene diverse decine di contatori di registro. Esistono due contatori di registro chiave correlati alla differenziazione degli errori CRC naturali dai CRC a stomped:
Il valore di questi contatori è in formato esadecimale. Il comando dec NX-OS è in grado di convertire un valore esadecimale in un valore decimale, come illustrato di seguito.
N9K-C93180YC-EX-2# dec 0xc
12
I valori combinati di entrambi i contatori di registro equivalgono al numero di CRC osservati sull'interfaccia fisica tramite l'output di show interface o di show interface counters errors diversi da zero.
In questa sezione del documento vengono descritte istruzioni dettagliate per identificare la causa degli errori CRC osservati su un'interfaccia fisica specifica Ethernet1/1 sugli switch Cisco Nexus serie 9500.
Ogni scheda di linea di uno switch Nexus serie 9500 è collegata tramite collegamento interno (Eth) ai moduli fabric. Ciascun ASIC di ciascuna scheda di linea dispone di connettività full-mesh a tutti i moduli fabric. L'esempio mostra una scheda di linea con quattro ASIC Sugarbowl con collegamenti interni che collegano quattro moduli fabric all'interno di uno switch Nexus 9500 modulare.
Quando il traffico ricevuto da un ASIC deve passare a un altro ASIC o a un'altra scheda di linea, deve essere inviato all'infrastruttura tramite un modulo fabric. L'ASIC in entrata seleziona uno dei collegamenti Ethernet ai moduli fabric in base a un hash delle intestazioni del pacchetto e al numero di collegamenti Ethernet disponibili per l'ASIC.
Utilizzare il comando show system internal fabric connectivity module {x} (dove {x} è il numero di slot della scheda di linea o del modulo fabric) per visualizzare i collegamenti interni tra la scheda di linea specificata e tutti i moduli fabric. Questo output visualizza una tabella in cui ogni riga mostra un mapping uno a uno tra i collegamenti interni della scheda di linea (sotto la colonna LC-EthLink) ai collegamenti interni di ciascun modulo fabric (sotto la colonna FM-EthLink). Di seguito è riportato un esempio di questa procedura, eseguita su uno switch Nexus 9508 con 8 schede di linea e 4 moduli fabric inseriti. L'output mostrato di seguito mostra che ciascuna istanza ASIC della scheda di linea inserita nello slot 8 dello switch è collegata a ciascuno dei 4 moduli fabric installati (inseriti negli slot 22, 23, 24 e 26) tramite 2 collegamenti interni.
Nexus9500# show system internal fabric connectivity module 8
Internal Link-info Linecard slot:8
------------------------------------------------------------------------
LC-Slot LC-Unit LC-iEthLink MUX FM-Slot FM-Unit FM-iEthLink
------------------------------------------------------------------------
8 0 iEth01 - 22 0 iEth18
8 0 iEth02 - 22 1 iEth50
8 0 iEth03 - 23 0 iEth18
8 0 iEth04 - 23 1 iEth50
8 0 iEth05 - 24 0 iEth18
8 0 iEth06 - 24 1 iEth50
8 0 iEth07 - 26 0 iEth18
8 0 iEth08 - 26 1 iEth50
8 1 iEth09 - 22 0 iEth03
8 1 iEth10 - 22 1 iEth35
8 1 iEth11 - 23 0 iEth03
8 1 iEth12 - 23 1 iEth35
8 1 iEth13 - 24 0 iEth03
8 1 iEth14 - 24 1 iEth35
8 1 iEth15 - 26 0 iEth03
8 1 iEth16 - 26 1 iEth35
8 2 iEth17 - 22 0 iEth32
8 2 iEth18 - 22 1 iEth53
8 2 iEth19 - 23 0 iEth32
8 2 iEth20 - 23 1 iEth53
8 2 iEth21 - 24 0 iEth32
8 2 iEth22 - 24 1 iEth53
8 2 iEth23 - 26 0 iEth32
8 2 iEth24 - 26 1 iEth53
8 3 iEth25 - 22 0 iEth31
8 3 iEth26 - 22 1 iEth54
8 3 iEth27 - 23 0 iEth31
8 3 iEth28 - 23 1 iEth54
8 3 iEth29 - 24 0 iEth31
8 3 iEth30 - 24 1 iEth54
8 3 iEth31 - 26 0 iEth31
8 3 iEth32 - 26 1 iEth54
Analogamente, la mappatura dei collegamenti Eth può essere controllata dal punto di vista di un modulo di fabric. Di seguito è riportato un esempio di collegamento interno tra il modulo fabric inserito nello slot 22 e ciascuna delle 8 schede di linea installate nello chassis Nexus 9508.
Nexus9500# show system internal fabric connectivity module 22
Internal Link-info Fabriccard slot:22
------------------------------------------------------------------------
FM-Slot FM-Unit FM-iEthLink LC-Slot LC-Unit LC-EthLink MUX
------------------------------------------------------------------------
22 0 iEth09 1 0 iEth01 -
22 0 iEth06 1 1 iEth11 -
22 0 iEth25 1 2 iEth21 -
22 0 iEth26 1 3 iEth31 -
22 0 iEth10 2 0 iEth01 -
22 0 iEth05 2 1 iEth11 -
22 0 iEth23 2 2 iEth21 -
22 0 iEth24 2 3 iEth31 -
22 0 iEth12 3 0 iEth01 -
22 0 iEth11 3 1 iEth11 -
22 0 iEth21 3 2 iEth21 -
22 0 iEth22 3 3 iEth31 -
22 0 iEth14 4 0 iEth01 -
22 0 iEth13 4 1 iEth11 -
22 0 iEth07 4 2 iEth21 -
22 0 iEth08 4 3 iEth31 -
22 0 iEth16 5 0 iEth01 -
22 0 iEth15 5 1 iEth11 -
22 0 iEth01 5 2 iEth21 -
22 0 iEth04 5 3 iEth31 -
22 0 iEth20 6 0 iEth01 -
22 0 iEth17 6 1 iEth11 -
22 0 iEth28 6 2 iEth21 -
22 0 iEth27 6 3 iEth31 -
22 0 iEth19 7 0 iEth01 -
22 0 iEth02 7 1 iEth09 -
22 0 iEth30 7 2 iEth17 -
22 0 iEth29 7 3 iEth25 -
22 0 iEth18 8 0 iEth01 -
22 0 iEth03 8 1 iEth09 -
22 0 iEth32 8 2 iEth17 -
22 0 iEth31 8 3 iEth25 -
22 1 iEth41 1 0 iEth02 -
22 1 iEth38 1 1 iEth12 -
22 1 iEth59 1 2 iEth22 -
22 1 iEth60 1 3 iEth32 -
22 1 iEth42 2 0 iEth02 -
22 1 iEth37 2 1 iEth12 -
22 1 iEth62 2 2 iEth22 -
22 1 iEth61 2 3 iEth32 -
22 1 iEth44 3 0 iEth02 -
22 1 iEth43 3 1 iEth12 -
22 1 iEth64 3 2 iEth22 -
22 1 iEth63 3 3 iEth32 -
22 1 iEth46 4 0 iEth02 -
22 1 iEth45 4 1 iEth12 -
22 1 iEth39 4 2 iEth22 -
22 1 iEth40 4 3 iEth32 -
22 1 iEth48 5 0 iEth02 -
22 1 iEth47 5 1 iEth12 -
22 1 iEth36 5 2 iEth22 -
22 1 iEth33 5 3 iEth32 -
22 1 iEth52 6 0 iEth02 -
22 1 iEth49 6 1 iEth12 -
22 1 iEth57 6 2 iEth22 -
22 1 iEth58 6 3 iEth32 -
22 1 iEth34 7 0 iEth02 -
22 1 iEth51 7 1 iEth10 -
22 1 iEth55 7 2 iEth18 -
22 1 iEth56 7 3 iEth26 -
22 1 iEth50 8 0 iEth02 -
22 1 iEth35 8 1 iEth10 -
22 1 iEth53 8 2 iEth18 -
22 1 iEth54 8 3 iEth26 -
Utilizzare il comando show system internal fabric link-state module {x} per verificare se la porta interna è attiva o meno (nelle colonne ST) e quali sono la slice ASIC e l'identificatore MAC corrispondenti di un particolare collegamento interno (nella colonna MAC). Di seguito è riportato un esempio.
Nexus9500# show system internal fabric link-state module 8
cli : mod = 8
module number = 8
========================================================================================================================
Module number = 8
========================================================================================================================
[LC] [ INST:SLI:MAC:GLSRC] [IETH] [ST] <========> [FM] [ INST:SLI:MAC:GLSRC] [IETH] [ST]
========================================================================================================================
[ 8] [ 0 : 0 : 7 : 0x38] [iEth01] [UP] <========> [22] [ 0 : 3 : 21 : 0x18] [iEth18] [UP]
[ 8] [ 0 : 1 : 9 : 0x0] [iEth02] [UP] <========> [22] [ 1 : 3 : 21 : 0x18] [iEth50] [UP]
[ 8] [ 0 : 0 : 6 : 0x30] [iEth03] [UP] <========> [23] [ 0 : 3 : 21 : 0x18] [iEth18] [UP]
[ 8] [ 0 : 1 : 16 : 0x38] [iEth04] [UP] <========> [23] [ 1 : 3 : 21 : 0x18] [iEth50] [UP]
[ 8] [ 0 : 0 : 8 : 0x40] [iEth05] [UP] <========> [24] [ 0 : 3 : 21 : 0x18] [iEth18] [UP]
[ 8] [ 0 : 1 : 15 : 0x30] [iEth06] [UP] <========> [24] [ 1 : 3 : 21 : 0x18] [iEth50] [UP]
[ 8] [ 0 : 0 : 5 : 0x28] [iEth07] [UP] <========> [26] [ 0 : 3 : 21 : 0x18] [iEth18] [UP]
[ 8] [ 0 : 1 : 17 : 0x40] [iEth08] [UP] <========> [26] [ 1 : 3 : 21 : 0x18] [iEth50] [UP]
[ 8] [ 1 : 0 : 7 : 0x38] [iEth09] [UP] <========> [22] [ 0 : 0 : 4 : 0x20] [iEth03] [UP]
[ 8] [ 1 : 1 : 9 : 0x0] [iEth10] [UP] <========> [22] [ 1 : 0 : 4 : 0x20] [iEth35] [UP]
[ 8] [ 1 : 0 : 6 : 0x30] [iEth11] [UP] <========> [23] [ 0 : 0 : 4 : 0x20] [iEth03] [UP]
[ 8] [ 1 : 1 : 16 : 0x38] [iEth12] [UP] <========> [23] [ 1 : 0 : 4 : 0x20] [iEth35] [UP]
[ 8] [ 1 : 0 : 8 : 0x40] [iEth13] [UP] <========> [24] [ 0 : 0 : 4 : 0x20] [iEth03] [UP]
[ 8] [ 1 : 1 : 15 : 0x30] [iEth14] [UP] <========> [24] [ 1 : 0 : 4 : 0x20] [iEth35] [UP]
[ 8] [ 1 : 0 : 5 : 0x28] [iEth15] [UP] <========> [26] [ 0 : 0 : 4 : 0x20] [iEth03] [UP]
[ 8] [ 1 : 1 : 17 : 0x40] [iEth16] [UP] <========> [26] [ 1 : 0 : 4 : 0x20] [iEth35] [UP]
[ 8] [ 2 : 0 : 7 : 0x38] [iEth17] [UP] <========> [22] [ 0 : 5 : 35 : 0x28] [iEth32] [UP]
[ 8] [ 2 : 1 : 9 : 0x0] [iEth18] [UP] <========> [22] [ 1 : 4 : 24 : 0x0] [iEth53] [UP]
[ 8] [ 2 : 0 : 6 : 0x30] [iEth19] [UP] <========> [23] [ 0 : 5 : 35 : 0x28] [iEth32] [UP]
[ 8] [ 2 : 1 : 16 : 0x38] [iEth20] [UP] <========> [23] [ 1 : 4 : 24 : 0x0] [iEth53] [UP]
[ 8] [ 2 : 0 : 8 : 0x40] [iEth21] [UP] <========> [24] [ 0 : 5 : 35 : 0x28] [iEth32] [UP]
[ 8] [ 2 : 1 : 15 : 0x30] [iEth22] [UP] <========> [24] [ 1 : 4 : 24 : 0x0] [iEth53] [UP]
[ 8] [ 2 : 0 : 5 : 0x28] [iEth23] [UP] <========> [26] [ 0 : 5 : 35 : 0x28] [iEth32] [UP]
[ 8] [ 2 : 1 : 17 : 0x40] [iEth24] [UP] <========> [26] [ 1 : 4 : 24 : 0x0] [iEth53] [UP]
[ 8] [ 3 : 0 : 7 : 0x38] [iEth25] [UP] <========> [22] [ 0 : 5 : 34 : 0x20] [iEth31] [UP]
[ 8] [ 3 : 1 : 9 : 0x0] [iEth26] [UP] <========> [22] [ 1 : 4 : 25 : 0x8] [iEth54] [UP]
[ 8] [ 3 : 0 : 6 : 0x30] [iEth27] [UP] <========> [23] [ 0 : 5 : 34 : 0x20] [iEth31] [UP]
[ 8] [ 3 : 1 : 16 : 0x38] [iEth28] [UP] <========> [23] [ 1 : 4 : 25 : 0x8] [iEth54] [UP]
[ 8] [ 3 : 0 : 8 : 0x40] [iEth29] [UP] <========> [24] [ 0 : 5 : 34 : 0x20] [iEth31] [UP]
[ 8] [ 3 : 1 : 15 : 0x30] [iEth30] [UP] <========> [24] [ 1 : 4 : 25 : 0x8] [iEth54] [UP]
[ 8] [ 3 : 0 : 5 : 0x28] [iEth31] [UP] <========> [26] [ 0 : 5 : 34 : 0x20] [iEth31] [UP]
[ 8] [ 3 : 1 : 17 : 0x40] [iEth32] [UP] <========> [26] [ 1 : 4 : 25 : 0x8] [iEth54] [UP]
Su uno switch Nexus 9500 modulare, è possibile visualizzare gli errori CRC su uno o più collegamenti Eth in questi scenari:
Utilizzare il comando show system internal fabric connectivity stats module {x} per controllare il contatore CRC dei collegamenti interni corrispondenti. Di seguito è riportato un esempio di ciò, in cui il modulo fabric inserito nello slot 2 riceve pacchetti con un CRC non valido su Eth56 collegato a Eth26 della scheda di linea inserita nello slot 7 dello switch. Ciò indica che il modulo fabric riceve frame Ethernet danneggiati dalla scheda di linea inserita nello slot 7 dello switch.
Nexus9500# show system internal fabric connectivity stats module 22
Internal Link-info Stats Fabriccard slot:22
-------------------------------------------------------------------------------------
FM-Slot FM-Unit FM-iEthLink LC-Slot LC-Unit LC-EthLink MUX CRC
-------------------------------------------------------------------------------------
22 0 iEth09 1 0 iEth01 - 0
22 0 iEth06 1 1 iEth11 - 0
22 0 iEth25 1 2 iEth21 - 0
22 0 iEth26 1 3 iEth31 - 0
22 0 iEth10 2 0 iEth01 - 0
22 0 iEth05 2 1 iEth11 - 0
22 0 iEth23 2 2 iEth21 - 0
22 0 iEth24 2 3 iEth31 - 0
22 0 iEth12 3 0 iEth01 - 0
22 0 iEth11 3 1 iEth11 - 0
22 0 iEth21 3 2 iEth21 - 0
22 0 iEth22 3 3 iEth31 - 0
22 0 iEth14 4 0 iEth01 - 0
22 0 iEth13 4 1 iEth11 - 0
22 0 iEth07 4 2 iEth21 - 0
22 0 iEth08 4 3 iEth31 - 0
22 0 iEth16 5 0 iEth01 - 0
22 0 iEth15 5 1 iEth11 - 0
22 0 iEth01 5 2 iEth21 - 0
22 0 iEth04 5 3 iEth31 - 0
22 0 iEth20 6 0 iEth01 - 0
22 0 iEth17 6 1 iEth11 - 0
22 0 iEth28 6 2 iEth21 - 0
22 0 iEth27 6 3 iEth31 - 0
22 0 iEth19 7 0 iEth01 - 0
22 0 iEth02 7 1 iEth09 - 0
22 0 iEth30 7 2 iEth17 - 0
22 0 iEth29 7 3 iEth25 - 0
22 0 iEth18 8 0 iEth01 - 0
22 0 iEth03 8 1 iEth09 - 0
22 0 iEth32 8 2 iEth17 - 0
22 0 iEth31 8 3 iEth25 - 0
22 1 iEth41 1 0 iEth02 - 0
22 1 iEth38 1 1 iEth12 - 0
22 1 iEth59 1 2 iEth22 - 0
22 1 iEth60 1 3 iEth32 - 0
22 1 iEth42 2 0 iEth02 - 0
22 1 iEth37 2 1 iEth12 - 0
22 1 iEth62 2 2 iEth22 - 0
22 1 iEth61 2 3 iEth32 - 0
22 1 iEth44 3 0 iEth02 - 0
22 1 iEth43 3 1 iEth12 - 0
22 1 iEth64 3 2 iEth22 - 0
22 1 iEth63 3 3 iEth32 - 0
22 1 iEth46 4 0 iEth02 - 0
22 1 iEth45 4 1 iEth12 - 0
22 1 iEth39 4 2 iEth22 - 0
22 1 iEth40 4 3 iEth32 - 0
22 1 iEth48 5 0 iEth02 - 0
22 1 iEth47 5 1 iEth12 - 0
22 1 iEth36 5 2 iEth22 - 0
22 1 iEth33 5 3 iEth32 - 0
22 1 iEth52 6 0 iEth02 - 0
22 1 iEth49 6 1 iEth12 - 0
22 1 iEth57 6 2 iEth22 - 0
22 1 iEth58 6 3 iEth32 - 0
22 1 iEth34 7 0 iEth02 - 0
22 1 iEth51 7 1 iEth10 - 0
22 1 iEth55 7 2 iEth18 - 0
22 1 iEth56 7 3 iEth26 - 1665601166
22 1 iEth50 8 0 iEth02 - 0
22 1 iEth35 8 1 iEth10 - 0
22 1 iEth53 8 2 iEth18 - 0
22 1 iEth54 8 3 iEth26 - 0
Utilizzare il comando show hardware internal tah counters asic {y} dello slot {x} su una scheda di linea o un modulo di infrastruttura per determinare se gli errori CRC non sono validi o se i CRC sono troppo lunghi. I due contatori di registro che distinguono gli errori CRC non validi dagli errori CRC di tipo stomped sono:
Un esempio di ciò è mostrato qui, dove i frame danneggiati vengono ricevuti sul modulo fabric inserito nello slot 22 dello chassis attraverso il collegamento interno Eth54 collegato alla scheda di linea inserita nello slot 8 dello chassis vengono ricevuti con CRC a spirale:
Nexus9500# slot 22 show hardware internal tah counters asic 1
REG_NAME M24,0-100Gx4 M25,0-100Gx4
--------------------------------------------------------------------------------------------------------------------------
02-RX Frm with FCS Err .... ....
03-RX Frm with any Err .... 144912733e
16-RX Frm CRC Err(Stomp) .... 14491277d7
In alternativa, utilizzare il comando show hardware internal errors module {x} per visualizzare i contatori degli errori ASIC per un modulo specifico. Di seguito è riportato un esempio.
Nota: in questo output, il contatore degli errori di interfaccia in entrata (CRC,len,Algn Err) incrementa sia per i CRC non validi che per i CRC con stato Stomped, mentre il contatore degli incrementi degli errori CRC in entrata solo per i CRC con stato Stomped.
Nexus9500# show hardware internal errors module 22
|------------------------------------------------------------------------|
| Device:Lacrosse Role:MAC Mod:22 |
| Last cleared @ Tue Jul 6 04:10:45 2021
| Device Statistics Category :: ERROR
|------------------------------------------------------------------------|
Instance:0
ID Name Value Ports
-- ---- ----- -----
Instance:1
ID Name Value Ports
-- ---- ----- -----
196635 Interface Inbound Errors (CRC,len,Algn Err) 0000053053264536 27:0
1048603 Interface Inbound CRC Error Stomped 0000053053264535 27:0
Dopo aver identificato la scheda di linea in entrata dalla quale vengono ricevuti i frame danneggiati, utilizzare i comandi {x} show hardware internal tah counters asic {y} o show hardware internal errors module {x} in modo simile per identificare l'interfaccia in entrata su cui vengono ricevuti gli errori, nonché se gli errori vengono ricevuti come CRC non validi o CRC con riduzione delle prestazioni.
Uno scenario raro è quello in cui un modulo fabric o una scheda di linea in uscita visualizzano errori CRC su un collegamento Ethernet, ma la scheda di linea collegata non presenta segni di CRC in entrata. La causa principale di questo problema è in genere un guasto hardware del modulo fabric. Cisco consiglia di aprire una richiesta di assistenza in collaborazione con Cisco TAC per risolvere ulteriormente il problema e, se necessario, sostituire il modulo fabric.
In questa sezione del documento viene illustrata la procedura precedente con alcuni esempi.
In questo esempio viene illustrato come identificare gli errori CRC su un'interfaccia fisica come CRC con gestione continua.
Supponiamo di avere questa topologia:
Nell'esempio, vengono generati errori CRC intenzionalmente misurati sullo switch N9K-1 fino a pacchetti ICMP da 8000 byte di dimensioni jumbo provenienti dall'interfaccia SVI 10 (che possiede l'indirizzo IP 192.0.2.1) e destinati all'interfaccia SVI 10 di N9K-3 (che possiede l'indirizzo IP 192.0.2.3), la cui MTU è di 1500 byte. N9K-1, N9K-2 e N9K-3 sono tutti switch Nexus 93180YC-EX.
N9K-1# ping 192.0.2.3 count 5 packet-size 8000 PING 192.0.2.3 (192.0.2.3): 8000 data bytes Request 0 timed out Request 1 timed out Request 2 timed out Request 3 timed out Request 4 timed out Request 5 timed out --- 192.0.2.3 ping statistics --- 5 packets transmitted, 0 packets received, 100.00% packet loss
In questo esempio, gli errori CRC incrementali vengono osservati sull'interfaccia fisica Ethernet1/1 dello switch N9K-3.
N9K-3# show interface Ethernet1/1 <snip> Ethernet1/1 is up admin state is up, Dedicated Interface Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2bbe) MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 06:13:44 Last clearing of "show interface" counters 02:55:00 0 interface resets RX 9 unicast packets 10675 multicast packets 0 broadcast packets 10691 input packets 816924 bytes 7 jumbo packets 0 storm suppression bytes 0 runts 7 giants 7 CRC 0 no buffer 7 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause
Confermare l'aumento dei CRC sull'interfaccia fisica Ethernet1/1 generando pacchetti ICMP da 8000 byte di dimensioni jumbo provenienti dall'interfaccia SVI 10 di N9K-1 (proprietaria dell'indirizzo IP 192.0.2.1) e destinati all'interfaccia SVI 10 di N9K-3 (proprietaria dell'indirizzo IP 192.0.2.3).
N9K-1# ping 192.0.2.3 count 5 packet-size 8000 PING 192.0.2.3 (192.0.2.3): 8000 data bytes Request 0 timed out Request 1 timed out Request 2 timed out Request 3 timed out Request 4 timed out Request 5 timed out --- 192.0.2.3 ping statistics --- 5 packets transmitted, 0 packets received, 100.00% packet loss N9K-3# show interface Ethernet1/1 Ethernet1/1 is up admin state is up, Dedicated Interface Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2bbe) MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 06:52:57 Last clearing of "show interface" counters 03:34:13 0 interface resets RX 11 unicast packets 13066 multicast packets 0 broadcast packets 13089 input packets 1005576 bytes 12 jumbo packets 0 storm suppression bytes 0 runts 12 giants 12 CRC 0 no buffer 12 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause
Usare il comando show interface hardware-mappings sull'N9K-3 per mappare l'interfaccia fisica Ethernet1/1 al numero ASIC 0, al blocco MAC 4 e alla porta secondaria 0 del blocco MAC.
N9K-3# show interface hardware-mappings
<snip>
-------------------------------------------------------------------------------------------------------
Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID
-------------------------------------------------------------------------------------------------------
Eth1/1 1a000000 1 0 16 255 0 -1 0 16 32 4 0 1 0 32
Eth1/2 1a000200 1 0 17 255 4 -1 0 17 34 4 2 5 0 34
Eth1/3 1a000400 1 0 18 255 8 -1 0 18 36 4 4 9 0 36
Eth1/4 1a000600 1 0 19 255 12 -1 0 19 38 4 6 13 0 38
Eth1/5 1a000800 1 0 12 255 16 -1 0 12 24 3 0 17 0 24
In base alle informazioni del Passo 2, si conoscono i seguenti fatti:
Utilizzando queste informazioni, è possibile usare il comando slot 1 show hardware internal tah counters asic 0 per visualizzare i contatori di registro ASIC per tutte le interfacce fisiche. In particolare, si stanno cercando i contatori del registro ASIC associati a M4,0-10G.
N9K-3# slot 1 show hardware internal tah counters asic 0 <snip> *************** PER MAC/CH SRAM COUNTERS **************** REG_NAME M4,0-10G M4,2-10G M4,4-10G M4,6-10G M5,0-40Gx4 M6,0-40Gx4 M7,0-40Gx4 M8,0-10G ---------------------------------------------------------------------------------------------------------------------------------- 02-RX Frm with FCS Err .... .... .... .... .... .... .... .... 16-RX Frm CRC Err(Stomp) c .... .... .... .... .... .... ....
È possibile vedere un valore esadecimale diverso da zero di 0xc per il registro 16, che indica che i frame con un CRC ridotto sono stati ricevuti su questa interfaccia fisica. È possibile utilizzare il comando dec 0xc per convertire questo valore in un valore decimale di 12, che corrisponde al numero di errori CRC sull'interfaccia fisica Ethernet1/1.
N9K-3# dec 0xc
12
È stato confermato che N9K-3 sta ricevendo frame con un CRC a velocità ridotta sull'interfaccia fisica Ethernet1/1. Ciò significa che il dispositivo sul lato remoto del collegamento Ethernet1/1 (in questo caso, N9K-2) sta eseguendo lo staging del CRC di questi frame; la causa principale dei frame in formato non corretto non è il collegamento direttamente collegato a Ethernet1/1, ma un'ulteriore downstream. È possibile eseguire ulteriori procedure di risoluzione dei problemi sul dispositivo di rete downstream per determinare la sorgente di questi frame in formato non corretto.
In questo esempio viene mostrato come identificare l'aumento degli errori CRC su un'interfaccia fisica a causa di frame in formato non corretto causati da un problema di livello fisico su un collegamento connesso direttamente.
Supponiamo di avere questa topologia:
Nell'esempio, un generatore di traffico collegato all'interfaccia fisica Ethernet1/40 dello switch N9K-1 sta generando intenzionalmente dei frame con un CRC errato. In questo modo viene simulato un problema a livello fisico sul collegamento connesso a Ethernet1/40, ad esempio un ricetrasmettitore difettoso o un cavo danneggiato. N9K-1 riceve questi frame, riconosce che il CRC non è valido e incrementa il contatore di errori CRC sull'interfaccia fisica Ethernet1/40. N9K-1 è uno switch modello Nexus 93180YC-EX.
N9K-1# show interface Ethernet1/40 Ethernet1/40 is up admin state is up, Dedicated Interface Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2c02) MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 06:13:44 Last clearing of "show interface" counters 02:55:00 0 interface resets RX 1710 unicast packets 9873 multicast packets 0 broadcast packets 11583 input packets 886321 bytes 0 jumbo packets 0 storm suppression bytes 0 runts 0 giants 1683 CRC 0 no buffer 1683 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause
Verificare che i CRC siano in aumento sull'interfaccia fisica Ethernet1/40 di N9K-1 tramite i comandi show interface o show interface counters diversi da zero.
N9K-1# show interface Ethernet1/40 <snip> Ethernet1/40 is up admin state is up, Dedicated Interface Hardware: 100/1000/10000/25000 Ethernet, address: 00d7.8f86.2bbe (bia 00d7.8f86.2c02) MTU 1500 bytes, BW 10000000 Kbit, DLY 10 usec reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, medium is broadcast Port mode is trunk full-duplex, 10 Gb/s, media type is 10G Beacon is turned off Auto-Negotiation is turned on FEC mode is Auto Input flow-control is off, output flow-control is off Auto-mdix is turned off Rate mode is dedicated Switchport monitor is off EtherType is 0x8100 EEE (efficient-ethernet) : n/a admin fec state is auto, oper fec state is off Last link flapped 06:13:44 Last clearing of "show interface" counters 02:55:00 0 interface resets RX 14055 unicast packets 9873 multicast packets 0 broadcast packets 23928 input packets 1676401 bytes 0 jumbo packets 0 storm suppression bytes 0 runts 0 giants 14028 CRC 0 no buffer 14028 input error 0 short frame 0 overrun 0 underrun 0 ignored 0 watchdog 0 bad etype drop 0 bad proto drop 0 if down drop 0 input with dribble 0 input discard 0 Rx pause N9K-1# show interface counters errors non-zero <snip> -------------------------------------------------------------------------------- Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards -------------------------------------------------------------------------------- Eth1/40 26373 26373 0 26373 0 0
Usare il comando show interface hardware-mappings sull'interfaccia N9K-1 per mappare l'interfaccia fisica Ethernet1/40 al numero ASIC 0, blocco MAC 10, porta secondaria del blocco MAC 6.
N9K-1# show interface hardware-mappings <snip> --------------------------------------------------------------------------------------------- Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID --------------------------------------------------------------------------------------------- Eth1/38 1a004a00 1 0 45 255 148 -1 1 5 10 10 2 149 0 10 Eth1/39 1a004c00 1 0 46 255 152 -1 1 6 12 10 4 153 0 12 Eth1/40 1a004e00 1 0 47 255 156 -1 1 7 14 10 6 157 0 14 Eth1/41 1a005000 1 0 76 255 160 -1 1 36 64 17 0 161 0 64 Eth1/42 1a005200 1 0 77 255 164 -1 1 37 66 17 2 165 0 66
In base alle informazioni del Passo 2, si conoscono i seguenti fatti:
Utilizzando queste informazioni, è possibile usare il comando slot 1 show hardware internal tah counters asic 0 per visualizzare i contatori di registro ASIC per tutte le interfacce fisiche. In particolare, si stanno cercando i contatori del registro ASIC associati a M10,6-10G.
N9K-1# slot 1 show hardware internal tah counters asic 0 *************** PER MAC/CH SRAM COUNTERS **************** REG_NAME M8,2-10G M8,4-10G M8,6-10G M9,0-40Gx4 M10,0-10G M10,2-10G M10,4-10G M10,6-10G ------------------------------------------------------------------------------------------------------------------------------------- 02-RX Frm with FCS Err .... .... .... .... .... .... .... 973e 16-RX Frm CRC Err(Stomp) .... .... .... .... .... .... .... ....
È possibile vedere un valore esadecimale diverso da zero di 0x973e per il registro 2, che indica che sono stati ricevuti frame con un CRC non valido, ma non digitato su questa interfaccia fisica.
È possibile utilizzare il comando dec 0x973e per convertire questo valore in un valore decimale di 38.718, che corrisponde (o è inferiore, poiché i CRC aumentano costantemente) al numero di errori CRC sull'interfaccia fisica Ethernet1/40.
N9K-1# dec 0x973e
38718
È stato confermato che N9K-1 sta ricevendo frame con un CRC non valido ma non digitato sull'interfaccia fisica Ethernet1/40. Ciò significa che il collegamento collegato direttamente a Ethernet1/40 (o al dispositivo sull'estremità remota del collegamento) è la causa più probabile dei frame in formato non corretto. È possibile eseguire ulteriori operazioni di risoluzione dei problemi sul layer fisico di questo collegamento per isolare la root cause dei frame in formato non corretto (ad esempio, verificare la presenza di cavi danneggiati, sostituire i ricetrasmettitori correnti con ricetrasmettitori funzionanti e così via).
Nell'esempio viene mostrato come identificare l'origine degli errori CRC su un collegamento interno Ethernet quando un syslog che segnala errori su un'interfaccia interna è generato da uno switch Nexus serie 9500. Di seguito è riportato un esempio di questo syslog.
Nexus9500# show logging logfile
<snip>
2021 Jul 9 05:51:19 Nexus9500 %DEVICE_TEST-SLOT22-3-INTERNAL_PORT_MONITOR_CRC_ERRORS_DETECTED: Module 22 received tx errors on internal interface ii22/1/56 since last run TXErr=36836897 TotalTXErr=50781987904
Questo syslog indica che sono stati rilevati errori sul collegamento interno Ether56 del modulo fabric inserito nello slot 22 dello switch.
Utilizzare il comando show system internal fabric connectivity status module {x} per identificare la scheda di linea a cui si connette il collegamento interno Eth interessato. In questo esempio, Ether56 del modulo fabric inserito nello slot 22 dello switch contiene errori. Di seguito è riportato un esempio di ciò, in cui l'iEth56 del modulo fabric inserito nello slot 22 è collegato all'iEth26 della scheda di linea inserita nello slot 7 dello switch.
Nexus9500# show system internal fabric connectivity stats module 22 | include Eth56|FM-Slot
FM-Slot FM-Unit FM-iEthLink LC-Slot LC-Unit LC-EthLink MUX CRC
22 1 iEth56 7 3 iEth26 - 603816174
Utilizzare il comando show system internal fabric link-state module {x} per individuare l'istanza ASIC e l'identificatore MAC associati al collegamento interno Ether56 del modulo fabric. Di seguito è riportato un esempio di questa condizione, dove l'istanza ASIC è 1 e l'identificatore MAC è 27.
Nexus9500# show system internal fabric link-state module 22 | include MAC|iEth56
[FM] [ INST:SLI:MAC:GLSRC] [IETH] [ST] <========> [LC] [ INST:SLI:MAC:GLSRC] [IETH] [ST]
[22] [ 1 : 4 : 27 : 0x18] [iEth56] [UP] <========> [ 7] [ 3 : 1 : 9 : 0x0] [iEth26] [UP]
La fase precedente mostra che l'identificativo dell'istanza ASIC è 1 e l'identificativo MAC è 27 per Ether56 collegato al modulo fabric inserito nello slot 22. Utilizzare il comando show hardware internal tah counters asic {y} dello slot {x} per determinare se i CRC segnalati dal syslog sono CRC non validi o CRC con riduzione delle prestazioni. Di seguito è riportato un esempio di ciò, in cui la colonna M27,0-100Gx4 è associata all'identificatore MAC 27 e indica che i CRC sono invertiti.
Nexus9500# slot 22 show hardware internal tah counters asic 1
REG_NAME M27,0-100Gx4
-----------------------------------------
02-RX Frm with FCS Err ....
16-RX Frm CRC Err(Stomp) be9cb9bd6
In alternativa, usare il comando show hardware internal errors module {x} per ottenere le stesse informazioni. Di seguito è riportato un esempio.
Nexus9500# show hardware internal errors module 22 | include CRC|Stomp|Inst
Instance:1
196635 Interface Inbound Errors (CRC,len,Algn Err) 0000051587084851 27:0
1048603 Interface Inbound CRC Error Stomped 0000051587084850 27:0
In questo output, il contatore degli errori di interfaccia in entrata (CRC,len,Algn Err) aumenta sia per i CRC non validi che per i CRC con riduzione della velocità, mentre il contatore degli incrementi del contatore degli errori CRC in entrata solo per i CRC con riduzione della velocità.
È ora noto che i CRC che entrano nel modulo fabric inserito nello slot 22 dello switch entrano nello switch dalla scheda di linea inserita nello slot 7. Con queste informazioni, è possibile utilizzare il comando show interface counters errors module {x} diverso da zero per identificare i contatori CRC diversi da zero sulle interfacce appartenenti alla scheda di linea interessata. Di seguito è riportato un esempio.
Nexus9500# show interface counters errors module 7 non-zero
<snip>
--------------------------------------------------------------------------------
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards
--------------------------------------------------------------------------------
Eth7/32 0 0 0 1195309745 0 0
È possibile ripetere il passaggio n. 2 di questo scenario sulla scheda di linea appropriata per verificare se la scheda di linea riceve CRC non validi o CRC obsoleti.
Nexus9500# show hardware internal errors module 7 | include ignore-case CRC|Stomp|Inst
Instance:3
196619 Interface Inbound Errors (CRC,len,Algn Err) 0000051801011139 11:0
1048587 Interface Inbound CRC Error Stomped 0000051801011140 11:0
Usate il comando show interface hardware-mappings per identificare la porta del pannello anteriore a cui è mappato il valore MacId:MacSP di 11:0 nell'output precedente. Un esempio è rappresentato qui, dove 11:0 è mappato alla porta del pannello anteriore Eth7/32.
Nexus9500# show interface hardware-mappings | include Name|Eth7
<snip>
Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID
Eth7/1 1a300000 25 0 16 255 0 -1 0 16 32 4 0 1 0 32
Eth7/2 1a300200 25 0 12 255 4 -1 0 12 24 3 0 5 0 24
Eth7/3 1a300400 25 0 8 255 8 -1 0 8 16 2 0 9 0 16
Eth7/4 1a300600 25 0 4 255 12 -1 0 4 8 1 0 13 0 8
Eth7/5 1a300800 25 0 60 255 16 -1 1 20 40 14 0 17 0 40
Eth7/6 1a300a00 25 0 56 255 20 -1 1 16 32 13 0 21 0 32
Eth7/7 1a300c00 25 0 52 255 24 -1 1 12 24 12 0 25 0 24
Eth7/8 1a300e00 25 0 48 255 28 -1 1 8 16 11 0 29 0 16
Eth7/9 1a301000 26 1 12 255 32 -1 0 12 24 3 0 33 0 24
Eth7/10 1a301200 26 1 8 255 36 -1 0 8 16 2 0 37 0 16
Eth7/11 1a301400 26 1 4 255 40 -1 0 4 8 1 0 41 0 8
Eth7/12 1a301600 26 1 0 255 44 -1 0 0 0 0 0 45 0 0
Eth7/13 1a301800 26 1 60 255 48 -1 1 20 40 14 0 49 0 40
Eth7/14 1a301a00 26 1 56 255 52 -1 1 16 32 13 0 53 0 32
Eth7/15 1a301c00 26 1 52 255 56 -1 1 12 24 12 0 57 0 24
Eth7/16 1a301e00 26 1 48 255 60 -1 1 8 16 11 0 61 0 16
Eth7/17 1a302000 27 2 16 255 64 -1 0 16 32 4 0 65 0 32
Eth7/18 1a302200 27 2 12 255 68 -1 0 12 24 3 0 69 0 24
Eth7/19 1a302400 27 2 8 255 72 -1 0 8 16 2 0 73 0 16
Eth7/20 1a302600 27 2 4 255 76 -1 0 4 8 1 0 77 0 8
Eth7/21 1a302800 27 2 60 255 80 -1 1 20 40 14 0 81 0 40
Eth7/22 1a302a00 27 2 56 255 84 -1 1 16 32 13 0 85 0 32
Eth7/23 1a302c00 27 2 52 255 88 -1 1 12 24 12 0 89 0 24
Eth7/24 1a302e00 27 2 48 255 92 -1 1 8 16 11 0 93 0 16
Eth7/25 1a303000 28 3 12 255 96 -1 0 12 24 3 0 97 0 24
Eth7/26 1a303200 28 3 8 255 100 -1 0 8 16 2 0 101 0 16
Eth7/27 1a303400 28 3 4 255 104 -1 0 4 8 1 0 105 0 8
Eth7/28 1a303600 28 3 0 255 108 -1 0 0 0 0 0 109 0 0
Eth7/29 1a303800 28 3 60 255 112 -1 1 20 40 14 0 113 0 40
Eth7/30 1a303a00 28 3 56 255 116 -1 1 16 32 13 0 117 0 32
Eth7/31 1a303c00 28 3 52 255 120 -1 1 12 24 12 0 121 0 24
Eth7/32 1a303e00 28 3 48 255 124 -1 1 8 16 11 0 125 0 16
È stato confermato che il Nexus 9500 riceve frame con un CRC a gittata sull'interfaccia fisica Ethernet7/32. Ciò significa che il dispositivo sul lato remoto del collegamento Ethernet7/32 sta eseguendo lo staging del CRC di questi frame; la causa principale dei frame in formato non corretto non è il collegamento direttamente collegato a Ethernet7/32, ma un'ulteriore downstream. È possibile eseguire ulteriori procedure di risoluzione dei problemi sul dispositivo di rete downstream per determinare la sorgente di questi frame in formato non corretto.
Nell'esempio viene mostrato come tracciare l'origine dei frame con CRC non validi su uno switch Nexus 9500 quando uno switch a monte segnala che Nexus 9500 sta generando frame con CRC a stomping. In questo scenario, lo switch a monte è collegato tramite la porta Ethernet 8/9 del pannello anteriore.
È noto che l'interfaccia di invio dei frame con CRC assortiti verso lo switch a monte è Ethernet 8/9. Innanzitutto, è necessario determinare il modulo fabric che invia i frame con CRC a regime alla scheda di linea inserita nello slot 8 dello chassis. Per avviare questo processo, usare il comando show hardware internal errors module {x}. Di seguito è riportato un esempio.
Nexus9500# show hardware internal errors module 8 | i CRC|Inst
<snip>
Instance:1
196617 Interface Inbound Errors (CRC,len,Algn Err) 0000091499464650 9:0
1048585 Interface Inbound CRC Error Stomped 0000091499464651 9:0
MacID:MacSP 9:0 nell'output precedente può essere mappato al modulo fabric di origine con il comando show system internal fabric link-state module 8. Di seguito è riportato un esempio.
Nexus9500# show system internal fabric link-state module 8
cli : mod = 8
module number = 8
========================================================================================================================
Module number = 8
========================================================================================================================
[LC] [ INST:SLI:MAC:GLSRC] [IETH] [ST] <========> [FM] [ INST:SLI:MAC:GLSRC] [IETH] [ST]
========================================================================================================================
...
[ 8] [ 1 : 1 : 9 : 0x0] [iEth10] [UP] <========> [22] [ 1 : 0 : 4 : 0x20] [iEth35] [UP]
L'identificatore MAC 9 sulla scheda di linea inserita nello slot 8 è associato al modulo fabric inserito nello slot 22 dello chassis. Si prevedono errori CRC sul collegamento interno Eth10. È possibile convalidare questa condizione con il comando show system internal fabric connectivity stats module 8. Di seguito è riportato un esempio.
Nexus9500# show system internal fabric connectivity stats module 8
Internal Link-info Stats Linecard slot:8
-------------------------------------------------------------------------------------
LC-Slot LC-Unit LC-iEthLink MUX FM-Slot FM-Unit FM-iEthLink CRC
-------------------------------------------------------------------------------------
8 0 iEth01 - 22 0 iEth18 0
8 0 iEth02 - 22 1 iEth50 0
8 0 iEth03 - 23 0 iEth18 0
8 0 iEth04 - 23 1 iEth50 0
8 0 iEth05 - 24 0 iEth18 0
8 0 iEth06 - 24 1 iEth50 0
8 0 iEth07 - 26 0 iEth18 0
8 0 iEth08 - 26 1 iEth50 0
8 1 iEth09 - 22 0 iEth03 0
8 1 iEth10 - 22 1 iEth35 1784603561
Quindi, si utilizza lo stesso processo dello scenario 3 verificando i collegamenti interni Eth che ricevono i CRC, se i CRC vengono calpestati o meno in base all'ASIC del modulo fabric e quale scheda di linea è collegata al collegamento interno Eth del modulo fabric. Di seguito è riportato un esempio di questo problema utilizzando rispettivamente il comando show system internal fabric connectivity status module {x}, il comando show hardware internal errors module {x} e il comando show system internal fabric link-state module {x}.
Nexus9500# show system internal fabric connectivity stats module 22
Internal Link-info Stats Fabriccard slot:22
-------------------------------------------------------------------------------------
FM-Slot FM-Unit FM-iEthLink LC-Slot LC-Unit LC-EthLink MUX CRC
22 1 iEth56 7 3 iEth26 - 1171851894
Nexus9500# show hardware internal errors module 22 | i CRC|Stomp|Inst
Instance:1
196635 Interface Inbound Errors (CRC,len,Algn Err) 0000054593935847 27:0
1048603 Interface Inbound CRC Error Stomped 0000054593935846 27:0
Nexus9500# show system internal fabric link-state module 22 | i MAC|iEth56
[FM] [ INST:SLI:MAC:GLSRC] [IETH] [ST] <========> [LC] [ INST:SLI:MAC:GLSRC] [IETH] [ST]
[22] [ 1 : 4 : 27 : 0x18] [iEth56] [UP] <========> [ 7] [ 3 : 1 : 9 : 0x0] [iEth26] [UP]
Dopo aver determinato la scheda di linea in entrata (in questo scenario, la scheda di linea inserita nello slot 7 collegato da iEth26 a iEth56 del modulo fabric inserito nello slot 22), è possibile identificare quale porta di entrata i frame danneggiati entrano nello switch. A tale scopo, è possibile usare il comando show interface counters errors module {x} diverso da zero. L'output del comando show hardware internal errors module {x} e del comando show interface hardware-mappings può verificare se i frame ricevuti non sono validi o sono CRC di tipo stagnante.
Un esempio è mostrato qui, dove frame danneggiati entrano nello switch tramite l'interfaccia del pannello anteriore Ethernet7/32.
Nexus9500# show interface counters errors module 7 non-zero
<snip>
--------------------------------------------------------------------------------
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize OutDiscards
--------------------------------------------------------------------------------
Eth7/32 0 0 0 4128770335 0 0
--------------------------------------------------------------------------------
Port Stomped-CRC
--------------------------------------------------------------------------------
Eth7/32 4129998971
Nexus9500# show hardware internal errors module 7 | i i CRC|Stomp|Inst
<snip>
Instance:3
196619 Interface Inbound Errors (CRC,len,Algn Err) 0000054901402307 11:0
1048587 Interface Inbound CRC Error Stomped 0000054901402308 11:0
Nexus9500# show interface hardware-mappings | i Name|Eth7
<snip>
Name Ifindex Smod Unit HPort FPort NPort VPort Slice SPort SrcId MacId MacSP VIF Block BlkSrcID
...
Eth7/32 1a303e00 28 3 48 255 124 -1 1 8 16 11 0 125 0 16
È stato confermato che il Nexus 9500 riceve frame con un CRC a gittata sull'interfaccia fisica Ethernet7/32. Ciò significa che il dispositivo sul lato remoto del collegamento Ethernet7/32 sta eseguendo lo staging del CRC di questi frame; la causa principale dei frame in formato non corretto non è il collegamento direttamente collegato a Ethernet7/32, ma un'ulteriore downstream.
È possibile eseguire ulteriori procedure di risoluzione dei problemi sul dispositivo di rete downstream per determinare la sorgente di questi frame in formato non corretto.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
3.0 |
08-Nov-2023 |
Titolo aggiornato, introduzione, terminologia dei contenuti tecnici, SEO, requisiti di stile, traduzione automatica e formattazione. |
2.0 |
03-Oct-2021 |
Sezione Aggiornamento hardware applicabile per includere nuovo hardware. |
1.0 |
13-Nov-2020 |
Versione iniziale |