Contents

Introduction

Informações de Apoio

Terminology

Regiões TCAM ACL

Defaults

Alocação de TCAM do Nexus 9500 Series

Alocação de TCAM do Nexus 9300 Series

Configuração

Cenário de exemplo

Comandos de verificação

Erros e soluções

Diretrizes e limitações de design

Informações Relacionadas

Introduction

Este documento descreve como criar a memória ternária endereçável por conteúdo (TCAM) do Nexus 9000. Ele abrange os conceitos, a configuração e as mensagens de erro mais comuns e atuais.

Este documento não pretende ser uma lista exaustiva das muitas combinações de TCAM. A finalidade deste documento é ajudar os usuários a entender como a alocação de TCAM funciona para que possam determinar configurações válidas que atendam às suas necessidades.

Informações de Apoio

Para usar um recurso não padrão para os switches Nexus 9000 Series, é necessário criar manualmente espaço TCAM para os recursos. Por padrão, todo o espaço TCAM é alocado.

Terminology

- Largura de recurso - Há recursos de largura única e largura dupla.  Um recurso de largura única requer no mínimo uma fatia.  Um recurso de largura dupla requer, no mínimo, duas fatias.

Para recursos de largura única e dupla, o tamanho total, se maior que 256, deve ser um múltiplo de 512. Uma fatia pode ser alocada para apenas uma região.

Por exemplo, você não pode usar uma fatia de 512 tamanhos para configurar dois recursos de tamanho 256 cada, nem pode usar uma fatia de 512 tamanhos para configurar um único recurso de largura dupla.

- Fatia - Uma unidade de alocação de memória. As fatias podem ter o tamanho 256 ou 512, medido em bytes.

- TCAM - Ternary Content Addressable Memory (Memória endereçável de conteúdo ternário).  Esse é o espaço no hardware onde as listas de acesso (ACLs) são armazenadas.  Esta é uma parte especializada da memória que armazena dados tabulares complexos e suporta pesquisas paralelas muito rápidas.

Regiões TCAM ACL

Você pode alterar o tamanho das regiões TCAM da ACL no hardware. O tamanho da TCAM de saída é 1K, dividido em quatro 256 entradas. O tamanho da TCAM de entrada é 4K, dividido em oito 256 fatias e quatro 512 fatias.

As regiões TCAM IPv4 são single wide. As regiões de IPv6, qualidade de serviço (QoS), MAC, política de plano de controle (CoPP) e TCAM do sistema têm largura dupla e consomem o dobro das entradas de TCAM físicas.

Por exemplo, um tamanho de região lógica de 256 entradas realmente consome 512 entradas TCAM físicas.

Você pode criar IPv6, ACLs de porta (PACLs), ACLs de VLAN (VACLs) e ACLs de roteador (RACLs) e pode combinar endereços IPv6 e MAC para QoS. No entanto, o Cisco NX-OS não pode oferecer suporte a todos eles simultaneamente.

Você deve remover ou reduzir o tamanho das regiões TCAM atuais para habilitar as regiões TCAM IPv6 e MAC. Para cada comando de configuração de região TCAM, o sistema avalia se a nova alteração pode caber na TCAM.

Caso contrário, ele relata um erro e o comando é rejeitado. Você deve remover ou reduzir o tamanho das regiões TCAM atuais para liberar espaço para novos requisitos.

Os tamanhos da região TCAM da ACL têm estas diretrizes e limitações:

- Nos switches Cisco Nexus 9500 Series, a configuração da região TCAM de entrada padrão tem uma fatia de 256 entradas livre no Cisco NX-OS versão 6.1(2)I1(1).

Essa fatia é alocada para a região do analisador de porta do switch (SPAN) no Cisco NX-OS versão 6.1(2)I2(1). Da mesma forma, a região de RACL é reduzida de 2K para 1.5K no Cisco NX-OS versão 6.1(2)I2(1) para dar espaço para a região de convergência de canal de porta virtual (vPC) com 512 entradas.

- Nos switches Cisco Nexus 9300 Series, a placa de linha de leaf da ACI (Application Centric Infrastructure, Infraestrutura Centrada em Aplicações) é usada para aplicar as políticas de classificação de QoS aplicadas às portas de 40G. Ele tem 768 entradas TCAM disponíveis para gravação em granularidade de 256 entradas. Esses nomes de região são prefixados com "ns-".

