目录

简介

背景

先决条件

使用的组件

观察

在主接口和子接口上配置出口RACL，而Netflow仅在主接口上启用

在主接口和子接口上同时配置RACL和Netflow时

分辨率

摘要

相关问题

相关条目

简介

本文档说明TCAM如何意外过度使用，具体取决于Nexus 7000系列交换机上启用的功能集。

问题说明

启用原子更新后，在RACL等多个功能的情况下，NetFlow会应用于不同的接口，这可能导致TCAM过度使用错误，尽管尚未达到50%限制。

示例：无法将多个功能应用到后续子接口，尽管利用率为29.57，而上限为50%（因为启用了原子更新），并且引发以下错误。

错误：模块1返回状态：TCAM将被过度使用，请启用银行链和/或关闭原子更新。如果其他模块上启用了银行链，并且这是新的线卡插入，请在重新加载此模块之前启用银行链。

此外，重新加载后，所有接口都会因此丢失配置并分配给VDC 0。

背景

默认情况下在Nexus 7000上启用的原子更新仅允许使用整个TCAM的50%。另外50%保留用于适应ACL更改，以便提供无中断的ACL更新。有关此项的详细信息，请通过部分中提供的链接获得：推荐阅读。

先决条件

建议了解以下主题：

原子更新

N7000上的TCAM

使用的组件

本文档中的信息基于对模块上的N7718机箱执行的实验测试：运行于8.3(2)版上的N77-F312CK-26

本文档中使用的所有设备都以默认配置启动，所显示的功能为RACL、NetFlow。

观察

在主接口和子接口上配置出口RACL，而Netflow仅在主接口上启用

初始配置:

Interface Ethernet 11/2: Layer-3; RACL

Interface Ethernet 11/2.300-302: Layer-3; RACL

仅应用RACL的TCAM利用率为：

N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0" across all instances:

Tcam 1, Bank 0 1211 2885 29.57

Tcam 1, Bank 0 1211 2885 29.57

Tcam 1, Bank 0 1211 2885 29.57

注意：本文档中出口RACL的TCAM空间利用率假定为29.57%

一旦NetFlow仅应用于主接口，接口利用率将加倍，尽管在这种情况下，NetFlow配置仅占用1%的空间。

Interface Ethernet 11/2: Layer-3; RACL; NetFlow

Interface Ethernet 11/2.300-302: Layer-3; RACL

此处主接口配置了NetFlow，而子接口没有NetFlow（要禁用原子更新以观察此行为）

N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0"

Tcam 1, Bank 0 2394 1702 58.45

Tcam 1, Bank 0 2394 1702 58.45

Tcam 1, Bank 0 2394 1702 58.45

注意：如果原子更新仍处于启用状态，则此加倍行为不可能，因为原子更新的限制仅为50%，并且会出现以下错误：

错误：模块1返回状态：TCAM将被过度使用，请启用银行链和/或关闭原子更新。如果其他模块上启用了银行链，并且这是新的线卡插入，请在重新加载此模块之前启用银行链。

说明：

在这种情况下，此处提供两个不同的策略集。一个目的地只有RACL，另一个目的地有RACL +NF，因此为相同功能分配了两组TCAM条目，导致我们认为实际消耗的加倍行为应仅为29.57行为。

设备通过为两个接口生成两个单独的标签来实现这一点，如下所述：

module-11# show system internal access-list interface e11/2 out statistics

INSTANCE 0x0

---------------

Tcam 1 resource usage:

----------------------

Label_b = 0x801 >>> LABEL is 0x801

module-11# show system internal access-list interface e11/2.300 out statistics

INSTANCE 0x0

---------------

Tcam 1 resource usage:

----------------------

Label_b = 0x802 >>> NEW LABEL 0x802 IS GENERATED

在主接口和子接口上同时配置RACL和Netflow时

已从案例1中提供配置：

Interface Ethernet 11/2: Layer-3; RACL; NetFlow

Interface Ethernet 11/2.300-302: Layer-3; RACL

现在，在其余子接口上也应用NetFlow:

Interface Ethernet 11/2: Layer-3; RACL; NetFlow

Interface Ethernet 11/2.300-302: Layer-3; RACL; NetFlow

由于所有目标现在都配置了RACL + Netflow，因此同一标签正在共享b/w目标（所有接口引用的单组TCAM条目）。

N7718(config-if)# show system internal access-list resource utilization module 11 | in "Tcam 1, Bank 0"

Tcam 1, Bank 0 1211 2885 29.57

Tcam 1, Bank 0 1211 2885 29.57

Tcam 1, Bank 0 1211 2885 29.57

module-11# show system internal access-list interface ethernet11/2 out statistics |in Label_b p 5 n 4

INSTANCE 0x0

Tcam 1 resource usage:

----------------------

Label_b = 0x802 >>> LABEL is 0x802

module-11# show system internal access-list interface ethernet11/2.300 out statistics |in Label_b p 5 n 4

INSTANCE 0x0

Tcam 1 resource usage:

----------------------

Label_b = 0x802 >>> SAME LABEL IS MAINTAINED

注意：此行为也扩展到物理接口、子接口。只有当所有相关目标具有相同的配置集时，TCAM利用率才不会翻倍。

请注意，只有在所有已具有RACL的接口上应用Netflow后，TCAM才会降至原始29.57%

1.在接口“1”上应用RACL:29.57%

2.在后续接口上应用RACL:29.57%

3.在接口“1”上应用RACL后应用NF:58.45%

4.在后续接口上应用NF:58.45%

5.在最后一个接口上应用NF:29.57%

分辨率

1.禁用原子更新。

<OR>

2.减小ACL大小，使限制保持在<25%。

摘要

使用原子更新：

一旦在第一个接口上应用Netflow，将尝试创建单独的TCAM实例，因为第一个接口现在同时配置了ACL和NF，但第二个接口只配置了RACL。

但是，由于启用了原子更新，单独创建实例失败，因为这样会将利用率提高到>50。因此，会引发TCAM过度使用错误。

没有原子更新：

1.在所有接口上应用ACL时：由于没有其他功能，该数字仍为29。

2.将NetFlow应用到第一个接口：交换机假定这是功能的单独配置/功能的组合（维护单独的内部标签），因此，在同一组上创建单独的实例。

3.一旦将NetFlow应用到为其配置了ACL的所有其他接口，配置/功能组合将相同（现在两个接口的标签都相同），因此会重新洗牌

4. TCAM现在已为两个接口共享，使用率回落至29.57%。

这是一种在不同接口上使用特征组合时的优化方法。

相关问题

CSCvs50014 子接口上的ACL和Netflow占用双TCAM条目

相关条目

https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus7000/sw/security/config/cisco_nexus7000_security_config_guide_8x/configuring_ip_acls.html

https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/6_x/nx-os/security/configuration/guide/b_Cisco_Nexus_7000_NX-OS_Security_Configuration_Guide__Release_6-x/b_Cisco_Nexus_7000_NX-OS_Security_Configuration_Guide__Release_6-x_chapter_01110.html#con_1458580