Este documento explica como ler a saída dos comandos show controller frfab queue e show controller tofab queue. Ele também oferece uma visão geral detalhada da arquitetura subjacente do Cisco 12000 Series Internet Router relacionada a essas filas especiais.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas em:
O Cisco 12000 Series Internet Router
Todas as versões do software Cisco IOS©
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.
Cada LC em um Roteador Interno da Série Cisco 12000 possui dois tipos de memória:
Memória de rota ou processador (RAM dinâmica - DRAM): Essa memória permite principalmente que o processador integrado execute o software Cisco IOS e armazene tabelas de roteamento de rede (Forwarding Information Base - FIB, adjacência).
Memória de pacote (RAM dinâmica síncrona - SDRAM): A memória do pacote da placa de linha armazena temporariamente os pacotes de dados aguardando decisões de switching a serem tomadas pelo processador da placa de linha.
Este documento concentra-se exclusivamente na Memória de Pacote, que é dividida em dois bancos: ToFab e FrFab (em direção à estrutura e da estrutura). A memória ToFab é utilizada para os pacotes que chegam em uma das interfaces do LC e se encaminham até a tela, enquanto que a memória FrFab é utilizada para os pacotes que saem de uma interface do LC, partindo da tela.
As filas Tofab e Frfab são os conceitos mais importantes a se entender para solucionar com eficiência problemas de pacotes ignorados no Cisco 12000 Series Internet Router. Consulte Troubleshooting de Pacotes Ignorados e Quedas Sem Memória no Cisco 12000 Series Internet Router para obter detalhes.
Observação: "ToFab" (em direção à estrutura) e "Rx" (recebido pelo roteador) são dois nomes diferentes para a mesma coisa, assim como "FrFab" (da estrutura) e "Tx" (transmitido pelo roteador). Por exemplo, ToFab Buffer Management ASIC (BMA) é também chamado de RxBMA. Este documento usa a convenção ToFab/FrFab, mas você pode ver a nomenclatura Rx/TX usada em qualquer outro lugar.
Acesso à memória de pacotes por meio do ASIC de Gerenciamento de Buffer (BMA). O BMA fornece armazenamento em buffer de pacotes e funções de gerenciamento de fila de buffer para a placa de ingresso. Todos os pacotes passam duas vezes pela BMA - uma vez entrando e uma vez saindo. Em outras palavras, os pacotes chegam a um Módulo de interface da camada física (PLIM), levam pouco tempo nos buffers SDRAM e são, em seguida, lidos nos buffers e entregues ao módulo ASIC de interface de tela (FIA). Aqui, eles estão segmentados em células Cisco e transmitidos para a tela do Switch. Em seguida, os pacotes são recebidos do Switch Fabric pelo Fabric Interaface ASIC na placa de linha de saída. Eles são remontados, vão para os buffers SDRAM, depois para o PLIM e, finalmente, são enviados pela rede.
O software Cisco IOS implementa um algoritmo de gravação de “buffer” que divide o SDRAM em buffers de vários tamanhos. O GRP e outras fontes fornecem instruções de gravação à placa de linha, que depois executa as instruções. Existem diferentes tipos de papel. Por exemplo, uma gravação simples cria um pool de buffers de mesmo tamanho, enquanto uma gravação complexa cria vários pools de tamanhos diferentes, com cada pool contendo buffers do mesmo tamanho.
Todos os buffers do mesmo tamanho estão associados em um conjunto. Um conjunto é sempre alocado para utilização de Comunicação Interprocesso (IPC). Cada QSRAM associado é atualizado com o primeiro e o último da fila, o tamanho dela, seu limiar de tamanho, os endereços de buffer associados no SDRAM e o próximo elemento da fila.
As seguintes condições seqüenciais disparam a gravação de buffer em uma placa de linha:
Carregador de inicialização sobre o barramento de manutenção (MBUS) - Simples chamada de gravação para gravar buffers que controlem o download de imagem do software Cisco IOS.
Imagem do software Cisco IOS em vigor - Chamada de gravação simples LC para ativar a comunicação entre processos (IPC) para que o GRP possa usar IPCs para dar aos LCs a especificação de gravação inicial. Todos os SDRAM disponíveis para gravação são regravados.
Quando o IPC estiver funcionando – Usando IPCs, o GRP pode chamar uma gravação LC complexa diversas vezes para regravar de forma dinâmica todo o SDRAM.
Uma configuração ou alteração manual da MTU (Maximum Transmission Unit) em uma interface faz com que a memória seja regravada. As filas FrFab são gravadas até o MTU máximo de todo o sistema, enquanto as filas ToFab são gravadas até o MTU máximo da placa de linha específica.
Observação: nós só regravamos se alterarmos o máximo de MTU para a placa de linha (filas ToFab) ou se alterarmos o máximo de MTU para todo o sistema (filas FrFab). Por exemplo, alterar o MTU de 1500 para 4470 não muda nada se já houver uma interface com MTU 4470 nessa placa de linha (filas ToFab) ou em todo o sistema (filas FrFab).
Veja o seguinte exemplo:
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
Você pode ver que há duas seções desde que a placa de linha está funcionando e que há quatro pools: 80, 608, 1568 e 4544.
Agora altere o MTU em uma interface que pertence a esta placa de linha:
Router(config)#interface pos1/0 Router(config-if)#mtu ? <64-18020> MTU size in bytes Router(config-if)#mtu 2000
Agora, conecte-se ao LC e verifique o que mudou:
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
Existem agora três seções e o tamanho máximo do buffer para a fila não IPC é 2048 bytes em vez de 4544.
As filas FrFab permanecem inalteradas:
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
O tamanho máximo do buffer é 9248 bytes. Agora, configure uma MTU de 10000 em uma outra interface em outra placa:
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
Existem agora quatro seções para as filas FrFab e o tamanho máximo do buffer foi alterado para 10064 bytes.
Observação: nas placas de linha de POS (Packet Over Sonet) configuradas com o encapsulamento PPP (Point-to-Point Protocol), a negociação da MRU (Maximum Receive Unit, Unidade máxima de recepção) ocorre, mas não ajusta o tamanho da MTU. Além disso, as conexões PPP não são redefinidas quando o MTU é alterado na interface.
Esta memória é gravada em diferentes conjuntos de buffers do pacote. Para ver como a memória de recepção é gravada, você pode se conectar a uma Placa de Linha e executar o comando show controller tofab queue, como demonstrado abaixo:
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#
A lista a seguir descreve alguns dos campos-chave encontrados no exemplo anterior:
Tamanho da SDRAM: 33554432 bytes, endereço: 30000000, base de gravação: 30029100 - O tamanho da memória do pacote de recepção e o local do endereço onde começa.
max buffer data size 9248 bytes, min buffer data size 80 bytes – Tamanhos máximo e mínimo do buffer.
40606/40606 buffers especificados/gravados - Buffers a serem gravados especificados pelo software Cisco IOS e o número de buffers realmente gravados.
filas livres não IPC - Os pools de buffer não IPC são os pools de buffer de pacotes. É alocado um buffer do pool de buffers para os pacotes que chegam à placa, dependendo do tamanho dos pacotes. É possível ter apenas três filas livres não IPC; se a placa for Ethernet, você não terá o pool 4k, mas apenas um pool de até 1,5k. Isto se deve ao fato de as filas ToFab serem gravadas até a Unidade Máxima de Transmissão (MTU) da placa de linha específica. A saída de exemplo mostra cinco pools de buffers de pacotes de tamanhos de 80, 608, 1568, 4544 e 9248 bytes. Para cada conjunto, são fornecidos detalhes adicionais abaixo:
20254/20254 (buffers especificados/gravados), 49,87%, tamanho dos dados de 80 bytes - 49.87% da memória de pacote recebida foram gravados nos buffers de 80 bytes 20254.
Qnum - O número da fila.
#Qelem - O número de buffers atribuídos àquela fila no momento. Se for uma fila livre, esses buffers estarão disponíveis para o sistema. Se essa for uma fila ToFab ou uma fila de transmissão, esses buffers não estarão disponíveis no sistema. Essa é a coluna para verificar e encontrar de qual fila foi feito backup.
Começo e fim - Um mecanismo de começo e fim é usado para garantir que as filas estejam se movimentando corretamente.
Fila IPC – Reservada para mensagens de comunicação entre processos, do LC para o GRP.
Fila Bruta – Quando um pacote de entrada é atribuído a um buffer de uma fila livre não-IPC, ele é colocado na fila bruta. A fila bruta é processada First In First Out (FIFO) pela CPU da LC durante as interrupções. Se você vir um número muito grande na coluna #Qelem da linha "Raw Queue", terá dois pacotes aguardando na CPU e eles começarão a ser ignorados, porque a CPU não pode acompanhar a carga. Mas isso é muito raro.
Fila ToFab - Filas de saída virtuais; um slot por destino mais um para tráfego de transmissão múltipla. A última parte do exemplo anterior mostra 15 filas de saída virtual. Este é um roteador 12012, originalmente projetado como um chassi de 15 slots; as filas 13 a 15 não são usadas.
Depois que a CPU da placa de ingresso toma uma decisão de comutação de pacotes, o pacote é enfileirado na fila de saída virtual correspondente ao slot para o qual o pacote é destinado. O número na quarta coluna é o número de pacotes atualmente enfileirados em uma fila de saída virtual.
Etapa 1 - Um pacote entra no módulo de interface da camada física (PLIM). Como o pacote é recebido e processado, ele recebe DMA (Acesso direto à memória) para uma pequena memória (aproximadamente o dobro do buffer da MTU - unidade de transmissão máxima) chamada memória de burst FIFO (primeiro a entrar, primeiro a sair). A quantidade desta memória depende do tipo de LC (de 128 KB a 1 MB).
Etapa 2 - Quando o pacote está completamente na memória FIFO, um circuito integrado específico de aplicativo (ASIC) no PLIM entra em contato com o BMA (Buffer Management ASIC) e pede um buffer para colocar o pacote. O BMA recebe a informação de qual o tamanho do pacote e aloca um buffer adequadamente. Se o BMA não puder obter um buffer do tamanho correto, o pacote será descartado e o contador "ignorado" será incrementado na interface de entrada. Não há mecanismo de recuo como em algumas outras plataformas.
Etapa 3 - Enquanto isso estiver acontecendo, o PLIM pode estar recebendo outro pacote na memória de intermitência FIFO, que é o motivo pelo qual ela está com duas vezes o tamanho do MTU. Se houver um buffer livre disponível na fila da direita, o pacote será armazenado pelo BMA na lista de filas livres do tamanho apropriado. Esse buffer é colocado na Fila bruta, que é examinada pelo Salsa ASIC ou pela CPU R5K, dependendo do tipo de mecanismo de comutação da placa de linha.
Passo 4 – No mecanismo 0 LC, a CPU R5K determina o destino do pacote, consultando as tabelas locais de Encaminhamento Distribuído do Cisco Express (dCEF) na DRAM. Em seguida, ela move o buffer da Fila bruta para uma fila ToFabric que corresponde ao slot de destino. Se o destino não estiver nas tabelas de dCEF, o pacote será descartado. Se o pacote for um pacote de controle (por exemplo, atualizações de roteamento), ele será enfileirado na fila do GRP e será processado pelo GRP. Em um roteador 12016, há 17 filas ToFab (16 unicast, mais um multicast).
Etapa 5 - ToFab BMA enfileira o buffer na fila ToFab apropriada. Neste ponto, o contador #Qelem do conjunto do qual veio o buffer diminui um (1) e o contador da fila ToFab aumenta um (1).
Observação: há uma fila ToFab por placa de linha (isso inclui o GRP). Essas filas são conhecidas como Filas de saída virtuais (VOQs). Eles são importantes para evitar o bloqueio de head-of-line.
Etapa 6 - O FIA (Fabric Interface ASIC, Interface de Estrutura) vê que uma fila de saída não está vazia. O FIA está configurado para segmentar o pacote em células de 48 bytes. Um cabeçalho de 8 bytes é adicionado ao pacote e a célula de 56 bytes da Cisco é enviada pela tela do Switch.
A memória de pacotes de transmissão armazena pacotes de surgem do Switch Fabric e aguardam a transmissão para a interface física. Essa memória é também gravada em pools de vários tamanhos.
A partir do GRP, é possível anexar a uma placa de linha e executar o comando show controller frfab queue para exibir a memória do pacote de transmissão. Além dos campos na saída ToFab, a saída FrFab exibe uma seção "Filas de interface". A saída varia com o tipo e o número de interfaces no LC de saída.
Uma dessas filas existe para cada interface na placa de linha. Os pacotes destinados a uma interface específica são colocados na fila da interface correspondente.
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
A lista a seguir descreve alguns dos campos-chave encontrados no exemplo anterior:
Filas livres não IPC: Essas filas são pools de buffers de pacotes de tamanhos diferentes. Quando um pacote é recebido na tela, um buffer de tamanho apropriado é tirado de uma dessas filas, o pacote é copiado para ele e o buffer é colocado na fila de interface de saída apropriada.
Observação: há tantos pools quanto necessário para todo o roteador. Como conseqüência, filas FrFab são formadas até a MTU máxima do sistema inteiro. Isso é diferente para as filas ToFab gravadas até o MTU máximo da placa de linha específica.
Fila de IPC: Reservado para mensagens de Comunicação entre Processos do GRP para o LC.
Filas de interface: Essas filas são para as interfaces, não para os números de slot. O último número (65535) é o limite de fila TX. Esse número controla o comprimento máximo de qualquer fila e pode ser ajustado pelo comando TX-queue limit na placa de linha Engine 0. Se você enfrentar algum congestionamento, esse comando poderá ser usado para impedir o LC de egresso de armazenar em buffer mais do que o número configurado de pacotes na fila da interface para essa porta específica. Certifique-se de que este número esteja configurado baixo o suficiente, de modo que não contenha todas as filas FwFab para esta interface. No entanto, esse ajuste não fornece um controle sobre os pacotes que são descartados no LC de saída. Consulte Troubleshooting de Pacotes Ignorados e Quedas Sem Memória no Cisco 12000 Series Internet Router para obter detalhes.
Neste ponto, as células Cisco foram transmitidas pela matriz de comutação pelo FIA.
Etapa 1 - Essas células Cisco são acessadas como DMA em FIFOs nos FIAs de FrFab e depois em um buffer no BMA de FrFab. O FrFab BMA é o que realmente faz a remontagem de células em um pacote.
Como o FrFab BMA reconhece em que buffer colocar as células antes de reagrupá-las? Esta é outra decisão tomada pelo mecanismo de switching da placa de linha recebida. Como todas as filas em toda a caixa têm o mesmo tamanho e na mesma ordem, o mecanismo de comutação instrui o LC transmissor a colocar o pacote na fila de número igual a partir da qual ele entrou no roteador.
As filas FrFab BMA SDRAM podem ser visualizadas com o comando show controller frfab queue no LC.
Etapa 2 Esta etapa é basicamente a mesma da saída ToFab BMA. Os pacotes chegam e são colocados em pacotes que são retirados de suas respectivas filas livres. Esses pacotes são colocados na fila FrFab e enfileirados na fila da interface (há uma fila por porta física) ou no rawQ para o processamento de saída. Pouca coisa acontece na cruzQ: replicação multicast por porta, Rodízio de Déficit Modificado (MDRR - Modified Deficit Round Robin) - mesma ideia do Enfileiramento Moderado Ponderado Distribuído (DWFQ - Distributed Weighted Fair Queuing) e Taxa de Acesso Consolidada de Saída (CAR - Committed Access Rate). Se a fila de transmissão estiver cheia, o pacote será descartado e o contador de queda de emissor será incrementado.
Etapa 3 - O FrFab BMA espera até que a parte TX do PLIM esteja pronta para enviar um pacote. O FrFab BMA faz a regravação real do Media Access Control (MAC) (lembre-se, com base nas informações contidas no cabeçalho de célula da Cisco) e o DMAS envia o pacote por meio de um pequeno (novamente, 2xMTU) buffer nos circuitos PLIM. O PLIM faz a SAR (Segmentação e remontagem) do ATM (Modo de transferência assíncrono) e o encapsulamento da SONET (Rede Ótica Síncrona), onde for adequado, e transmite o pacote.