- Para a placa de linha de leaf da ACI nos switches Cisco Nexus 9300 Series, somente as regiões TCAM IPv6 consomem entradas double-wide. O restante das regiões TCAM consome entradas single-wide.

- Quando uma região VACL é configurada, ela é configurada com o mesmo tamanho nas direções de entrada e saída. Se o tamanho da região não se ajustar em nenhuma direção, a configuração será rejeitada.

Defaults

Os switches Nexus 9300 e 9500 Series têm quatro fatias de 512 bytes e oito fatias de 256 bytes.  Por padrão, todas as fatias e todo o espaço são usados, embora a alocação padrão seja diferente entre as séries Nexus 9300 e 9500.

Note: O Nexus 9332PQ usa a mesma alocação padrão do Nexus 9500.

Alocação de TCAM do Nexus 9500 Series

Os switches Nexus 9500 Series têm esta alocação de TCAM por padrão:

Nexus9500# show system internal access-list globals

slot  1

=======

Atomic Update : ENABLED

Default ACL   : DENY

Bank Chaining : DISABLED

Fabric path DNL : DISABLED

NS Buffer Profile: Mesh optimized

Min Buffer Profile: all

EOQ Class Stats: qos-group-0

NS MCQ3 Alias: qos-group-3

Ing PG Share: ENABLED

LOU Threshold Value : 5

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

INSTANCE 0 TCAM Region Information:

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

Ingress:

----------

Region            GID     Base     Size     Width

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

IPV4 PACL [ifacl]      3        0        0        1

IPV6 PACL [ipv6-ifacl]      4        0        0        2

MAC PACL [mac-ifacl]      5        0        0        2

IPV4 Port QoS [qos]      6        0        0        2

IPV6 Port QoS [ipv6-qos]      7        0        0        2

MAC Port QoS [mac-qos]      8        0        0        2

FEX IPV4 PACL [fex-ifacl]      9        0        0        1

FEX IPV6 PACL [fex-ipv6-ifacl]     10        0        0        2

FEX MAC PACL [fex-mac-ifacl]     11        0        0        2

FEX IPV4 Port QoS [fex-qos]     12        0        0        2

FEX IPV6 Port QoS [fex-ipv6-qos]     13        0        0        2

FEX MAC Port QoS [fex-mac-qos]     14        0        0        2

IPV4 VACL [vacl]     15        0        0        1

IPV6 VACL [ipv6-vacl]     16        0        0        2

MAC VACL [mac-vacl]     17        0        0        2

IPV4 VLAN QoS [vqos]     18        0        0        2

IPV6 VLAN QoS [ipv6-vqos]     19        0        0        2

MAC VLAN QoS [mac-vqos]     20        0        0        2

IPV4 RACL [racl]     21        0     1536        1

IPV6 RACL [ipv6-racl]     22        0        0        2

IPV4 Port QoS Lite [qos-lite]     61        0        0        1

FEX IPV4 Port QoS Lite [fex-qos-lite]     62        0        0        1

IPV4 VLAN QoS Lite [vqos-lite]     63        0        0        1

IPV4 L3 QoS Lite [l3qos-lite]     64        0        0        1

IPV4 L3 QoS [l3qos]     37     3072      256        2

IPV6 L3 QoS [ipv6-l3qos]     38        0        0        2

MAC L3 QoS [mac-l3qos]     39        0        0        2

Ingress System      1     2048      256        2

SPAN [span]      2     4096      256        1

Ingress COPP [copp]     40     2560      256        2

Ingress Flow Counters [flow]     43        0        0        1

Ingress SVI Counters [svi]     45        0        0        1

Redirect [redirect]     46     3840      256        1

NS IPV4 Port QoS [ns-qos]     47        0        0        1

NS IPV6 Port QoS [ns-ipv6-qos]     48        0        0        2

NS MAC Port QoS [ns-mac-qos]     49        0        0        1

NS IPV4 VLAN QoS [ns-vqos]     50        0        0        1

NS IPV6 VLAN QoS [ns-ipv6-vqos]     51        0        0        2

NS MAC VLAN QoS [ns-mac-vqos]     52        0        0        1

NS IPV4 L3 QoS [ns-l3qos]     53        0        0        1

NS IPV6 L3 QoS [ns-ipv6-l3qos]     54        0        0        2

NS MAC L3 QoS [ns-mac-l3qos]     55        0        0        1

