본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 LOU(Logical Operation Units) 및 L4Ops(Layer 4 Operations)가 capmap 테이블에 프로그래밍되는 방법에 대해 설명합니다.오류 시나리오, 이러한 상황에서 일반적으로 발생하는 오류의 종류, 이러한 오류에서 추론해야 하는 내용을 제공합니다.
CM(Classification Manager)은 TCAM(Ternary Content Addressable Memory) 분류 및 레이블, LOU, Capmap 엔트리 및 기타 관련 리소스를 관리합니다.CM 서비스는 FM(Feature Manager) 및 QM(QoS Manager)에서 Cisco IOS를 지원하도록 TCAM 항목을 프로그래밍하는 데 사용됩니다.® ACL(Access Control List) 및 QoS(Quality of Service) 기능
LOU 및 L4Ops - LOU는 ACL 및 VACL(VLAN Access Control List)에 지정된 TCP/UDP 포트 번호에 대해 {operator, operand} 튜플을 저장하는 데 사용되는 하드웨어 레지스터인 Logical Operation Units를 의미합니다. 이러한 튜플은 L4Ops라고도 합니다.예를 들어 호스트 X와 호스트 Y gt 1023을 일치시키면 튜플은 {gt, 1023}이 됩니다.
L4Ops - 레이어 4 작업.
Capmap 테이블 - 이전에 설명한 L4Ops는 capmap 테이블의 엔트리가 참조하는 LOU 레지스터에 프로그래밍됩니다.각 capmap 테이블에는 10개(하나는 방향에 대해 예약되며, 이는 9개 항목으로 제한됨) 항목(L4Ops)이 있습니다. Capmap 테이블은 TCAM 레이블 자체에 의해 인덱싱됩니다.
TCAM은 A와 B가 두 개 있습니다.각 TCAM에는 8K 레이블이 있습니다.각 TCAM에는 2K 항목의 capmap 테이블이 하나씩 있습니다.각 TCAM에는 8K 레이블이 있으므로 여기에 4:1이 겹칩니다. 4개의 레이블이 하나의 capmap 엔트리에 매핑됩니다.겹치는 부분:1=2049=4097=6145.
기본적으로 이것은 TCAM 레이블 1, 2049, 4097 및 6145가 동일한 capmap 인덱스를 사용한다는 것을 의미합니다.Cisco의 기존 TCAM 레이블 할당 구현은 이러한 중복으로 인해 문제가 되었습니다.Cisco는 2K(2048년)의 간격을 가진 TCAM 레이블을 할당했습니다. 이는 할당이 1, 2049, 4097, 6145, 2, 2050, 4098, 6146 등의 형태로 이루어진다는 것을 의미합니다.
처음부터 이 TCAM 할당은 캡맵 테이블이 겹칠 수 있었습니다.다음은 이를 시연하기 위한 예입니다(Cisco 버그 ID CSCuo026666). 다음은 인터페이스 VLAN 1 및 인터페이스 VLAN 2에 정의되고 적용된 a1 및 a2의 두 ACL입니다.
Sup2T(config)#ip access-list extended a1
Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 1
Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 2
Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 3
Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 4
Sup2T(config-ext-nacl)# permit ip host 1.1.1.1 any dscp 5
Sup2T(config-ext-nacl)#exit
Sup2T(config)#int vlan 1
Sup2T(config-if)#ip access-group a1 in
Sup2T(config-if)#exit
Sup2T(config)#ip access-list extended a2
Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 6
Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 7
Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp cs1
Sup2T(config-ext-nacl)# permit ip host 1.1.1.2 any dscp 9
Sup2T(config-ext-nacl)#exit
Sup2T(config)#int vlan 2
Sup2T(config-if)#ip access-group a2 in
Sup2T(config-if)#end
다음은 이러한 인터페이스의 TCAM입니다.
Sup2T#show platform hardware acl entry interface vlan 1 security in ip detail
mls_if_index:20000001 dir:0 feature:0 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match,
I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
---------
fno:0
tcam:B, bank:0, prot:0 Aces
I V 16366 2049 0 0 0 1.1.1.1 - 0.0.0.0
- 0 0 0 - ----- dscp=5; 0x0000000000000038
0
I M 16366 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 16367 2049 0 0 0 1.1.1.1 - 0.0.0.0
- 0 0 0 - ----- dscp=4; 0x0000000000000038
0
I M 16367 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 16368 2049 0 0 0 1.1.1.1 - 0.0.0.0
- 0 0 0 - ----- dscp=3; 0x0000000000000038
0
I M 16368 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 16369 2049 0 0 0 1.1.1.1 - 0.0.0.0
- 0 0 0 - ----- dscp=2; 0x0000000000000038
0
I M 16369 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 16370 2049 0 0 0 1.1.1.1 - 0.0.0.0
- 0 0 0 - ----- dscp=1; 0x0000000000000038
0
I M 16370 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 16371 2049 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x0000000040000038
0
I M 16371 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
Sup2T#show platform hardware acl entry interface vlan 2 security in ip detail
mls_if_index:20000002 dir:0 feature:0 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
fno:0
tcam:B, bank:1, prot:0 Aces
I V 32738 4097 0 0 0 1.1.1.2 - 0.0.0.0
- 0 0 0 - ----- dscp=9; 0x0000000000000038
0
I M 32738 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 32739 4097 0 0 0 1.1.1.2 - 0.0.0.0
- 0 0 0 - ----- dscp=8; 0x0000000000000038
0
I M 32739 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 32740 4097 0 0 0 1.1.1.2 - 0.0.0.0
- 0 0 0 - ----- dscp=7; 0x0000000000000038
0
I M 32740 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 32741 4097 0 0 0 1.1.1.2 - 0.0.0.0
- 0 0 0 - ----- dscp=6; 0x0000000000000038
0
I M 32741 0x1FFF 0 0x00 0x000 255.255.255.255 - 0.0.0.0
- 0 0 0x0
I V 32745 4097 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x0000000040000038
0
I M 32745 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
인터페이스 VLAN 1에 할당된 TCAM 레이블은 2049이고 인터페이스 VLAN 2에 할당된 TCAM 레이블은 4097입니다.즉, 이 두 인터페이스가 L4Op 프로그래밍에 대한 LOU 레지스터를 참조하기 위해 동일한 capmap 테이블을 사용합니다.
이 명령으로 확인할 수 있습니다(ACL a1의 ACE 5개와 ACL a2의 ACE 4개는 capmap 테이블을 가득 찬 것으로 표시해야 함을 의미).
Sup2T#show platform hardware acl capmap tcam B label 4097
Hardware Capmap Table Entry For TCAM B. Free items are not shown
Index Loc[9] [8] [7] [6] [5] [4] [3] [2] [1] [0]
----- ------ --- --- --- --- --- --- --- --- ---
1 212 10 9 8 7 6 5 4 3 2
Sup2T#show platform hardware acl capmap tcam B label 2049
Hardware Capmap Table Entry For TCAM B. Free items are not shown
Index Loc[9] [8] [7] [6] [5] [4] [3] [2] [1] [0]
----- ------ --- --- --- --- --- --- --- --- ---
1 212 10 9 8 7 6 5 4 3 2
따라서 이제 이 단계에서 이러한 인터페이스에 대해 확장이 불가능한 다른 L4Op 기반 ACE(Access Control Entry)를 설치하려고 하면 사용 가능한 capmap 항목 없음 오류가 표시됩니다.
Sup2T(config)#ip access-list extended a2
Sup2T(config-ext-nacl)#permit ip host 1.1.1.2 any dscp 10
Sup2T(config-ext-nacl)#end
*Sep 16 14:57:55.983: %EARL_CM-5-NOCAPMAP: No free capmap entry available
*Sep 16 14:57:55.991: %FMCORE-4-RACL_REDUCED: Interface Vlan2 routed traffic
will be software switched in ingress direction. L2 features may not be applied
at the interface
따라서 소프트웨어가 전체 인터페이스를 브리징하여 스위칭 속도가 느려지고 CPU 사용률이 높으며 기타 관련 문제가 발생할 수 있습니다.
참고:Cisco 버그 ID CSCuo02666이 문제를 해결하기 위해 제기되었습니다.TCAM이 제시하는 논리의 가장 큰 변경 사항은 TCAM 레이블을 어떻게 할당하는가입니다.이제 Cisco는 2K의 틈새 대신 최대 2048년까지 TCAM 레이블(2,3,4,5 등)을 지속적으로 할당합니다.즉, capmap 테이블이 처음부터 더 이상 공유되지 않습니다.
다른 하드웨어 리소스와 마찬가지로 LOU도 제한적이라는 점을 기억하십시오.총 104개의 LOU를 사용할 수 있습니다.
Sup2T#show platform software acl lou
LOUs Registers (shadow copies)
Index Type A_Op A_Val A_Cnt B_Op B_Val B_Cnt
----- -------- ---- ----- ----- ---- ----- -----
0PKT_QOS_GI A is free. NEQ 0 1
1 DST_PORT LT 81 2 B is free.
2 B & A are free
3 B & A are free
4 B & A are free
5 B & A are free
6 B & A are free
7 B & A are free
8 B & A are free
9 B & A are free
10 B & A are free
11 B & A are free
12 B & A are free
13 B & A are free
14 B & A are free
15 B & A are free
*snip*
95 B & A are free
96 B & A are free
97 B & A are free
98 B & A are free
99 B & A are free
100 B & A are free
101 B & A are free
102 B & A are free
103 B & A are free
Capmap 테이블은 L4 작업을 고려해야 하는 경우에만 사용됩니다.DSCP(Differentiated Services Code Point)/CoS(Class of Service) 값에서의 매칭도 L4Op로 간주됩니다.다음은 이 문서가 점진적으로 빌드되는 간단한 예(Cisco 버그 ID CSCuo02666 수정 사항이 포함된 코드 버전을 사용하는 예)입니다.
Sup2T#show ip access-lists a3
Extended IP access list a3
10 permit ip host 192.168.1.1 host 192.168.1.2
I have this applied to interface VLAN 1.
Sup2T#show run int vlan 1
Building configuration...
Current configuration : 84 bytes
!
interface Vlan1
ip address 192.168.1.1 255.255.255.0
ip access-group a3 in
end
이는 TCAM에 올바르게 프로그래밍됩니다.
Sup2T#show platform hardware acl entry interface vlan 1 security in ip
mls_if_index:20000001 dir:0 feature:0 proto:0
pass#0 features
fno:0
tcam:B, bank:1, prot:0 Aces
Permit ip host 192.168.1.1 host 192.168.1.2
L3_Deny ip any any
Sup2t-MA1.7#show platform hardware acl entry interface vlan 1 security in ip detail
mls_if_index:20000001 dir:0 feature:0 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
----------------------------------------------------------------
----------------------------------------------------------------
-----------------------------------------------------------------
-----
fno:0
tcam:B, bank:1, prot:0 Aces
I V 32741 2 0 0 0 192.168.1.1 - 192.168.1.2
- 0 0 0 - ----- - 0x0000000000000038
0
I M 32741 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
- 0 0 0x0
I V 32745 2 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x0000000040000038
0
I M 32745 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
Capmap 테이블은 TCAM 레이블 자체를 통해 참조됩니다.show platform software [hardware] acl capmap tcam <> label <> 명령의 TCAM 레이블을 사용하여 이 TCAM 레이블에 해당하는 테이블(소프트웨어 또는 하드웨어)을 볼 수 있습니다.
Sup2T#show platform hardware acl capmap tcam B label 2
Hardware Capmap Table Entry For TCAM B. Free items are not shown
Index Loc[9] [8] [7] [6] [5] [4] [3] [2] [1] [0]
----- ------ --- --- --- --- --- --- --- --- ---
1 212 0 0 0 0 0 0 0 0 0
이 레이블의 capmap 테이블에 할당된 항목이 없습니다.정의된 ACL에는 L4Ops가 없습니다.capmap 테이블에 항목을 설치할 필요는 없습니다.
이 ACE를 다음으로 변경합니다.
Sup2T#show ip access-lists a3
Extended IP access list a3
10 permit tcp host 192.168.1.1 host 192.168.1.2 eq www
capmap 테이블을 다시 한 번 보십시오.
Sup2T#show platform software acl capmap tcam B label 2
Shadow Capmap Table Entry For TCAM B
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ---------
------- ---------------- ---------------- ---------------- -------------
--- ---------------- ----------------
1 9 Reserved Free Free Free
Free Free Free Free Free
Free
포트 번호와 직접 동일하면 L4Op로도 계산되지 않습니다.
다음으로 변경:
Sup2T#show ip access-lists a3
Extended IP access list a3
10 permit tcp host 192.168.1.1 host 192.168.1.2 gt www
capmap 테이블을 한 번 더 검토합니다.
Sup2T#show platform software acl capmap tcam B label 2
Shadow Capmap Table Entry For TCAM B
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ---------
------- ---------------- ---------------- ---------------- ------------
---- ---------------- ----------------
2 8 212/0/1 Free Free Free
Free Free Free Free Free 3/1/1
이제 capmap 테이블에 항목이 있습니다.ACE는 capmap 테이블에서 3/1/1으로 변환되었습니다. RST/INV/CNT 형식입니다.여기서 RST는 이 L4Op가 설치된 LOU 등록을 지정하며 CNT는 이 LOU에 대한 집계된 카운트를 설명합니다(나중에 이에 대한 추가 정보). RST 값이 인덱싱되는 방법을 알아보려면 다음 출력을 확인하십시오.
Sup2T#show platform software acl capmap mapping
L4op_sel value Reference
============== =========
0 ------ LOU0 B register
1 ------ LOU0 A register
2 ------ LOU1 B register
3 ------ LOU1 A register
..... ..............
..... ..............
206 ----- LOU103 B register
207 ----- LOU103 A register
208 ----- Global format match for global acl
209 ----- Group id present
210 ----- L4_hdr_vld
211 ----- Mpls_plus_ip_pkt
212 ----- ife/ofe for direction
(213-223) ---- Reserved
(224-239) ---- 16 TCP flags map
(240-255) ---- 16 IPv6 ext header map
L4op_sel 값이 0이면 LOU0 B 레지스터를 가리키고, 1은 LOU0 A 레지스터를 가리키고, 2포인트는 LOU1 B 레지스터를 가리키며, 3포인트는 LOU1 B 레지스터를 가리키는지 등을 알 수 있습니다.A등록부는 항상 먼저 프로그래밍된다.3/1/1 출력은 이제 더 이해하기 쉽게 나타납니다.
이 출력에서 3은 L4Op가 LOU1 A 레지스터에 프로그래밍되었음을 의미합니다.LOU 레지스터의 내용을 직접 살펴보는 경우 L4Op가 프로그래밍되는 위치를 확인할 수도 있습니다.
Sup2T#show platform software acl lou
LOUs Registers (shadow copies)
Index Type A_Op A_Val A_Cnt B_Op B_Val B_Cnt
----- -------- ---- ----- ----- ---- ----- -----
0PKT_QOS_GI A is free. NEQ 0 1
1 DST_PORT LT 81 1 B is free.
2 B & A are free
3 B & A are free
4 B & A are free
*snip*
Sup2T#show platform hardware acl lou
Dumping h/w lou values
Index lou_mux_sel A_Opcode A_Value B_Opcode B_Value
----- ----------- -------- ------- -------- -------
0 7 NEQ 0 NEQ 0
1 1 LT 81 NEQ 0
2 0 NEQ 0 NEQ 0
3 0 NEQ 0 NEQ 0
*snip*
보시다시피 (gt, X) 튜플은 LOU 레지스터에 (LT, X+1)로 프로그래밍됩니다.
참고:L4Ops는 인터페이스에 적용되는 경우에만 LOU 레지스터에 프로그래밍됩니다.L4Ops를 사용하여 ACL을 생성하는 경우(실제로 인터페이스에 ACL이 적용되지 않음) 해당 L4Ops를 LOU 레지스터로 프로그래밍하지 않습니다.
인터페이스 VLAN 1에서 ACL을 제거하고 LOU 레지스터를 다시 확인합니다.
Sup2T(config)#int vlan 1
Sup2T(config-if)#no ip access-group a3 in
Sup2T#show platform software acl lou
LOUs Registers (shadow copies)
Index Type A_Op A_Val A_Cnt B_Op B_Val B_Cnt
----- -------- ---- ----- ----- ---- ----- -----
0PKT_QOS_GI A is free. NEQ 0 1
1 B & A are free
2 B & A are free
3 B & A are free
4 B & A are free
*snip*
Sup2T#show platform hardware acl lou
Dumping h/w lou values
Index lou_mux_sel A_Opcode A_Value B_Opcode B_Value
----- ----------- -------- ------- -------- -------
0 7 NEQ 0 NEQ 0
1 1 NEQ 0 NEQ 0
2 0 NEQ 0 NEQ 0
3 0 NEQ 0 NEQ 0
*snip*
TCP 플래그는 LOU 레지스터 범위 내에 할당된 특수 레지스터 집합을 가집니다.여기와 같이 show platform software acl capmap mapping 명령을 통해 이 범위를 볼 수 있습니다.
Sup2T#show platform software acl capmap mapping
L4op_sel value Reference
============== =========
0 ------ LOU0 B register
1 ------ LOU0 A register
2 ------ LOU1 B register
3 ------ LOU1 A register
..... ..............
..... ..............
206 ----- LOU103 B register
207 ----- LOU103 A register
208 ----- Global format match for global acl
209 ----- Group id present
210 ----- L4_hdr_vld
211 ----- Mpls_plus_ip_pkt
212 ----- ife/ofe for direction
(213-223) ---- Reserved
(224-239) ---- 16 TCP flags map
(240-255) ---- 16 IPv6 ext header map
L4op_sel 값 224-239는 TCP 플래그에 사용할 수 있으며, 16개의 레지스터를 사용할 수 있습니다.여기 이것을 보여 주는 간단한 예가 있습니다.이 ACL은 다음과 같이 정의됩니다.
Sup2T(config)#ip access-list extended a13
Sup2T(config-ext-nacl)#permit tcp host 192.168.13.10 host 192.168.13.20 syn
Sup2T(config-ext-nacl)#exit
인터페이스 VLAN 13에 이 인바운드 적용:
Sup2T(config)#int vlan 13
Sup2T(config-if)#ip access-group a13 in
Sup2T(config-if)#end
Sup2T#show platform hardware acl entry interface vlan 13 security in ip detail
mls_if_index:2000000D dir:0 feature:0 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
----------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
--------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
------
fno:0
tcam:B, bank:1, prot:0 Aces
I V 32545 13 0 0 0 192.168.13.10 - 192.168.13.20
- 0 0 1 ANY:----s- ----- - 0x0000000000000038
0
I M 32545 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
- 0 0 0xF
I V 32546 13 0 0 0 192.168.13.10 - 192.168.13.20
- 1 0 1 - ----- - 0x0000000000000038
0
I M 32546 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
- 1 0 0xF
I V 32547 13 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x0000000040000038
0
I M 32547 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
Sup2T#show platform software acl capmap tcam B label 13
Shadow Capmap Table Entry For TCAM B
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ---------------- -----------
----- ----------------
13 8 212/0/1 Free Free Free
Free Free Free Free Free 224/0/1
이 예에서 TCP 플래그는 register 224에 프로그래밍됩니다(TCP 플래그에 대해 사용 가능한 첫 번째 레지스터에 해당함). 이에 대한 집계 수는 동일한 TCP 플래그를 가진 TCP 흐름(읽기 ACE) 수에 해당합니다.
현재 ACL a13에 다른 ACE를 추가합니다. 이 플래그는 다른 TCP 플래그를 가져야 합니다.
Sup2T(config)#ip access-list extended a13
Sup2T(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.1.2 ack
Sup2T(config-ext-nacl)#exit
capmap 테이블을 다시 보면 다른 TCP 레지스터가 사용된다는 것을 알 수 있습니다.
Sup2T#show platform software acl capmap tcam b label 13
Shadow Capmap Table Entry For TCAM B
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ---------------- -----------
----- ----------------
13 7 212/0/1 Free Free Free
Free Free Free Free 225/0/1 224/0/1
보시다시피, 프로그래밍 작업은 플래그별로 수행됩니다.각 플래그에 대해 독립적인 TCP 레지스터가 사용되며 그에 대한 카운트를 유지합니다.즉, 각 플래그에 대해 하나의 capmap 엔트리도 사용합니다.이는 기술적으로 ACL에서 9개의 플래그를 넘을 수 없거나 16개의 플래그 TCP 제한 이전에 capmap 제한에 도달할 수 없음을 의미합니다.
TCP 레지스터 제한에 도달하도록 TCP 플래그를 확장하여 어떤 일이 발생하는지 확인합니다.다음 예에서는 TCP 등록 활용률을 100% 충족하기 위해 여러 인터페이스 VLAN에 구성 및 적용된 여러 ACL을 보여 줍니다.
Sup2T#show platform hardware capacity acl
Classification Mgr Tcam Resources
Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,
RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,
Dstbl - Destinfo Table, Ethcam - Ethertype Cam Table,
ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table
Module Ttlent QoSent RBLent Lbl LOU TCP Dstbl Ethcam ACTtbl V6ext
1 3% 7% 0% 1% 96% 100% 1% 0% 0% 0%
3 3% 7% 0% 1% 96% 100% 1% 0% 0% 0%
4 3% 7% 0% 1% 96% 100% 1% 0% 0% 0%
6 3% 7% 0% 1% 96% 100% 2% 0% 0% 0%
이 단계에서 고유한 TCP 플래그(또는 고유한 TCP 플래그의 조합)를 사용하여 다른 ACL을 구성하고 이를 인터페이스에 적용하기로 결정한 경우 새 TCP 플래그(또는 플래그 조합)를 TCP 레지스터에 프로그래밍해야 합니다.그러나 사용 가능한 하드웨어 레지스터가 없습니다.이 경우 전체 인터페이스를 연결합니다.
Sup2T(config)#ip access-list extended a29
Sup2T(config-ext-nacl)#permit tcp host 192.168.1.1 host 192.168.1.2 psh rst
Sup2T(config-if)#int vlan 29
Sup2T(config-if)#ip access-group a29 in
*Oct 6 13:57:47.612: %FMCORE-4-RACL_REDUCED: Interface Vlan29 routed traffic
will be software switched in ingress direction. L2 features may not be applied
at the interface
Sup2T#show platform hardware acl entry interface vlan 29 security in ip
mls_if_index:2000001D dir:0 feature:0 proto:0
pass#0 features
fno:0
tcam:B, bank:1, prot:0 Aces
Bridge ip any any
LOU는 유한한 자원이라는 것을 기억하십시오. 즉, LOU의 공간도 부족하게 됩니다.다음 명령을 사용하여 LOU 사용을 모니터링할 수 있습니다.
Sup2T#show platform hardware capacity acl
Classification Mgr Tcam Resources
Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,
RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,
Dstbl - Destinfo Table, Ethcam - Ethertype Cam Table,
ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table
Module Ttlent QoSent RBLent Lbl LOU TCP Dstbl Ethcam ACTtbl V6ext
1 2% 7% 0% 1% 1% 0% 1% 0% 0% 0%
3 2% 7% 0% 1% 1% 0% 1% 0% 0% 0%
4 2% 7% 0% 1% 1% 0% 1% 0% 0% 0%
6 2% 7% 0% 1% 1% 0% 2% 0% 0% 0%
더 많은 LOU를 사용하기 위해 ACL을 확장합니다.여러 ACL을 설치한 후(두 개의 LOU 레지스터를 사용하는 range 명령, A와 B 모두) 다음 예에서는 96%의 LOU 사용량을 보여 줍니다.
Sup2T#show platform hardware capacity acl
Classification Mgr Tcam Resources
Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,
RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,
Dstbl - Destinfo Table, Ethcam - Ethertype Cam Table,
ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table
Module Ttlent QoSent RBLent Lbl LOU TCP Dstbl Ethcam ACTtbl V6ext
1 3% 7% 0% 1% 96% 0% 1% 0% 0% 0%
3 3% 7% 0% 1% 96% 0% 1% 0% 0% 0%
4 3% 7% 0% 1% 96% 0% 1% 0% 0% 0%
6 3% 7% 0% 1% 96% 0% 2% 0% 0% 0%
또 다른 ACL을 생성하고 LOU 사용이 100%를 초과하는 인터페이스에 적용합니다.
Sup2T(config)#ip access-list extended a12
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1401 1410
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1411 1420
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1421 1430
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1431 1440
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1441 1450
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1451 1460
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1461 1470
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1471 1480
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1481 1490
Sup2T(config-ext-nacl)#$68.14.1 host 192.168.14.2 range 1491 1500
Sup2T(config-ext-nacl)#exit
Sup2T(config)#int vlan 12
Sup2T(config-if)#ip access-group a12 in
그 예는 100%의 LOU 사용량에 도달했습니다.그러나 오류 메시지는 수신되지 않았습니다.
Sup2T#show platform hardware capacity acl
Classification Mgr Tcam Resources
Key: Ttlent - Total TCAM entries, QoSent - QoS TCAM entries, LOU - LOUs,
RBLent - RBACL TCAM entries, Lbl - Labels, TCP - TCP Flags,
Dstbl - Destinfo Table, Ethcam - Ethertype Cam Table,
ACTtbl - Accounting Table, V6ext - V6 Extn Hdr Table
Module Ttlent QoSent RBLent Lbl LOU TCP Dstbl Ethcam ACTtbl V6ext
1 3% 7% 0% 1% 100% 0% 1% 0% 0% 0%
3 3% 7% 0% 1% 100% 0% 1% 0% 0% 0%
4 3% 7% 0% 1% 100% 0% 1% 0% 0% 0%
6 3% 7% 0% 1% 100% 0% 2% 0% 0% 0%
여기 다른 테스트가 있습니다.이제 LOU가 100%에 있으므로 매우 간단한 L4Op를 사용하여 인터페이스에 대해 설치를 시도합니다.이 ACL을 구성합니다.
Sup2T#show ip access-lists a13
Extended IP access list a13
10 permit tcp host 192.168.14.1 host 192.168.14.2 range 1600 1650
이 인바운드를 인터페이스 VLAN 13에 적용합니다.
Sup2T#show run int vlan 13
Building configuration...
Current configuration : 87 bytes
!
interface Vlan13
ip address 192.168.13.1 255.255.255.0
ip access-group a13 in
end
지금 이 VLAN에 대한 TCAM을 확인하십시오.
Sup2T#show platform hardware acl entry interface vlan 13 sec in ip
mls_if_index:2000000D dir:0 feature:0 proto:0
pass#0 features
fno:0
tcam:B, bank:0, prot:0 Aces
Permit tcp host 192.168.14.1 host 192.168.14.2 eq 1650
Permit tcp host 192.168.14.1 host 192.168.14.2 range 1648 1649
Permit tcp host 192.168.14.1 host 192.168.14.2 range 1632 1647
Permit tcp host 192.168.14.1 host 192.168.14.2 range 1600 1631
Permit tcp host 192.168.14.1 host 192.168.14.2 fragments
L3_Deny ip any any
L4Ops가 확장되었습니다.이 TCAM 레이블의 capmap 테이블을 보면 아무 것도 설치되지 않은 것을 볼 수 있습니다.
Sup2T#show platform hardware acl entry interface vlan 13 sec in ip detail
mls_if_index:2000000D dir:0 feature:0 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
---------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
----------------------------------------------------------------
----------------------------------------------------------------
----------------------------------------------------------------
------
fno:0
tcam:B, bank:0, prot:0 Aces
I V 16136 14 0 0 0 192.168.14.1 - 192.168.14.2
1650 0 0 1 - ----- - 0x0000000000000038
0
I M 16136 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
0xFFFF 0 0 0xF
I V 16137 14 0 0 0 192.168.14.1 - 192.168.14.2
1648 0 0 1 - ----- - 0x0000000000000038
0
I M 16137 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
0xFFFE 0 0 0xF
I V 16138 14 0 0 0 192.168.14.1 - 192.168.14.2
1632 0 0 1 - ----- - 0x0000000000000038
0
I M 16138 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
0xFFF0 0 0 0xF
I V 16139 14 0 0 0 192.168.14.1 - 192.168.14.2
1600 0 0 1 - ----- - 0x0000000000000038
0
I M 16139 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
0xF
I V 16140 14 0 0 0 192.168.14.1 - 192.168.14.2
- 1 0 1 - ----- - 0x0000000000000038
0
Sup2T#show platform software acl capmap tcam B label 14
Shadow Capmap Table Entry For TCAM B
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ---------------- -----------
----- ----------------
14 9 212/0/1 Free Free Free
Free Free Free Free Free
Free
여기 일어난 일에 대한 설명이 있다.LOU 레지스터가 꽉 찼기 때문에 더 이상 새 L4Ops를 설치할 수 없으며 capmap 테이블에서 참조할 수 없습니다.이 단계에서는 TCAM에 L4Ops를 확장하여 설치하려고 합니다.L4Ops를 확장할 수 없는 경우 소프트웨어에서 전체 인터페이스를 지정된 방향으로 전환합니다.
100% LOU 등록 사용법은 무엇을 의미합니까?L4Op 확장 때문에 TCAM이 빠르게 채워지기 시작합니다. 확장이 불가능한 L4Ops를 설치하려고 하면 현재 구현으로 전체 인터페이스가 소프트웨어 브리징을 받습니다.
현재 상태에서는 이러한 상황에서 확장이 불가능한 L4Op를 설치하려고 할 때만 오류가 생성됩니다.이 예에서는 확장되지 않는 L4Op를 추가하여 인터페이스 VLAN 13에 적용된 현재 ACL a13을 수정했습니다.
Sup2T(config)#ip access-list extended a13
Sup2T(config-ext-nacl)#permit tcp host 192.168.14.1 host 192.168.14.2 dscp 40
Oct 5 04:50:13.104: %FMCORE-4-RACL_REDUCED: Interface Vlan13 routed traffic will
be software switched in ingress direction. L2 features may not be applied at the
interface
Oct 5 04:50:13.096: %EARL_CM-DFC3-5-NOLOU: No free LOU entry available on the EARL
Oct 5 04:50:13.096: %EARL_CM-DFC1-5-NOLOU: No free LOU entry available on the EARL
Oct 5 04:50:13.096: %EARL_CM-DFC4-5-NOLOU: No free LOU entry available on the EARL
Sup2T#show platform hardware acl entry interface vlan 13 security in ip
mls_if_index:2000000D dir:0 feature:0 proto:0
pass#0 features
fno:0
tcam:B, bank:0, prot:0 Aces
Bridge ip any any
QoS 정책은 L4Ops도 참조할 수 있습니다.이러한 L4Ops는 다른 L4Op와 마찬가지로 설치해야 합니다.이는 인터페이스별로, QoS 정책에서도, 기본적으로 capmap 테이블과 LOU가 갖는 제한에 의해 제한된다는 것을 의미합니다.다음과 같은 간단한 방법으로 이를 보여 줍니다.
Sup2T#show ip access-lists a1
Extended IP access list a1
10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp ef
Sup2T#show class-map a1-class
Class Map match-all a1-class (id 37)
Match access-group name a1
Sup2T#show policy-map a1-policy
Policy Map a1-policy
Class a1-class
police cir 80000 bc 2500
conform-action transmit
exceed-action drop
이 예에는 192.168.1.10에서 192.168.2.10로의 트래픽과 일치하는 access-list a1을 호출하는 클래스 맵과 일치하는 정책 맵이 있습니다(EF)로 표시됨). DSCP 값에 대한 매칭은 확장 불가능한 L4Op입니다.이는 LOU 레지스터에 프로그래밍되고 capmap 테이블의 항목을 통해 참조되어야 합니다.이제 이 정책 맵은 gig3/23에 대한 인바운드로 설치됩니다.
Sup2T#show run int gig3/23
Building configuration...
Current configuration : 176 bytes
!
interface GigabitEthernet3/23
switchport
switchport trunk allowed vlan 1-30
switchport mode trunk
service-policy input a1-policy
end
인터페이스에 대한 QoS 프로그래밍을 보려면 다음 명령을 사용합니다.
Sup2T#show platform hardware acl entry interface gig3/23 qos in ip module 3
mls_if_index:8096000 dir:0 feature:1 proto:0
pass#0 features
fno:0
tcam:A, bank:0, prot:0 Aces
0x0000E0100000D00B tcp host 192.168.1.10 host 192.168.2.10 dscp eq 46
0x000000000080D00B ip any any
이 명령에 대해 자세히 설명하면 이 인터페이스에서 사용되는 TCAM 레이블이 표시됩니다.
Sup2T#show platform hardware acl entry interface gig3/23 qos in ip detail module 3
mls_if_index:8096000 dir:0 feature:1 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
-----------------------------------------------------------------------
-----------------------------------------------------------------------
--------------------------------------------------------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
------------------------------------------------------------------------------------
------------------------------------------------------------------------------------
------------------------------
fno:0
tcam:A, bank:0, prot:0 Aces
I V 16238 2 0 0 0 192.168.1.10 - 192.168.2.10
- 0 0 1 - ----- dscp=46; 0x0000E0100000D00B
0
I M 16238 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
- 0 0 0xF
I V 16239 2 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x000000000080D00B
0
I M 16239 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
사용되는 TCAM 레이블은 2입니다. 이제 capmap 테이블을 확인하십시오.
Sup2T#show platform software acl capmap tcam A label 2 module 3
Shadow Capmap Table Entry For TCAM A
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ---------------- -----------
----- ----------------
2 8 212/0/1 Free Free Free
Free Free Free Free Free 2/1/1
참고:QoS TCAM의 경우 모듈 번호를 지정해야 합니다.이렇게 하지 않으면 출력이 결과를 생성하지 않습니다.
Sup2T#show platform software acl capmap mapping
L4op_sel value Reference
============== =========
0 ------ LOU0 B register
1 ------ LOU0 A register
2 ------ LOU1 B register
3 ------ LOU1 A register
*snip*
LOU 값이 2 포인트인 LOU1, register B. 다음 명령을 사용하여 이 프로그래밍을 확인할 수 있습니다.
Sup2T#show platform hardware acl lou
Dumping h/w lou values
Index lou_mux_sel A_Opcode A_Value B_Opcode B_Value
----- ----------- -------- ------- -------- -------
0 7 NEQ 0 NEQ 0
1 4 NEQ 0 NEQ 46
2 1 NEQ 0 NEQ 0
*snip*
컨피그레이션을 확장합니다.
Sup2T#show ip access-lists a1
Extended IP access list a1
10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp ef
20 permit tcp host 192.168.2.11 host 192.168.2.11 dscp ef
30 permit tcp host 192.168.3.11 host 192.168.3.11 dscp ef
40 permit tcp host 192.168.4.11 host 192.168.4.11 dscp ef
50 permit tcp host 192.168.5.11 host 192.168.5.11 dscp ef
60 permit tcp host 192.168.6.11 host 192.168.6.11 dscp ef
70 permit tcp host 192.168.7.11 host 192.168.7.11 dscp ef
80 permit tcp host 192.168.8.11 host 192.168.8.11 dscp ef
Sup2T#show platform software acl capmap tcam A label 2 module 3
Shadow Capmap Table Entry For TCAM A
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ----------
------ ---------------- ---------------- ----------------
2 8 212/0/1 Free Free Free
Free Free Free Free Free 2/1/8
더 이상 항목을 사용하지 않습니다.대신 첫 번째 항목 자체에 대해 집계 참조 카운트가 증가하므로 적합합니다.capmap 테이블 및 LOU 레지스터 관점에서 소스 및 대상에 대한 우려가 없습니다.이렇게 하면 L4Op 정보가 저장됩니다.모든 ACE에서 동일한 DSCP 값과 일치하므로 해당 DSCP 값에 대해 하나의 항목만 있으면 됩니다.
9개의 서로 다른 DSCP 값을 사용하도록 수정합니다.
Sup2T#show ip access-lists a1
Extended IP access list a1
10 permit tcp host 192.168.1.10 host 192.168.2.10 dscp af11
20 permit tcp host 192.168.2.11 host 192.168.2.11 dscp af12
30 permit tcp host 192.168.3.11 host 192.168.3.11 dscp af13
40 permit tcp host 192.168.4.11 host 192.168.4.11 dscp af21
50 permit tcp host 192.168.5.11 host 192.168.5.11 dscp af22
60 permit tcp host 192.168.6.11 host 192.168.6.11 dscp af23
70 permit tcp host 192.168.7.11 host 192.168.7.11 dscp af31
80 permit tcp host 192.168.8.11 host 192.168.8.11 dscp af32
90 permit tcp host 192.168.9.11 host 192.168.9.11 dscp af33
capmap 테이블을 보면 가득 찬 것을 알 수 있습니다.
Sup2T#show platform software acl capmap tcam A label 2 module 3
Shadow Capmap Table Entry For TCAM A
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2]
[1] [0]
----- ----- ---------------- ---------------- ---------------- -----------
----- ---------------- ---------------- ---------------- ----------------
---------------- ----------------
2 0 212/0/1 10/1/1 9/1/1 8/1/1
7/1/1 6/1/1 5/1/1 4/1/1 3/1/1
2/1/1
확장이 불가능한 L4Op 기반 항목을 다른 항목을 설치하려고 하면 다음과 같이 됩니다.
Sup2T(config-ext-nacl)#permit tcp host 192.168.10.11 host 192.168.10.11 dscp 2
Sup2T(config-ext-nacl)#end
%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23
dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)
%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23
dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)
%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23
dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)
%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23
dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)
%QM-4-TCAM_ENTRY: Hardware TCAM entry programming failed for slot 3 intf Gi3/23
dir IN: <CONFIG_UPDATE_REQ> TCAM Req Error: FAIL (4): Low TCAM Entries (1)
%FMCORE-6-RACL_ENABLED: Interface GigabitEthernet3/23 routed traffic is hardware
switched in ingress direction
Oct 20 17:12:54.304: %EARL_CM-DFC3-5-NOCAPMAP: No free capmap entry available
이제 이 인터페이스의 TCAM을 확인하십시오.
Sup2T#show platform hardware acl entry interface gig3/23 qos in ip module 3
mls_if_index:8096000 dir:0 feature:1 proto:0
Couldnt find feature for mls_if_index 0x8096000, dir 0
이 인터페이스에 대해 TCAM에 설치된 QoS 기능이 없습니다.
표시에는 L4Ops가 사용되지 않습니다.따라서 L4Ops가 없는 단순 ACL이 있고 일치에 DSCP 값을 설정하면 이에 대해 LOU 레지스터가 사용되지 않습니다.예를 들면 다음과 같습니다.
Sup2T#show policy-map a1-policy
Policy Map a1-policy
Class a1-class
set dscp ef
Sup2T#show class-map a1-class
Class Map match-all a1-class (id 37)
Match access-group name a1
Sup2T#show ip access-lists a1
Extended IP access list a1
10 permit tcp host 192.168.1.1 host 192.168.2.1
이는 인터페이스 gig3/23에 적용됩니다.
Sup2T#show run interface gig3/23
Building configuration...
Current configuration : 176 bytes
!
interface GigabitEthernet3/23
switchport
switchport trunk allowed vlan 1-30
switchport mode trunk
service-policy input a1-policy
end
Sup2T#show platform hardware acl entry interface gig3/23 qos in ip detail module 3
mls_if_index:8096000 dir:0 feature:1 proto:0
pass#0 features
UAPRSF: U-urg, A-ack, P-psh, R-rst, S-syn, F-fin
MLGFI: M-mpls_plus_ip_pkt, L-L4_hdr_vld, G-gpid_present,F-global_fmt_match, I-ife/ofe
's' means set; 'u' means unset; '-' means don't care
----------------------------------------------------------------
----------------------------------------------------------------
---------------------------------------------------------------
-------
I INDEX LABEL FS ACOS AS IP_SA SRC_PORT
IP_DA DST_PORT F FF L4PROT TCP-F:UAPRSF MLGFI OtherL4OPs
RSLT CNT
---------------------------------------------------------------
---------------------------------------------------------------
---------------------------------------------------------------
---------
fno:0
tcam:A, bank:0, prot:0 Aces
I V 16238 3 0 0 0 192.168.1.1 - 192.168.2.1
- 0 0 1 - ----- - 0x0000E010005D100B
0
I M 16238 0x1FFF 0 0x00 0x000 255.255.255.255 - 255.255.255.255
- 0 0 0xF
I V 16239 3 0 0 0 0.0.0.0 - 0.0.0.0
- 0 0 0 - ----- - 0x000000000080D00B
0
I M 16239 0x1FFF 0 0x00 0x000 0.0.0.0 - 0.0.0.0
- 0 0 0x0
Sup2T#show platform software acl capmap tcam A label 3 module 3
Shadow Capmap Table Entry For TCAM A
-----------------------------------------------------------------------
Output in a RST/INV/CNT format: RST - result value; INV - inverted;
CNT - aggregated reference account;
CBF - number of free cap bits (one per entry);
Free items are not shown
-----------------------------------------------------------------------
Index CBF [9] [8] [7] [6]
[5] [4] [3] [2] [1]
[0]
----- ----- ---------------- ---------------- ---------------- ----------------
---------------- ---------------- ---------------- ---------------- -----------
----- ----------------
3 9 212/0/1 Free Free Free
Free Free Free Free Free
Free
이 예에서는 인터페이스가 시작될 때 이러한 오류를 생성하는 IPv4 및 IPv6 ACL을 모두 사용하도록 구성된 인터페이스가 있습니다.
%EARL_CM-5-NOCAPMAP: No free capmap entry available %FMCORE-4-RACL_REDUCED: Interface Vlan500 routed traffic will be software switched in ingress direction. L2 features may not be applied at the interface
그러나 IPv4 ACL만 제거한 다음 동일한 인터페이스로 읽으면 하드웨어 프로그래밍이 성공적으로 완료되고 더 이상 오류가 생성되지 않습니다.
이 예에서는 다음 ACL이 SVI에서 구성됩니다.
Switch#sh ip access-lists INGRESS Extended IP access list INGRESS 10 permit tcp host 1.1.1.1 host 1.1.1.2 range 1 10 20 permit tcp host 1.1.1.3 host 1.1.1.4 range 10 ftp-data 30 permit tcp host 2.1.1.3 host 2.1.1.4 range 30 40 40 permit tcp host 2.1.1.3 host 2.1.1.4 range 85 100 50 permit tcp host 2.1.1.3 host 10.1.1.1 range 222 333 60 permit tcp host 20.5.4.3 host 10.100.100.1 range www 443 70 permit tcp host 200.50.4.3 host 11.11.11.1 range 800 813 80 permit tcp host 200.50.40.30 host 12.12.11.1 range 50 60 90 permit tcp host 13.13.13.3 host 14.14.14.3 range gopher 90 100 permit tcp host 23.23.23.3 host 14.14.10.1 range 123 345 110 permit udp host 123.123.123.1 range 50 60 host 23.23.23.1 range 10 20 120 permit udp host 45.45.43.1 range 1000 1010 host 1.1.1.1 range 50 65 130 permit tcp host 78.78.78.1 range 89 95 host 2.3.4.5 range 1111 1200 140 permit tcp host 5.5.5.50 eq 65000 host 5.4.5.4 150 permit tcp host 5.15.5.150 range 1200 1250 host 1.7.8.4 range 45 65 Switch#show ipv6 access-list DENY-ALL-V6 IPv6 access list DENY-ALL-V6 permit udp FE80::/64 host FF02::66 eq 2000 sequence 10 deny ipv6 any any sequence 20
이전 예에서와 같이 IPv4 ACL에는 9개 이상의 고유한 확장 가능한 L4Ops가 있습니다.IPv4만 구성된 인터페이스 아래에서는 capmap 테이블을 소진하지 않도록 필요에 따라 확장됩니다.
이중 스택 환경에서 TCAM 하드웨어로 프로그래밍할 때 스위치는 먼저 IPv4 ACL로 시작합니다.capmap 테이블에 사용 가능한 항목이 충분하지 않은 경우 스위치는 capmap 테이블을 초과하지 않고 채우도록 확장 가능한 L4Ops 중 일부를 확장합니다.이제 테이블에 있는 사용 가능한 항목 수가 0이 되었습니다. 즉, IPv6 ACL을 프로그래밍하려면 필요한 확장 불가능한 L4Op를 프로그래밍하는 데 사용할 수 있는 항목이 없습니다.
IPv4 ACL만 제거하면 capmap 테이블의 사용 가능한 항목 수가 증가하며 이제 IPv6 ACL이 하드웨어에 올바르게 프로그래밍되고 새로 해제된 capmap 항목 중 하나를 사용합니다.IPv4 ACL을 인터페이스 컨피그레이션에 다시 적용하면 동일한 확장이 다시 발생합니다.이제 IPv6 ACL의 결과로 하나의 추가 IPv4 엔트리만 확장되며, 이 ACL은 사용 가능한 capmap 값을 모두 사용합니다.모든 L4Ops는 이 ACL에서 확장이 가능하므로 프로그래밍이 성공합니다.
IPv4 ACL을 수동으로 제거하고 추가하여 항목이 하드웨어에서 병합되는 것을 방지하기 위해 이러한 시나리오에서 TCAM 병합 알고리즘을 변경하는 기능이 향상되었습니다.자세한 내용은 Cisco 버그 ID CSCuq24924를 참조하십시오.
이러한 기능 향상을 통해 "Fixed-in" 소프트웨어 릴리스는 이제 듀얼 스택 IPv4/v6 ACL 구축과 같은 인스턴스에서 L4Ops를 프로그래밍하는 방식을 변경하는 구성 가능한 옵션을 전역 컨피그레이션에 갖게 됩니다.이는 구성 변경을 수행할 수 있습니다.
Switch(config)#platform hardware acl tcam-exp-logic enable
참고:이러한 기능 향상으로 인해 도입된 변경 사항으로 인해 확장 가능한 L4Ops가 평소보다 빠르게 확장되고 확장 결과로 TCAM 사용률이 크게 증가할 수 있습니다.