In questo documento viene spiegato come leggere l'output dei comandi show controller frame queue e show controller to fab queue. Offre anche una panoramica dettagliata dell'architettura alla base di Cisco serie 12000 Internet Router relativa a queste code speciali.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Non sono previsti prerequisiti specifici per questo documento.
Le informazioni fornite in questo documento si basano su:
Cisco serie 12000 Internet Router
Tutte le versioni del software Cisco IOS©
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.
Ogni scheda di linea (LC) di un router Cisco serie 12000 Internet ha due tipi di memoria:
Memoria di routing o del processore (RAM dinamica - DRAM): Questa memoria consente principalmente al processore incorporato di eseguire il software Cisco IOS e memorizzare le tabelle di routing di rete (Forwarding Information Base - FIB, adiacenza).
Memoria pacchetto (RAM dinamica sincrona - SDRAM): La memoria dei pacchetti della scheda di linea memorizza temporaneamente i pacchetti di dati in attesa di decisioni di commutazione da parte del processore della scheda di linea.
Questo documento si concentra esclusivamente sulla memoria del pacchetto che è divisa in due banche: ToFab e FrFab (verso il fabric e dal fabric). La memoria ToFab viene utilizzata per i pacchetti provenienti da una delle interfacce del dispositivo LC e destinati al fabric, mentre la memoria FrFab viene utilizzata per i pacchetti che stanno uscendo da un'interfaccia del dispositivo LC dal fabric.
Le code Tofab e Frame sono i concetti più importanti da comprendere per risolvere in modo efficiente i problemi relativi ai pacchetti ignorati del router Internet Cisco serie 12000. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai pacchetti ignorati e all'assenza di perdite di memoria su Cisco serie 12000 Internet Router.
Nota: "ToFab" (verso il fabric) e "Rx" (ricevuto dal router) sono due nomi diversi per la stessa cosa, come "FrFab" (dal fabric) e "Tx" (trasmesso dal router). Ad esempio, il ToFab Buffer Management ASIC (BMA) è anche noto come RxBMA. In questo documento viene utilizzata la convenzione ToFab/FrFab, ma è possibile che la nomenclatura Rx/TX venga utilizzata anche in altri documenti.
L'accesso alla memoria del pacchetto viene eseguito tramite l'ASIC (BMA) di gestione dei buffer. Il BMA fornisce alla scheda di linea funzioni di buffering dei pacchetti e di gestione delle code buffer. Tutti i pacchetti passano due volte attraverso il BMA, una volta in entrata e una volta in uscita. In altre parole, i pacchetti arrivano su un modulo PLIM (Physical Layer Interface Module), passano un breve periodo di tempo nei buffer SDRAM e vengono quindi letti dai buffer e consegnati al modulo FIA (Fabric Interface ASIC). In questo caso, vengono segmentati in celle Cisco e trasmessi al fabric dello switch. I pacchetti vengono quindi ricevuti dal fabric dello switch dall'ASIC Fabric Interface sulla scheda di linea in uscita. Vengono riassemblati, vanno ai buffer SDRAM, poi al PLIM, e infine inviati sul cavo.
Il software Cisco IOS implementa un algoritmo per la suddivisione dei buffer che divide la SDRAM in buffer di varie dimensioni. Il GRP e altre fonti forniscono istruzioni di inserimento nella scheda di linea, che quindi esegue le istruzioni. Ci sono diversi tipi di sculture. Ad esempio, una semplice carve crea un pool di buffer delle stesse dimensioni, mentre una carve complessa crea più pool di dimensioni diverse, con ogni pool contenente buffer delle stesse dimensioni.
Tutti i buffer delle stesse dimensioni sono associati in un pool. Un pool viene sempre allocato per l'utilizzo di Inter-Process Communication (IPC). Ogni RAM statica della coda (QSRAM) associata viene aggiornata con l'inizio, la coda, la lunghezza, la soglia di lunghezza, gli indirizzi di buffer associati in SDRAM e l'elemento della coda successiva.
Le seguenti condizioni sequenziali attivano un'incisione tampone su una scheda di linea:
Bootload over the Maintenance BUS (MBUS) - Chiamata scavata semplice ai buffer scavati per il download dell'immagine software Cisco IOS.
Immagine software Cisco IOS in posizione - Chiamata semplice carve LC per abilitare la comunicazione tra processi (IPC) in modo che il GRP possa utilizzare gli IPC per fornire ai LC la specifica carve iniziale. Tutta la memoria SDRAM disponibile per l'intaglio viene scolpita.
Una volta che l'IPC è attivo - Utilizzando gli IPC, il GRP può chiamare più volte un'immagine complessa LC per ricalcare dinamicamente tutte le SDRAM.
Una configurazione manuale o una modifica dell'MTU (Maximum Transmission Unit) su un'interfaccia determina il ricalcolo della memoria. Le code FrFab vengono scolpite fino alla MTU massima dell'intero sistema, mentre le code ToFab vengono scolpite fino alla MTU massima della scheda di linea in questione.
Nota: il ricalcolo viene eseguito solo se si modifica l'MTU massima per la scheda di linea (code ToFab) o se si modifica l'MTU massima per l'intero sistema (code FrFab). Ad esempio, se si modifica l'MTU da 1500 a 4470, non si modificherà nulla se esiste già un'interfaccia con MTU 4470 sulla scheda di linea (code ToFab) o sull'intero sistema (code FrFab).
Osservate l'esempio seguente:
Router#attach 1 Entering Console for 1 Port Packet Over SONET OC-48c/STM-16 in Slot: 1 Type "exit" to end this session Press RETURN to get started! LC-Slot1>enable LC-Slot1#show controllers tofab queues Carve information for ToFab buffers SDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100 268332800 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAM pagesize, 2 carve(s) max buffer data size 4544 bytes, min buffer data size 80 bytes 262140/262140 buffers specified/carved 240637152/240637152 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 4 non-IPC free queues: 115254/115254 (buffers specified/carved), 43.96%, 80 byte data size 1 201 115454 115254 262143 81202/81202 (buffers specified/carved), 30.97%, 608 byte data size 2 115455 196656 81202 262143 41910/41910 (buffers specified/carved), 15.98%, 1568 byte data size 3 196657 238566 41910 262143 23574/23574 (buffers specified/carved), 8.99%, 4544 byte data size 4 238567 262140 23574 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 131 130 200 262143 Raw Queue: 31 0 0 0 65535 ToFab Queues: Dest Slot 0 0 0 0 262143 1 0 0 0 262143 2 0 0 0 262143 3 0 0 0 262143 4 0 0 0 262143 5 0 0 0 262143 6 0 0 0 262143 7 0 0 0 262143 8 0 0 0 262143 9 0 0 0 262143 10 0 0 0 262143 11 0 0 0 262143 12 0 0 0 262143 13 0 0 0 262143 14 0 0 0 262143 15 0 0 0 262143 Multicast 0 0 0 262143
Potete vedere che ci sono state due incisioni da quando questa scheda di linea è stata messa in funzione, e che ci sono quattro gruppi: 80, 608, 1568 e 4544.
Modificare l'MTU su un'interfaccia appartenente alla scheda di linea:
Router(config)#interface pos1/0 Router(config-if)#mtu ? <64-18020> MTU size in bytes Router(config-if)#mtu 2000
Collegarsi al LC e verificare le modifiche:
LC-Slot1#show control tofab queue Carve information for ToFab buffers SDRAM size: 268435456 bytes, address: 30000000, carve base: 30019100 268332800 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAM pagesize, 3 carve(s) max buffer data size 4112 bytes, min buffer data size 80 bytes 262142/262142 buffers specified/carved 247054400/247054400 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 4 non-IPC free queues: 91680/91680 (buffers specified/carved), 34.97%, 80 byte data size 1 202 201 91680 262143 65485/65485 (buffers specified/carved), 24.98%, 608 byte data size 2 91884 91883 65485 262143 49769/49769 (buffers specified/carved), 18.98%, 1568 byte data size 3 157366 207134 49769 262143 55008/55008 (buffers specified/carved), 20.98%, 2048 byte data size 4 207135 262142 55008 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 118 117 200 262143 Raw Queue: 31 206 205 0 65535 ToFab Queues: Dest Slot 0 0 0 0 262143 1 0 0 0 262143 2 0 0 0 262143 3 0 0 0 262143 4 0 0 0 262143 5 0 0 0 262143 6 0 0 0 262143 7 206 205 0 262143 8 0 0 0 262143 9 0 0 0 262143 10 0 0 0 262143 11 0 0 0 262143 12 0 0 0 262143 13 0 0 0 262143 14 0 0 0 262143 15 0 0 0 262143 Multicast 0 0 0 262143
A questo punto sono disponibili tre schede e la dimensione massima del buffer per la coda non IPC è di 2048 byte invece di 4544.
Le code di FrFab rimangono invariate:
LC-Slot1#show controllers frfab queues Carve information for FrFab buffers SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100 264646400 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAM pagesize, 3 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 251927/251927 buffers specified/carved 209883344/209883344 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 6 non-IPC free queues: 123349/123349 (buffers specified/carved), 48.96%, 80 byte data size 1 210 209 123349 262143 75519/75519 (buffers specified/carved), 29.97%, 608 byte data size 2 123552 123551 75519 262143 37759/37759 (buffers specified/carved), 14.98%, 1568 byte data size 3 199069 236827 37759 262143 2516/2516 (buffers specified/carved), 0.99%, 2048 byte data size 4 236828 239343 2516 262143 7551/7551 (buffers specified/carved), 2.99%, 4544 byte data size 5 239344 246894 7551 262143 5033/5033 (buffers specified/carved), 1.99%, 9248 byte data size 6 246895 251927 5033 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 52 51 200 262143 Multicast Raw Queue: 29 0 0 0 62981 Raw Queue: 31 52 51 0 251928 Interface Queues: 0 210 209 0 262143
La dimensione massima del buffer è di 9248 byte. Ora, configurare una MTU di 10000 su un'altra interfaccia su un'altra scheda:
Router(config-if)#interface pos5/0 Router(config-if)#mtu ? <64-18020> MTU size in bytes Router(config-if)#mtu 10000 LC-Slot1#show contr frfab queues Carve information for FrFab buffers SDRAM size: 268435456 bytes, address: 20000000, carve base: 2039D100 264646400 bytes carve size, 4 SDRAM bank(s), 16384 bytes SDRAM pagesize, 4 carve(s) max buffer data size 10064 bytes, min buffer data size 80 bytes 257309/257309 buffers specified/carved 213496016/213496016 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 128556/128556 (buffers specified/carved), 49.96%, 80 byte data size 1 204 203 128556 262143 77133/77133 (buffers specified/carved), 29.97%, 608 byte data size 2 128758 128757 77133 262143 38566/38566 (buffers specified/carved), 14.98%, 1568 byte data size 3 205890 244455 38566 262143 7713/7713 (buffers specified/carved), 2.99%, 4544 byte data size 4 244456 252168 7713 262143 5141/5141 (buffers specified/carved), 1.99%, 10064 byte data size 5 252169 257309 5141 262143 IPC Queue: 200/200 (buffers specified/carved), 0.7%, 4112 byte data size 30 24 23 200 262143 Multicast Raw Queue: 29 0 0 0 64327 Raw Queue: 31 24 23 0 257310 Interface Queues: 0 205 204 0 262143
A questo punto sono disponibili quattro immagini per le code FrFab e la dimensione massima del buffer è stata modificata a 10064 byte.
Nota: sulle schede di linea POS (Packet Over Sonet) configurate con incapsulamento PPP (Point-to-Point Protocol), viene eseguita la negoziazione MRU (Maximum Receive Unit), ma non vengono regolate le dimensioni dell'MTU. Inoltre, le connessioni PPP non vengono resettate quando si modifica l'MTU sull'interfaccia.
Questa memoria è suddivisa in pool diversi di buffer di pacchetti. Per verificare come viene scolpita la memoria di ricezione, è possibile collegarsi a una scheda di linea ed eseguire il comando show controller to fab queue, come mostrato di seguito:
Router#attach ? <0-15> slot number of linecard to connect <cr> Router#attach 1 Entering Console for 1 Port SONET based SRP OC-12c/STM-4 in Slot: 1 Type "exit" to end this session Press RETURN to get started! LC-Slot1>enable LC-Slot1# LC-Slot1#show controllers tofab queues Carve information for ToFab buffers SDRAM size: 33554432 bytes, address: 30000000, carve base: 30029100 33386240 bytes carve size, 4 SDRAM bank(s), 8192 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 40606/40606 buffers specified/carved 33249088/33249088 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 20254/20254 (buffers specified/carved), 49.87%, 80 byte data size 1 17297 17296 20254 65535 12152/12152 (buffers specified/carved), 29.92%, 608 byte data size 2 20548 20547 12152 65535 6076/6076 (buffers specified/carved), 14.96%, 1568 byte data size 3 32507 38582 6076 65535 1215/1215 (buffers specified/carved), 2.99%, 4544 byte data size 4 38583 39797 1215 65535 809/809 (buffers specified/carved), 1.99%, 9248 byte data size 5 39798 40606 809 65535 IPC Queue: 100/100 (buffers specified/carved), 0.24%, 4112 byte data size 30 72 71 100 65535 Raw Queue: 31 0 17302 0 65535 ToFab Queues: Dest Slot 0 0 0 0 65535 1 0 0 0 65535 2 0 0 0 65535 3 0 0 0 65535 4 0 0 0 65535 5 0 17282 0 65535 6 0 0 0 65535 7 0 75 0 65535 8 0 0 0 65535 9 0 0 0 65535 10 0 0 0 65535 11 0 0 0 65535 12 0 0 0 65535 13 0 0 0 65535 14 0 0 0 65535 15 0 0 0 65535 Multicast 0 0 0 65535 LC-Slot1#
Nell'elenco seguente vengono descritti alcuni dei campi chiave disponibili nell'esempio precedente:
Dimensioni SDRAM: 33554432 byte, indirizzo: 30000000, base di intaglio: 30029100 - Dimensioni della memoria del pacchetto di ricezione e indirizzo di inizio.
Dimensione massima dei dati del buffer 9248 byte, dimensione minima dei dati del buffer 80 byte - Dimensione massima e minima del buffer.
Buffer specificati/scolpiti 40606/40606: i buffer da scolpire sono specificati dal software Cisco IOS e il numero di buffer effettivamente scolpiti.
code libere non IPC: i pool di buffer non IPC sono pool di buffer di pacchetti. Ai pacchetti in arrivo nella scheda di linea viene allocato un buffer da uno di questi pool di buffer a seconda delle dimensioni del pacchetto. È possibile avere solo tre code libere non IPC; se la scheda è Ethernet, il pool non sarà 4k, ma solo un pool fino a 1,5k. Infatti, le code ToFab vengono scomposte fino alla MTU (Maximum Transmission Unit) della scheda di linea in questione. L'output di esempio mostra cinque pool di buffer di pacchetti di dimensioni 80, 608, 1568, 4544 e 9248 byte. Di seguito sono riportati ulteriori dettagli per ciascun pool:
20254/20254 (buffer specificati/scolpiti), 49,87%, dimensioni dei dati di 80 byte - il 49,87% della memoria del pacchetto di ricezione è stata scolpita in buffer 20254 da 80 byte.
Qnum - Numero della coda.
#Qelem - Numero di buffer attualmente assegnati alla coda. Se si tratta di una coda libera, questi buffer sono disponibili per il sistema. Se si tratta di una coda ToFab o di una coda di trasmissione, questi buffer non sono disponibili per il sistema. Colonna da controllare per individuare la coda di cui è stato eseguito il backup.
Testa e coda - Per garantire il corretto movimento delle code, viene utilizzato un meccanismo di testa e coda.
Coda IPC: riservata ai messaggi di comunicazione tra processi dal LC al GRP.
Coda non elaborata: quando a un pacchetto in ingresso è stato assegnato un buffer da una coda non libera IPC, il pacchetto viene accodato nella coda non elaborata. La coda raw è un FIFO (First In, First Out) elaborato dalla CPU LC durante gli interrupt. Se nella colonna #Qelem della riga "Raw Queue" viene visualizzato un numero molto grande, significa che la CPU ha troppi pacchetti in attesa e che inizieranno a essere ignorati perché la CPU non riesce a tenere il passo con il carico. Tuttavia, ciò è molto raro.
ToFab Queue - Code di output virtuali; uno per slot di destinazione più uno per traffico multicast. L'ultima parte dell'esempio precedente mostra 15 code di output virtuali. Questo è un router 12012, originariamente progettato come chassis a 15 slot; le code da 13 a 15 non vengono utilizzate.
Dopo che la CPU della scheda di linea in entrata ha preso una decisione di commutazione, il pacchetto viene accodato nella coda di output virtuale corrispondente allo slot a cui è destinato. Il numero nella quarta colonna è il numero di pacchetti attualmente accodati in una coda di output virtuale.
Fase 1 - Un pacchetto viene introdotto nel PLIM (Physical Layer Interface Module). Man mano che il pacchetto viene ricevuto ed elaborato, viene memorizzato da DMA (Direct Memory Access) in una piccola memoria (circa 2 x Maximum Transmission Unit (MTU) buffer) chiamata "First In, First Out (FIFO) burst memory". La quantità di questa memoria dipende dal tipo di LC (da 128 KB a 1 MB).
2. - Quando il pacchetto è completamente in memoria FIFO, un circuito integrato specifico dell'applicazione (ASIC) sul PLIM contatta il buffer Management ASIC (BMA) e chiede un buffer per inserire il pacchetto. Al BMA viene comunicato quali sono le dimensioni del pacchetto e alloca un buffer di conseguenza. Se il BMA non è in grado di ottenere un buffer della giusta dimensione, il pacchetto viene scartato e il contatore "ignorato" viene incrementato sull'interfaccia in arrivo. Non esiste alcun meccanismo di fallback come con altre piattaforme.
3. - In questo momento, il PLIM potrebbe ricevere un altro pacchetto nella memoria burst FIFO, e questo è il motivo per cui le dimensioni sono 2 xMTU. Se nella coda corretta è disponibile un buffer libero, il pacchetto viene archiviato dalla BMA nell'elenco delle code libere delle dimensioni appropriate. Questo buffer viene inserito nella coda raw, che viene esaminata dall'ASIC Salsa o dalla CPU R5K, a seconda del tipo di motore di commutazione della scheda di linea.
Passaggio 4 - Sulla scheda LCC 0 del motore, la CPU R5K determina la destinazione del pacchetto consultando le tabelle locali dCEF (Distributed Cisco Express Forwarding) nella DRAM. Il buffer viene quindi spostato dalla coda raw alla coda ToFabric corrispondente allo slot di destinazione. Se la destinazione non è nelle tabelle dCEF, il pacchetto viene scartato. Se il pacchetto è un pacchetto di controllo (ad esempio, aggiornamenti di routing), viene accodato alla coda del GRP e viene elaborato dal GRP. Su un router 12016, ci sono 17 code ToFab (16 unicast, più un multicast).
Passaggio 5 - Il BMA ToFab accoda il buffer nella coda ToFab corretta. A questo punto, il contatore #Qelem nel pool da cui proviene il buffer diminuisce di uno e il contatore della coda ToFab aumenta di uno.
Nota: esiste una coda ToFab per scheda di linea (incluso il GRP). Queste code sono note come VOQ (Virtual Output Queues). Queste funzionalità sono importanti per evitare il blocco dell'headof-line.
Passaggio 6 - L'ASIC (Fabric Interface) rileva che una coda di output non è vuota. La FIA è impostata per segmentare il pacchetto in celle da 48 byte. Al pacchetto viene aggiunta un'intestazione da 8 byte e la cella Cisco da 56 byte viene inviata all'interno della struttura dello switch.
La memoria di trasmissione memorizza i pacchetti provenienti dal fabric dello switch e in attesa di trasmissione all'interfaccia fisica. Questa memoria è anche scolpita in pool di varie dimensioni.
Dal GRP, è possibile collegarsi a una scheda di linea ed eseguire il comando show controller frame queue per visualizzare la memoria del pacchetto di trasmissione. Oltre ai campi nell'output ToFab, l'output FrFab visualizza la sezione "Code di interfaccia". L'output varia a seconda del tipo e del numero di interfacce sul LC in uscita.
Una coda di questo tipo esiste per ogni interfaccia della scheda di linea. I pacchetti destinati a un'interfaccia specifica vengono accodati nella coda di interfaccia corrispondente.
LC-Slot1#show controller frfab queue ========= Line Card (Slot 2) ======= Carve information for FrFab buffers SDRAM size: 16777216 bytes, address: 20000000, carve base: 2002D100 16592640 bytes carve size, 0 SDRAM bank(s), 0 bytes SDRAM pagesize, 2 carve(s) max buffer data size 9248 bytes, min buffer data size 80 bytes 20052/20052 buffers specified/carved 16581552/16581552 bytes sum buffer sizes specified/carved Qnum Head Tail #Qelem LenThresh ---- ---- ---- ------ --------- 5 non-IPC free queues: 9977/9977 (buffers specified/carved), 49.75%, 80 byte data size 1 101 10077 9977 65535 5986/5986 (buffers specified/carved), 29.85%, 608 byte data size 2 10078 16063 5986 65535 2993/2993 (buffers specified/carved), 14.92%, 1568 byte data size 3 16064 19056 2993 65535 598/598 (buffers specified/carved), 2.98%, 4544 byte data size 4 19057 19654 598 65535 398/398 (buffers specified/carved), 1.98%, 9248 byte data size 5 19655 20052 398 65535 IPC Queue: 100/100 (buffers specified/carved), 0.49%, 4112 byte data size 30 77 76 100 65535 Raw Queue: 31 0 82 0 65535 Interface Queues: 0 0 0 0 65535 1 0 0 0 65535 2 0 0 0 65535 3 0 0 0 65535
Nell'elenco seguente vengono descritti alcuni dei campi chiave disponibili nell'esempio precedente:
Code libere non IPC: Queste code sono pool di buffer di pacchetti di dimensioni diverse. Quando si riceve un pacchetto sulla struttura, da una di queste code viene prelevato un buffer di dimensioni appropriate, il pacchetto viene copiato e il buffer viene posizionato sulla coda dell'interfaccia di output appropriata.
Nota: sono disponibili tutti i pool necessari per l'intero router. Di conseguenza, le code di FrFab vengono scolpite fino alla MTU massima dell'intero sistema. Ciò è diverso per le code ToFab che vengono scolpite fino alla MTU massima della scheda di linea in questione.
Coda IPC: Riservato per i messaggi di comunicazione tra processi dal GRP al LC.
Code di interfaccia: Queste code sono dedicate alle interfacce, non ai numeri degli slot. L'ultimo numero (65535) è TX-queue-limit. Questo numero controlla la lunghezza massima di qualsiasi coda e può essere regolato dal comando TX-queue limit sulla scheda di linea Engine 0. In caso di congestione, questo comando può essere usato per impedire al LC in uscita di memorizzare nel buffer un numero di pacchetti superiore al numero configurato nella coda di interfaccia per la porta specifica. Assicurarsi di configurare questo numero in modo che non contenga tutte le code FrFab per questa interfaccia. Tuttavia, questa sintonizzazione non fornisce alcun controllo su quali pacchetti vengono scartati sul LC in uscita. Per ulteriori informazioni, vedere Risoluzione dei problemi relativi ai pacchetti ignorati e all'assenza di perdite di memoria su Cisco serie 12000 Internet Router.
A questo punto, le celle Cisco sono state trasmesse dalla FIA attraverso il fabric switch.
Passaggio 1 - Queste celle Cisco vengono sottoposte a DMA nei FIFO nelle FrFab FIA e quindi in un buffer sulla FrFab BMA. La FrFab BMA è quella che in realtà riassembla le celle in un pacchetto.
Come fa il FrFab BMA a sapere in quale buffer mettere le celle prima di ricomporle? Questa è un'altra decisione presa dal motore di commutazione della scheda di linea in ingresso. Poiché tutte le code sull'intera scatola hanno le stesse dimensioni e nello stesso ordine, il motore di commutazione indica al LC di trasmissione di inserire il pacchetto nella stessa coda numerica da cui è entrato nel router.
Le code FrFab BMA SDRAM possono essere visualizzate con il comando show controller frfab queue sul cavo LC.
Passaggio 2 - Questo passaggio è sostanzialmente lo stesso dell'output BMA ToFab. I pacchetti arrivano e vengono inseriti in pacchetti che vengono rimossi dalle rispettive code libere. Questi pacchetti vengono inseriti nella coda FrFab e accodati nella coda di interfaccia (esiste una coda per porta fisica) o nella coda rawQ per l'elaborazione dell'output. Non succede molto nel rawQ: Replica multicast per porta, MDRR (Modified Deficit Round Robin): stessa idea di DWFQ (Distributed Weighted Fair Queuing) e CAR (Committed Access Rate) di output. Se la coda di trasmissione è piena, il pacchetto viene scartato e il contatore di rilascio dell'output viene incrementato.
Passaggio 3 - La FrFab BMA attende finché la parte TX del PLIM non è pronta a inviare un pacchetto. La FrFab BMA esegue la riscrittura del Media Access Control (MAC) (in base alle informazioni contenute nell'intestazione della cella Cisco) e le DMA trasmettono il pacchetto a un piccolo buffer (di nuovo, 2xMTU) nel circuito PLIM. Il PLIM esegue la segmentazione ATM (Asynchronous Transfer Mode) e il riassemblaggio (SAR) e, se necessario, l'incapsulamento SONET (Synchronous Optical Network), e trasmette il pacchetto.