VPC Convergence [vpc-convergence]     57     1536      512        1

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

* - allocated 512 entry slice due to unavailability of 256 entry slices

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

Total: 4096

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

Egress

----------

Region            GID     Base     Size     Width

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

Egress IPV4 VACL [vacl]     31        0        0        1

Egress IPV6 VACL [ipv6-vacl]     32        0        0        2

Egress MAC VACL [mac-vacl]     33        0        0        2

Egress IPV4 RACL [e-racl]     34     4352      768        1

Egress IPV6 RACL [e-ipv6-racl]     35        0        0        2

Egress System     24     3584      256        1

Egress Flow Counters [e-flow]     44        0        0        1

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

Total: 1024

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

A alocação da fatia é a seguinte para entrada:

Fatia 1 (512):    RACL

Fatia 2 (512):    RACL

Fatia 3 (512):    RACL

Fatia 4 (512):    Convergência de VPC

Fatia 5 (256):    QOS da camada 3

Fatia 6 (256):    QOS da camada 3

Fatia 7 (256):    SPAN

Fatia 8 (256):    REDIRECIONAR

Fatia 9 (256):    CoPP de entrada

Fatia 10 (256):  CoPP de entrada

Fatia 11 (256):  Sistema de entrada

Fatia 12 (256):  Sistema de entrada

Utilização de ingresso conceitualizada:

Alocação de TCAM do Nexus 9300 Series

Os switches Nexus 9300 Series têm esta alocação de TCAM por padrão:

Nexus9300# show system internal access-list globals

slot  1

=======

Atomic Update : ENABLED

Default ACL   : DENY

Bank Chaining : DISABLED

Fabric path DNL : DISABLED

NS Buffer Profile: Burst optimized

Min Buffer Profile: all

EOQ Class Stats: qos-group-0

NS MCQ3 Alias: qos-group-3

Ing PG Share: ENABLED

LOU Threshold Value : 5

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

INSTANCE 0 TCAM Region Information:

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

Ingress:

----------

Region                      GID     Base     Size     Width

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

IPV4 PACL [ifacl](   1)       3        0      512        1

IPV6 PACL [ipv6-ifacl](   2)       4        0        0        2

MAC PACL [mac-ifacl](   3)       5        0        0        2

IPV4 Port QoS [qos](   4)       6     3072      256        2

IPV6 Port QoS [ipv6-qos](   5)       7        0        0        2

MAC Port QoS [mac-qos](   6)       8        0        0        2

FEX IPV4 PACL [fex-ifacl](   7)       9        0        0        1

FEX IPV6 PACL [fex-ipv6-ifacl](   8)      10        0        0        2

FEX MAC PACL [fex-mac-ifacl](   9)      11        0        0        2

FEX IPV4 Port QoS [fex-qos](  10)      12        0        0        2

FEX IPV6 Port QoS [fex-ipv6-qos](  11)      13        0        0        2

FEX MAC Port QoS [fex-mac-qos](  12)      14        0        0        2

IPV4 VACL [vacl](  13)      15      512      512        1

IPV6 VACL [ipv6-vacl](  14)      16        0        0        2

MAC VACL [mac-vacl](  15)      17        0        0        2

IPV4 VLAN QoS [vqos](  16)      18        0        0        2

IPV6 VLAN QoS [ipv6-vqos](  17)      19        0        0        2

MAC VLAN QoS [mac-vqos](  18)      20        0        0        2

IPV4 RACL [racl](  19)      21     1024      512        1

IPV6 RACL [ipv6-racl](  20)      22        0        0        2

IPV4 Port QoS Lite [qos-lite](  21)      63        0        0        1

FEX IPV4 Port QoS Lite [fex-qos-lite](  22)      64        0        0        1

IPV4 VLAN QoS Lite [vqos-lite](  23)      65        0        0        1

IPV4 L3 QoS Lite [l3qos-lite](  24)      66        0        0        1

IPV4 L3 QoS [l3qos](  34)      37        0        0        2

IPV6 L3 QoS [ipv6-l3qos](  35)      38        0        0        2

MAC L3 QoS [mac-l3qos](  36)      39        0        0        2

Ingress System(  37)       1     2048      256        2

SPAN [span](  39)       2     3584      256        1

Ingress COPP [copp](  40)      40     2560      256        2

Ingress Flow Counters [flow](  41)      43        0        0        1

