목차

소개

배경 정보

프로그램 Capmap 테이블 및 LOU 레지스터

사례 연구 #1 - TCP 플래그가 있는 ACL

사례 연구 #2 - 100% LOU 등록 사용

사례 연구 #3 - L4Ops를 사용한 QoS 프로그래밍

사례 연구 #4 - 이중 스택 ACL로 CAPMAP 소모 발생

소개

이 문서에서는 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 테이블 및 LOU 레지스터

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*

사례 연구 #1 - TCP 플래그가 있는 ACL

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

사례 연구 #2 - 100% LOU 등록 사용

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

사례 연구 #3 - L4Ops를 사용한 QoS 프로그래밍

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

사례 연구 #4 - 이중 스택 ACL로 CAPMAP 소모 발생

이 예에서는 인터페이스가 시작될 때 이러한 오류를 생성하는 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 사용률이 크게 증가할 수 있습니다.