소개
이 문서에서는 TCAM 리소스 문제 해결 방법에 대해 설명합니다.
일반적인 TCAM 오류
%ACLQOS-SLOT3-4-ACLQOS_OVER_THRESHOLD Tcam 0 Bank 0의 사용량이 임계값에 도달했습니다.
%ACLMGR-3-ACLMGR_VERIFY_FAIL 확인 실패:클라이언트 8200016E, TCAM 은행에서 사용 가능한 항목이 충분하지 않습니다.
"오류:Spanslogic TCAM 제약 조건으로 인해 TCAM 항목을 삽입하지 못했습니다." — XL 모듈에만 해당
spanslogic TCAM 제약 조건에 대한 자세한 내용은 을 참조하십시오.
하드웨어 ACL 리소스 사용률
명령:
show hardware access-list resource utilization module <mod>
SITE1-AGG1# show hardware access-list resource utilization mod 3
INSTANCE 0x0
-------------
ACL Hardware Resource Utilization (Mod 3)
--------------------------------------------
Used Free Percent
Utilization
-----------------------------------------------------
Tcam 0, Bank 0 9 16375 0.05
Tcam 0, Bank 1 2 16382 0.01
Tcam 1, Bank 0 7 16377 0.04
Tcam 1, Bank 1 246 16138 1.50
LOU 3 101 2.88
Both LOU Operands 2
Single LOU Operands 1
LOU L4 src port: 0
LOU L4 dst port: 1
LOU L3 packet len: 0
LOU IP tos: 0
LOU IP dscp: 0
LOU ip precedence: 0
LOU ip TTL: 0
TCP Flags 0 16 0.00
Protocol CAM 4 3 57.14
Mac Etype/Proto CAM 9 5 64.28
Non L4op labels, Tcam 0 2 6141 0.03
Non L4op labels, Tcam 1 3 6140 0.04
L4 op labels, Tcam 0 0 2047 0.00
L4 op labels, Tcam 1 1 2046 0.04
Ingress Dest info table 131072 510 0.39
Egress Dest info table 65536 511 0.19
SITE1-AGG1#
옵션
TCAM 사용량이 많은 경우 아래 나열된 몇 가지 옵션이 있습니다.
- 미세 업데이트
명령:하드웨어 액세스 목록 업데이트 atomic 없음
- 모든 ACL에서 항목당 통계 비활성화
명령:항목별 통계 없음
- 프래그먼트 처리
명령:프래그먼트 모두/모두 거부
- ACE 확장 임계값
명령:하드웨어 액세스 목록 lou 리소스 임계값
- 리소스 풀링(기존 항목이 이동되지 않았으므로 서비스에 영향을 주지 않음)
명령:하드웨어 액세스 목록 리소스 풀링 모드 <x>
미세 업데이트
기본적으로 N7K는 ACL 변경이 있을 때 모듈에 대한 미세 ACL(Access Control List) 업데이트를 수행합니다. atomic 업데이트는 업데이트된 ACL이 적용되는 트래픽을 방해하지 않습니다.그러나 atomic 업데이트를 수행하려면 ACL 업데이트를 수신하는 I/O 모듈에는 영향을 받는 ACL에 있는 기존의 모든 항목 외에 업데이트된 각 ACL 항목을 저장할 수 있는 충분한 리소스가 있어야 합니다.업데이트가 발생하면 업데이트에 사용되는 추가 리소스가 해제됩니다.I/O 모듈에 필요한 리소스가 없으면 디바이스에서 오류 메시지를 생성하고 입출력 모듈에 대한 ACL 업데이트에 실패합니다.
I/O 모듈에 Atomic 업데이트에 필요한 리소스가 부족한 경우
하드웨어 액세스 목록 업데이트 atomic 없음
그러나 디바이스에서 기존 ACL을 제거하고 업데이트된 ACL을 구현하는 데 필요한 짧은 시간 동안 ACL이 적용되는 트래픽은 기본적으로 삭제됩니다. ACL이 적용되는 모든 트래픽을 허용하되 비원자 업데이트를 수신하려면hardware access-list update default-result permit 명령을 사용합니다.
참고:atomic과 non-atomic 업데이트가 모두 가능한 경우(TCAM에 여유 공간이 충분하다는 가정) atomic이 좋습니다.atomic 업데이트를 수행하는 데 충분한 여유 공간이 없으면 atomic이 아닌 것으로 시도됩니다.따라서 atomic 업데이트가 비활성화된 경우에도 현재 구현은 항상 atomic을 먼저 시도합니다.그러나 현재 spanlogic 제약으로 인해 장애가 발생한 경우, 비원자성으로 전환되지 않으며, CSCud36802는 이를 해결하기 위해 제출됩니다(현재 프리타운에서 수정됨).
참고:TCAM 사용량이 많은 동안 ACE를 제거하려고 할 때 위에서 언급한 대로 항상 먼저 atomic 업데이트를 시도하므로 spanlogic contract가 계속 적중되고 CSCua24513이 이 문제를 해결하기 위해 제출되었습니다(5.2.7에서 수정됨).
항목별 통계
기본적으로 N7K는 TCAM을 프로그래밍할 때 기능을 병합하려고 합니다. TCAM 리소스를 저장하는 데 도움이 됩니다.항목별 통계가 구성되면 ACE(Per-Access Control Entries) 통계를 유지하기 위해 항목이 병합되지 않습니다. 이 경우 더 많은 리소스가 필요할 수 있습니다.
ACL 처리가 항상 하드웨어에 있으므로 이 명령은 성능에 영향을 주지 않습니다.
통계를 표시하는 두 가지 옵션이 있습니다.
show ip access-list <acl>
참고:정책 유형 PACL/RACL로 프로그래밍된 적중된 하드웨어 항목에 대한 카운터만 표시합니다(예: 인터페이스에 적용되는 acl).
show hardware internal access-list input detail module <x>
참고:패킷 분류에 내부 복사 정책에서 사용되는 ACL이 사용됩니다.패킷이 control-plane qos 정책/class-map 컨피그레이션에 의해 이루어지는지 여부를 결정 합니다.ACL에 지정된 허용/거부 작업은 복사 정책 내에서 사용할 경우 유효하지 않습니다.
복사 ACL에서 통계를 활성화한 경우 동일한 acl을 cop 클래스 맵 내에서 사용하더라도 show ip access <acl>은 위의 이유 때문에 이를 반영하지 않습니다.기본적으로 copp qos 정책 내에서 사용되는 acl은 정책 유형 QoS로 프로그래밍됩니다.copp control-plane qos 정책에 도달하는 패킷을 보려면 다음 명령을 사용할 수 있습니다.
show system internal access-list input detail module <x> | b CoPP
프래그먼트 처리
기본 프로그래밍 모델은 각 ACE에 대해 하드웨어에 병렬 비첫 조각 항목을 생성합니다.이 항목은 원래 ACE와 동일한 소스/대상 IP 주소 및 프로토콜을 일치하지만 L4 포트 정보가 없으며 초기가 아닌 프래그먼트에서도 일치합니다.
참고:L3 ACE에 대한 프래그먼트 엔트리는 비 XL 포워딩 엔진에 프로그래밍되지 않습니다.
기본 프래그먼트 처리로 인해 CL TCAM 사용률이 2배 증가합니다.모든 비초기 프래그먼트를 허용하거나 거부하기 위해 제공된 컨피그레이션 노브:
조각 {permit-all | 모두 거부}
CL TCAM 사용률 최적화 - 전체 ACL에 대해 단일 CL TCAM 항목을 사용합니다(L4 ACE당 하나의 항목 제외).
ACE 확장 임계값
L4 연산자를 사용하는 ACE - range, gt, lt, neq소프트웨어에서 L4 연산자를 처리하는 방법에는 두 가지가 있습니다.
- L4op(하드웨어 리소스) 및 프로그램 LOU 레지스터(다른 하드웨어 리소스) 할당
- ACE를 여러 eq 항목(예: CL TCAM 항목)으로 확장합니다.
전역 명령 하드웨어 access-list lou 리소스 임계값은 ACE에 대해 옵션 1과 옵션 2가 발생할 때 제어합니다.확장 임계값은 확장 발생 시 제어하며, 기본 임계값은 5입니다. ACE를 <=5 CL TCAM 항목으로 확장할 수 있는 경우 L4op가 할당되지 않습니다.
장점/단점:
- 확장하면 TCAM 엔트리 소비 증가
- L4op/LOU 사용은 레이블당 L4ops(10) 및 LOU 레지스터(208)로 제한됨
리소스 풀
A.K.A. 은행 체인.자세한 내용은
관련 정보
Cisco BUG ID CSCtd24377 AD-XL:Spanlogic 알고리즘 제약 조건
Cisco BUG ID CSCuc98853 ACLQOS는 XL용 Route-Map의 fragment deny-all/permit-all을 지원하지 않습니다.
팀 스티븐스의 분류 슬라이드