Ingress SVI Counters [svi](  43)      45        0        0        1

Redirect [redirect](  44)      46     1536      512        1

NS IPV4 Port QoS [ns-qos](  45)      47        0        0        1

NS IPV6 Port QoS [ns-ipv6-qos](  46)      48        0        0        2

NS MAC Port QoS [ns-mac-qos](  47)      49        0        0        1

NS IPV4 VLAN QoS [ns-vqos](  48)      50        0        0        1

NS IPV6 VLAN QoS [ns-ipv6-vqos](  49)      51        0        0        2

NS MAC VLAN QoS [ns-mac-vqos](  50)      52        0        0        1

NS IPV4 L3 QoS [ns-l3qos](  51)      53        0        0        1

NS IPV6 L3 QoS [ns-ipv6-l3qos](  52)      54        0        0        2

NS MAC L3 QoS [ns-mac-l3qos](  53)      55        0        0        1

VPC Convergence [vpc-convergence](  54)      57     4096      256        1

IPSG SMAC-IP bind table [ipsg](  55)      59        0        0        1

Ingress ARP-Ether ACL [arp-ether](  56)      62        0        0        1

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

* - allocated 512 entry slice due to unavailability of 256 entry slices

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

Total: 4096

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

Egress

----------

Region                  GID     Base     Size     Width

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

Egress IPV4 QoS [e-qos](  25)      28        0        0        2

Egress IPV6 QoS [e-ipv6-qos](  26)      29        0        0        2

Egress MAC QoS [e-mac-qos](  27)      30        0        0        2

Egress IPV4 VACL [vacl](  28)      31     4352      512        1

Egress IPV6 VACL [ipv6-vacl](  29)      32        0        0        2

Egress MAC VACL [mac-vacl](  30)      33        0        0        2

Egress IPV4 RACL [e-racl](  31)      34     4864      256        1

Egress IPV6 RACL [e-ipv6-racl](  32)      35        0        0        2

Egress IPV4 QoS Lite [e-qos-lite](  33)      36        0        0        1

Egress System(  38)      24     3840      256        1

Egress Flow Counters [e-flow](  42)      44        0        0        1

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

Total: 1024

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

Fatia 1 (512):    PACL IPv4

Fatia 2 (512):    VACL

Fatia 3 (512):    RACL

Fatia 4 (512):    Redirecionar

Fatia 5 (256):    QOS de porta

Fatia 6 (256):    QOS de porta

Fatia 7 (256):    SPAN

Fatia 8 (256):    Convergência de VPC

Fatia 9 (256):    CoPP de entrada

Fatia 10 (256):  CoPP de entrada

Fatia 11 (256):  Sistema de entrada

Fatia 12 (256):  Sistema de entrada

Utilização de ingresso conceitualizada:

Configuração

Para reconfigurar uma região TCAM, use o comando hardware access-list tcam region

no terminal de configuração. Depois de alterar as regiões para os tamanhos pretendidos, você deve recarregar o dispositivo.

Cenário de exemplo

Você tem um Nexus 9300 e deseja alocar o espaço de TCAM para melhor atender às suas necessidades. Você precisa liberar 512 bytes de TCAM. Isso permite que você adicione mais ao PACL IPv4.

No entanto, você decide que não precisa de 512 VACL ou 512 RACL, mas precisa de alguns dos dois, então você decide desalocar 256 bytes de VACL e RACL. Isso libera espaço de até 512, como mostram estes comandos:

Nexus9300(config)# hardware access-list tcam region vacl 256

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region racl 256

Warning: Please save config and reload the system for the configuration to take effect

Com 512 bytes livres, você tenta alocar 512 adicionais para o PACL IPv4, mas veja esta saída:

Nexus9300(config)# hardware access-list tcam region ifacl 1024

ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.

Please re-configure.

Embora 512 bytes tenham sido liberados, tanto o espaço VACL quanto o RACL, dos quais 256 foram retirados, tinham tamanho de 512 blocos.  Como tal, os comandos anteriores não alocaram espaço, mas não desalocaram nenhuma fatia.  Para aumentar o tamanho do PACL IPv4 para 1024, você precisa pegar 512 bytes de um único recurso que libera uma fatia e espaço:

Nexus9300(config)# hardware access-list tcam region vacl 512

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region racl 0

Warning: Please save config and reload the system for the configuration to take effect

