Cisco Nexus 9300 TCAM 雕刻

网络工程 思科 网络 ACL cisco-nexus 摄像头
2021-07-19 23:11:18

我有Cisco Nexus C9396PX L3交换机,我在它上面配置了一堆 ACL(入站)来拒绝/允许流量。现在,如果我尝试添加更多 ACL,则会收到 TCAM 表已满的错误消息。这是 tcam 的输出

如果您注意到一行Ingress IPv4 RACL 259 253 50.59It is for L3 ACL 并且达到了 50% 的利用率,但我仍然有50%空闲,那么为什么我无法添加更多规则?有一件事我注意到它的入口,所以可能我用完了所有入口条目,现在还有其他任何用于出口的东西..我说得对吗?

假设我没有在交换机上使用任何 L2 功能,并且想要给VACLtcam 大小,RACL这可能吗?

swt-c9396PX# show hardware access-list resource utilization

slot  1
=======



INSTANCE 0x0
-------------


         ACL Hardware Resource Utilization (Mod 1)
         ----------------------------------------------------------
                                        Used    Free    Percent
                                                        Utilization
-------------------------------------------------------------------
Ingress IPv4 PACL                       3       509     0.59
Ingress IPv4 Port QoS                   4       252     1.56
Ingress IPv4 VACL                       2       510     0.39
Ingress IPv4 RACL                       259     253     50.59
Egress IPv4 VACL                        3       509     0.59
Egress IPv4 RACL                        3       253     1.17
SUP COPP                                205     51      80.08
SUP COPP Reason Code TCAM               6       122     4.69
Redirect                                2       510     0.39
VPC Convergence                         1       255     0.39
sFlow Northstar ACL                     0       256     0.00

LOU                                     2       22      8.33
Both LOU Operands                       2
Single LOU Operands                     0
LOU L4 src port:                        1
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                            2       244     0.81
Mac Etype/Proto CAM                     0       14      0.00

L4 op labels, Tcam 0                    0       1023    0.00
L4 op labels, Tcam 2                    1       62      1.58
L4 op labels, Tcam 6                    0       2047    0.00

Ingress Dest info table                 0       512     0.00
Egress Dest info table                  0       512     0.00


INSTANCE 0x1
-------------


         ACL Hardware Resource Utilization (Mod 1)
         ----------------------------------------------------------
                                        Used    Free    Percent
                                                        Utilization
-------------------------------------------------------------------
Ingress NS IPv4 Port QoS                1       255     0.39
Ingress NS IPv4 L3 QoS                  1       255     0.39
Ingress NS IPv4 VLAN QoS                1       255     0.39

LOU                                     0       24      0.00
Both LOU Operands                       0
Single LOU Operands                     0
LOU L4 src port:                        0
LOU L4 dst port:                        0
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                            0       246     0.00
Mac Etype/Proto CAM                     0       14      0.00
1个回答

https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/6-x/security/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_Security_Configuration_Guide/b_Cisco_Nexus_9000_Series_NX-OS_Security_Configuration_9050905C05C05C05C105C1000000000000000

(引用自文档)原子 ACL 更新

默认情况下,当 Cisco Nexus 9000 系列设备的管理引擎模块使用 ACL 更改更新 I/O 模块时,它会执行原子 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 命令。

释义:如果您的 Nexus 上有一个 ACL,它使用了 51% 的 TCAMS,则在不关闭原子更新的情况下无法更新它,因为这将需要 102% 的 TCAMS。