소개
이 문서에서는 Nexus 9000 TCAM(ternary content-addressable memory)을 조각하는 방법을 설명합니다.
배경 정보
이 문서는 여러 TCAM 조합의 전체 목록이 아닙니다. 이 문서의 목적은 사용자가 TCAM 할당의 작동 방식을 이해하여 필요에 맞는 올바른 구성을 결정하는 데 있습니다. 현재 및 가장 일반적인 개념, 구성 및 오류 메시지에 대해 설명합니다.
Nexus 9000 Series 스위치에 기본이 아닌 기능을 사용하려면 해당 기능에 대한 TCAM 공간을 수동으로 잘라내야 합니다. 기본적으로 모든 TCAM 공간이 할당됩니다.
용어
- 기능 너비 - 단일 너비 및 이중 너비 기능이 있습니다. 단일 너비 기능을 사용하려면 최소 하나의 슬라이스가 필요합니다. 이중 너비 피쳐에는 최소한 두 개의 슬라이스가 필요합니다.
단일 및 이중 너비 기능의 경우 총 크기(256보다 큰 경우)는 512의 배수여야 합니다. 슬라이스는 한 영역에만 할당할 수 있습니다.
예를 들어, 각각 크기가 256인 두 개의 기능을 구성하기 위해 512 크기 슬라이스를 사용할 수 없고, 단일 이중 너비 기능을 구성하기 위해 512 크기 슬라이스를 사용할 수도 없습니다.
- 슬라이스 - 메모리 할당 단위입니다. 슬라이스는 256 또는 512 크기일 수 있으며, 바이트 단위로 측정됩니다.
- TCAM - Ternary Content Addressable Memory. ACL(access-list)이 저장되는 하드웨어 공간입니다. 복잡한 테이블 형식의 데이터를 저장하고 매우 빠른 병렬 조회를 지원하는 특수 메모리입니다.
ACL TCAM 영역
하드웨어에서 ACL TCAM 영역의 크기를 변경할 수 있습니다. 이그레스 TCAM 크기는 1K이며, 4개의 256개 항목으로 나뉩니다. 인그레스 TCAM 크기는 4K이며, 8개의 256 슬라이스와 4개의 512 슬라이스로 나뉩니다.
IPv4 TCAM 영역은 단일 너비입니다. IPv6, QoS(Quality of Service), MAC, CoPP(Control-Plane Policing) 및 시스템 TCAM 영역은 두 배 넓으며 물리적 TCAM 항목의 두 배를 소비합니다.
예를 들어 논리적 영역 크기가 256개이면 실제로 512개의 물리적 TCAM 항목을 사용합니다.
IPv6, 포트 ACL(PACL), VLAN ACL(VACL) 및 라우터 ACL(RACL)을 생성할 수 있으며 QoS를 위해 IPv6 및 MAC 주소를 일치시킬 수 있습니다. 그러나 Cisco NX-OS는 이 모두를 동시에 지원할 수 없습니다.
IPv6 및 MAC TCAM 영역을 활성화하려면 현재 TCAM 영역을 제거하거나 크기를 줄여야 합니다. 모든 TCAM 영역 컨피그레이션 명령에 대해 시스템은 새 변경 사항이 TCAM에 적합한지 평가합니다.
그렇지 않으면 오류를 보고하고 명령이 거부됩니다. 새 요구 사항을 위한 공간을 확보하려면 현재 TCAM 영역을 제거하거나 크기를 줄여야 합니다.
ACL TCAM 영역 크기에는 다음과 같은 지침 및 제한이 있습니다.
- Cisco Nexus 9500 Series 스위치에서 기본 인그레스 TCAM 영역 컨피그레이션에는 Cisco NX-OS Release 6.1(2)I1(1)에 1개의 무료 256 엔트리 슬라이스가 있습니다.
이 슬라이스는 Cisco NX-OS 릴리스 6.1(2)I2(1)의 스위치 포트 분석기(SPAN) 영역에 할당됩니다. 마찬가지로, Cisco NX-OS Release 6.1(2)I2(1)에서는 RACL 영역이 2K에서 1.5K로 줄어들어 512개의 항목이 있는 vPC(virtual port-channel) 통합 영역을 위한 공간을 확보할 수 있습니다.
- Cisco Nexus 9300 Series 스위치에서는 ACI(Application Centric Infrastructure) 리프 라인 카드를 사용하여 40G 포트에 적용된 QoS 분류 정책을 적용합니다. 256개 엔트리 단위로 조각할 수 있는 768개의 TCAM 엔트리를 보유하고 있습니다. 이 지역 이름의 앞에는 ns-가 붙습니다.
- Cisco Nexus 9300 Series 스위치의 ACI 리프 라인 카드의 경우 IPv6 TCAM 영역만 더블 와이드 엔트리를 사용합니다. 나머지 TCAM 영역은 단일 전체 엔트리를 소비합니다.
- VACL 영역이 구성된 경우 인그레스 방향과 이그레스 방향 모두에서 동일한 크기로 구성됩니다. 영역 크기가 어느 방향으로도 맞지 않으면 컨피그레이션이 거부됩니다.
Nexus 9300 및 9500 Series 스위치는 모두 4 개의 512바이트 슬라이스와 8 개의 256바이트 슬라이스를 가집니다. Nexus 9300 Series와 9500 Series 간에 기본 할당이 다르지만 기본적으로 모든 슬라이스와 모든 공간이 사용됩니다.
참고: Nexus 9332PQ는 Nexus 9500과 동일한 기본 할당을 사용합니다.
Nexus 9500 Series TCAM 할당
Nexus 9500 Series 스위치에는 기본적으로 다음과 같은 TCAM 할당이 있습니다.
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
----------------------------------------------------------------------
슬라이스 할당은 인그레스(ingress)에 대해 다음과 같습니다.
슬라이스 1(512): RACL
슬라이스 2 (512): RACL
슬라이스 3(512): RACL
슬라이스 4(512): VPC 통합
슬라이스 5(256): 레이어 3 QOS
슬라이스 6(256): 레이어 3 QOS
슬라이스 7(256): SPAN
슬라이스 8(256): 리디렉션
슬라이스 9(256): 인그레스 CoPP
슬라이스 10(256): 인그레스 CoPP
슬라이스 11(256): 인그레스 시스템
슬라이스 12(256): 인그레스 시스템
인그레스 사용률 개념화:
Nexus 9300 Series TCAM 할당
Nexus 9300 Series 스위치에는 기본적으로 다음과 같은 TCAM 할당이 있습니다.
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
----------------------------------------------------------------
슬라이스 1(512): IPv4 PACL
슬라이스 2(512): VACL
슬라이스 3(512): RACL
슬라이스 4(512): 리디렉션
슬라이스 5(256): 포트 QOS
슬라이스 6(256): 포트 QOS
슬라이스 7(256): SPAN
슬라이스 8(256): VPC 통합
슬라이스 9(256): 인그레스 CoPP
슬라이스 10(256): 인그레스 CoPP
슬라이스 11(256): 인그레스 시스템
슬라이스 12(256): 인그레스 시스템
인그레스 사용률 개념화:
설정
TCAM 영역을 재구성하려면 컨피그레이션 터미널의 hardware access-list tcam region
명령을 사용합니다. 영역을 원하는 크기로 변경한 후에는 디바이스를 다시 로드해야 합니다.
예제 시나리오
Nexus 9300이 있으며 요구 사항에 가장 잘 맞도록 TCAM 공간을 할당하고자 합니다. 512바이트의 TCAM을 확보해야 합니다. 이렇게 하면 IPv4 PACL에 더 많은 항목을 추가할 수 있습니다.
그러나 512 VACL 또는 512 RACL이 필요하지 않지만 둘 다 필요하므로 VACL 및 RACL에서 256바이트를 할당 취소하기로 결정합니다. 이 명령은 다음과 같이 512개의 공간을 확보합니다.
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
512바이트의 여유 공간이 있는 경우 IPv4 PACL에 512를 추가로 할당하려고 하지만 다음 출력이 표시됩니다.
Nexus9300(config)# hardware access-list tcam region ifacl 1024
ERROR: Aggregate TCAM region configuration exceeded the available Ingress TCAM slices.
Please re-configure.
512바이트가 해제되었지만 256개를 가져온 VACL과 RACL 공간 모두 크기가 512블록이었습니다. 따라서 이전 명령은 공간을 할당하지 않았지만 슬라이스를 할당하지 않았습니다. IPv4 PACL 크기를 1024로 늘리려면 슬라이스와 공간을 모두 확보하는 단일 기능에서 512바이트를 가져와야 합니다.
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
확인 명령
show hardware access-list tcam region
- 현재 소프트웨어 구성을 확인합니다.
show system internal access-list globals
- 현재 하드웨어 구성을 확인합니다.
show system internal access-list input entries detail -
각 인스턴스에 대해 구성된 특정 ACL을 표시합니다.
show hardware access-list resource utilization
- 구성된 각 TCAM 영역의 현재 사용률을 표시합니다.
show hardware access-list resource entries
- 각 인스턴스에 대해 구성된 ACL 항목 수를 표시합니다.
오류 및 솔루션
다음은 TCAM 컨피그레이션 중에 나타나는 일반적인 오류입니다.
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM slices. Please re-configure.
이 오류는 4k 제한과 관련하여 유효한 양의 TCAM 공간을 구성하려고 할 때 발생하지만 할당에 사용 가능한 것보다 많은 슬라이스가 사용됩니다.
이 오류의 유일한 해결 방법은 전체 TCAM 설계를 수정하여 슬라이스를 확보하는 것입니다.
이 오류는 새 이중 너비 기능을 구성하려고 할 때 256 또는 512의 최소 두 개의 슬라이스가 필요하므로 더 일반적입니다.
ERROR: Aggregate TCAM region configuration exceeded the available
Ingress TCAM space. Please re-configure.
슬라이스 오류와 마찬가지로, 해결 방법은 총 제한을 초과하지 않도록 할당된 공간을 재구성하는 것입니다. 이 오류 메시지는 모든 TCAM 슬라이스가 이미 할당되었고 추가 공간을 할당하려고 시도하는 경우에만 표시됩니다.
ERROR: TCAM regions with size more than 256, ... have size
in multiple of 512 entries
하드웨어 제한으로 인해 256보다 큰 TCAM 크기는 홀수 개수의 256 블록과 512 블록을 결합하는 어떤 방식으로도 결합할 수 없습니다. 따라서 512보다 큰 TCAM 영역을 구성할 때 유효한 크기는 512의 배수뿐입니다.
설계 지침 및 제한 사항
TCAM 공간이 제한됩니다. 귀사에 가장 적합한 제품을 선택하는 것은 전적으로 구체적인 활용 사례에 달려 있습니다. 기본적으로 모든 TCAM 공간이 이미 할당되어 있으므로 다른 곳에 할당하려면 TCAM 공간을 할당할 위치를 결정해야 합니다.
- 사용자는 인그레스 시스템 및 CoPP TCAM의 기본 양을 줄일 수 없습니다. 이 값은 이미 최소값이므로 줄일 수 없습니다.
- 모든 QoS 기능은 더블 폭입니다.
- SVI 정책 맵은 지원되지 않습니다.
관련 정보