Nexus9300(config)# hardware access-list tcam region ifacl 1024

Warning: Please save config and reload the system for the configuration to take effect

Comandos de verificação

- show hardware access-list tcam region - Verifica a configuração atual do software

- show system internal access-list globals - Verifica a configuração de hardware atual

- show system internal access-list input entries detail - Mostra as ACLs específicas configuradas para cada instância

- show hardware access-list resource utilization - Mostra a utilização atual de cada região TCAM configurada

- show hardware access-list resource entries - Mostra o número de entradas ACL configuradas para cada instância

Erros e soluções

Estes são os erros comuns vistos em uma configuração de TCAM:

ERROR: Aggregate TCAM region configuration exceeded the available

Ingress TCAM slices. Please re-configure.

Esse erro ocorre quando você tenta configurar uma quantidade válida de espaço TCAM com relação ao limite de 4k, mas sua alocação consome mais fatias do que as disponíveis.

A única solução para este erro é revisitar você pretende esculpir o design TCAM a fim de liberar fatias.

Esse erro é mais comum quando você tenta configurar um novo recurso de largura dupla, pois eles exigem pelo menos duas fatias de 256 ou 512.

ERROR: Aggregate TCAM region configuration exceeded the available

Ingress TCAM space. Please re-configure.

Assim como no erro de fatia, a única solução é reconfigurar. Essa mensagem de erro só é vista quando todas as fatias de TCAM já foram alocadas e você tenta alocar mais espaço.

ERROR: TCAM regions with size more than 256, ... have size

in multiple of 512 entries

Devido a limitações de hardware, tamanhos de TCAM maiores que 256 não podem ser combinados de forma que combine um número ímpar de 256 blocos com um bloco 512. Por esse motivo, quando você configura uma região TCAM maior que 512, os únicos tamanhos válidos são múltiplos de 512.

Diretrizes e limitações de design

O espaço de TCAM é limitado. A escolha do que é melhor para você depende inteiramente do caso de uso específico. Por padrão, todo o espaço TCAM já está alocado, portanto, você precisa decidir onde deseja alocar o espaço TCAM para alocar em outro lugar.

- No caso de ingresso, quatro das oito fatias de tamanho 256 disponíveis não podem ser desalocadas (usadas pelo CoPP e pelo sistema de ingresso).

- Uma fatia de 256 é usada pelo SPAN. Se você pegar emprestado, ele removerá a capacidade de usar os recursos SPAN e Packet-Tracer completamente (não recomendado para remoção para fins de solução de problemas).

- Uma fatia de tamanho 256 ou 512 é usada para vPC nas plataformas Nexus 9300 e 9500, respectivamente. Uma realocação elimina a capacidade de usar vPC

- Uma fatia de tamanho 512 ou 256 é usada para redirecionamento nas plataformas Nexus 9300 e 9500, respectivamente. Se você tomar emprestado, isso remove a capacidade de usar DHCPv4, DHCPv6 ou BFD.

- Se as atualizações atômicas estiverem ativadas e você estiver acima de 50% de utilização de um recurso TCAM, não será possível remover uma linha de nenhuma ACL devido à falta de espaço.

- Por padrão, a política de QoS aplicada em várias interfaces não compartilha o rótulo, pois as estatísticas são habilitadas por padrão. Para compartilhar o rótulo da mesma política de QoS aplicada em várias interfaces, você deve configurar a política de QoS com a opção no-stats, como mostra este exemplo:
(config-if)# service-policy type qos input my-policy no-stats

- Sempre que possível, use a versão básica dos recursos. Com as versões básicas, o switch usa metade do espaço TCAM para esse recurso. Isso faz com que um recurso de largura dupla seja de largura única.

O custo é que o recurso não acompanha as estatísticas de vigilante violadas; ele só controla as estatísticas de vigilante em conformidade. Essa é geralmente a melhor opção, pois economiza espaço na TCAM.

- Os usuários não podem reduzir a quantidade padrão de TCAM de sistema de ingresso e CoPP. Eles já estão no valor mínimo e não podem ser reduzidos.

- Todos os recursos de QoS têm largura dupla.

- Não há suporte para mapas de política de SVI.

Informações Relacionadas

- Guia de configuração de gravação de TCAM do Nexus 9000

- Regiões TCAM de ACL do Nexus 9000

- Suporte Técnico e Documentação - Cisco Systems