目錄

簡介

常見TCAM錯誤

硬體ACL資源利用率

選項

原子更新

每個條目的統計資訊

片段處理

ACE擴展閾值

資源池

相關資訊

簡介

本文檔介紹TCAM資源問題的解決方法。

常見TCAM錯誤

%ACLQOS-SLOT3-4-ACLQOS_OVER_THRESHOLD Tcam 0 Bank 0的使用率已達到其閾值

%ACLMGR-3-ACLMGR_VERIFY_FAIL驗證失敗：客戶8200016E，TCAM銀行中沒有足夠的可用條目

"錯誤：由於Spanslogic TCAM約束」，TCAM條目的插入失敗 — 僅適用於XL模組

有關更多跨網路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使用率較高時的幾個選項。

- 原子更新

指令:no hardware access-list update atomic

- 禁用所有ACL中每個條目的統計資訊

指令:每個條目無統計資訊

- 片段處理

指令:片段deny-all/permit-all

- ACE擴展閾值

指令:hardware access-list lou resource threshold

- 資源池（由於現有條目未移動，因此不影響服務）

指令:hardware access-list resource pooling mod <x>

原子更新

預設情況下，N7K在發生ACL更改時對模組執行原子訪問控制清單(ACL)更新。  原子更新不會中斷已更新ACL應用的流量。但是，原子更新要求接收ACL更新的I/O模組除了在受影響的ACL中預先存在的所有條目之外，還具有足夠的可用資源來儲存每個更新的ACL條目。更新後，用於更新的其他資源將被釋放。如果I/O模組缺少所需的資源，裝置將生成錯誤消息，對I/O模組的ACL更新將失敗。

如果I/O模組缺少原子更新所需的資源，可以使用

no hardware access-list update atomic

但是，在裝置刪除預先存在的ACL和實施更新的ACL所需的短暫時間內，ACL應用的流量預設會被丟棄。  如果您希望允許ACL應用的所有流量，同時它接收非原子更新。使用hardware access-list update default-result permit命令。

附註：如果原子和非原子更新都是可能的（假設TCAM具有足夠的自由空間），則原子是優選的。如果沒有足夠的可用空間來執行原子更新，則嘗試非原子更新。因此，即使禁用了原子更新，當前實現始終先嘗試原子更新。然而，目前由於跨距的限制，它不會切換到非原子狀態，因此CSCud36802被歸檔以解決此問題（自今天起在弗里敦修復）。

附註：在TCAM使用率較高時嘗試刪除ACE時，由於總是首先嘗試進行上述原子更新，因此仍可能遇到泛邏輯違規，並提交CSCua24513以解決此問題（已在5.2.7中修正）。

每個條目的統計資訊

預設情況下，N7K會在對TCAM進行程式設計時嘗試合併功能，這有助於節省TCAM資源。配置每個條目的統計資訊時，不會合併條目以維護每個訪問控制條目(ACE)統計資訊，在這種情況下，可能需要更多的資源。

此命令對效能沒有任何影響，因為ACL處理始終在硬體中。

顯示統計資訊有兩個選項：

show ip access-list <acl>

附註：僅顯示那些被程式設計為策略型別PACL/RACL（例如應用於介面的acl）的硬體條目命中的計數器

show hardware internal access-list input detail module <x>

附註：在copp策略中使用的ACL用於資料包分類。決定是否允許/拒絕/速率限制資料包是由控制平面qos策略/類對映配置完成的。在複製策略內部使用時，acl中指定的允許/拒絕操作無效。

如果您在copp acl上啟用統計資訊，且即使在copp類對映內使用同一個acl，由於上述原因，show ip access <acl>也不會反映此情況。實質上，在copp qos策略內使用的acl被程式設計為策略型別 — QoS。如果要檢視資料包到達copp控制平面qos策略，可以使用以下命令：

show system internal access-list input detail module <x> | b CoPP

片段處理

預設程式設計模型會在硬體中為每個ACE建立並行非第一個分段條目。此條目匹配與原始ACE相同的源/目標IP地址和協定，但沒有L4埠資訊，並且匹配非初始片段。

附註：未對非XL轉發引擎上的L3 ACE的片段條目進行程式設計。

預設片段處理會導致2X CL TCAM利用率。提供的配置旋鈕允許或拒絕所有非初始片段：

片段{permit-all | deny-all}

最佳化CL TCAM利用率 — 為整個ACL消耗一個CL TCAM條目（而不是每L4 ACE一個條目）

ACE擴展閾值

使用L4運算子的ACE — 範圍、gt、lt、neq。軟體處理L4操作員的方法有兩種：

- 分配L4op（硬體資源）和程式LOU暫存器（另一個硬體資源）

- 將ACE展開為多個eq條目（即CL TCAM條目）

全域性命令hardware access-list lou resource threshold控制ACE發生選項1與選項2的時間。擴展閾值控制何時進行擴展，預設閾值為5。如果ACE可以擴展到<=5 CL TCAM條目，則不分配L4op。

優點/缺點：

- 擴展導致更多TCAM條目消耗

- 每個標籤(10)和LOU暫存器(208)的L4op/LOU使用率受限

資源池

AK銀行鏈。詳細解釋請參見

相關資訊

思科錯誤ID CSCtd24377 AD-XL:Span演算法約束

思科錯誤ID CSCuc98853 ACLQOS未對XL的路由對映執行分段deny-all/permit-all

Tim Stevens的分類幻燈片