5.3.6.2 添加 TCAM 补充条目(TCAM Follow-up Entries)
Marvell 88Q5072 添加一个新的补充组(Follow-up Groups)用于TCAM 补充条目(TCAM Follow-up Entries):
- 在 TCAM 选项卡上,右键单击“补充组(Follow-up Groups)”,然后单击“添加 TCAM 补充组(Add TCAM Follow-up group)”。
- 右键单击所创建的新补充组,然后单击“添加 TCAM 补充条目(Add TCAM Follow-up entry)”。
- 在下拉菜单中提供“(Follow-up group Key)”。这个Key将补充组(Follow-up group)与一个或多个基础条目(Base entries)进行关联。在提供的示例中,将此Key设置为 6,如下图1,使得补充组与索引为 0 的基础条目(Base entry)相关联,如下图2。
图1:Follow-up group Key 设置为6
图2:将关联的 Follow-up group Key 设置为6
-
选择新创建的补充条目(Follow-up Entry),如下图3所示。
图3:Follow-up Entry 内容
-
确保选择Slot Entry号以指定此 TCAM 条目在组内同级条目中的优先级。Slot Entry号越低,优先级越高。
-
为该条目指定数据和掩码字节。有关不同方法的描述,请参考:5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-3
注意:如果要在补充条目(Follow-up entry)中添加操作,最好将相应基础条目(Base entry)中的帧行为移除。 -
选择适当的入口操作,并选择在匹配时执行的帧行为。
有关可用操作的描述,请参考:5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-3 -
可选的:
通过重复步骤 3 到 6 来新增 TCAM 补充条目(TCAM follow-up entries)。
在添加更多 TCAM 补充条目(TCAM follow-up entries)时,可以选择它们是作为组内的第一个还是最后一个条目添加(Slot号确定优先级)。结合与适当 TCAM 基础条目的优先级,决定了它们与传入帧进行比较的顺序。 -
创建更多补充组(Follow-up Groups)和单独条目,并将它们与适当的基础条目(Base entry)联系起来。请留意条目的Slot号,以保持预期的行为。
-
始终在较低的索引中定义最具体的规则,然后继续添加更普遍的规则。例如,对于 88Q5072 规则 255 或 88Q5152 规则 511,可以作为一条“全拒绝规则(Drop-all rule)”在长列表中的更低索引规则后面。
-
要在交换机上激活修改后的 TCAM 配置,请选择菜单选项“显示配置项目顺序和启用状态(Show configuration Item order and Enable state)”下相应的选项,然后点击“激活配置(Activate Configuration)”。这也会提交您已启用的其他最近的配置更改(来自所有选项卡),并将它们激活。
慎重提醒
TCAM 管道在数据包上分阶段工作。首先,将评估前 48 字节(基础)条目,并选取具有最低索引的匹配项。如果此基础条目具有补充组,将评估补充组中的条目。如果其中有一个匹配,将执行相应的操作,并匹配过程停止。如果补充组中的条目都不匹配,则 TCAM 将不继续评估更高索引的基础条目。
示例:
您有 3 条 96 字节长度的规则,用于搜索具有特定 UDP 端口号和特定 VLAN ID 的 IPv6 数据包。如果数据包无法匹配这些规则中的任何一条,您希望在最后一个索引处设置一条全拒绝规则(Drop-all rule )。VLAN ID 将由前 48 字节阶段进行目标指定;UDP 端口号则属于补充组。具有不同 VLAN ID 的 IPv6 数据包将被全拒绝规则命中。另一方面,如果某个 IPv6 数据包的前 48 字节与这 3 条规则中的一条匹配,但补充部分不匹配,则不会被全拒绝规则排除。这种情况的原因是全拒绝规则的基础部分未匹配到数据包,因此不关心是否与补充部分匹配。
解决此现象的方法是在每个补充组内创建全拒绝规则。另外,也可以通过利用 TCAM 的一些较不常见功能来开发自定义解决方案。