5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-4-添加 TCAM 补充条目

5.3.6.2 添加 TCAM 补充条目(TCAM Follow-up Entries)

Marvell 88Q5072 添加一个新的补充组(Follow-up Groups)用于TCAM 补充条目(TCAM Follow-up Entries):

  1. TCAM 选项卡上,右键单击“补充组(Follow-up Groups)”,然后单击“添加 TCAM 补充组(Add TCAM Follow-up group)”。
  2. 右键单击所创建的新补充组,然后单击“添加 TCAM 补充条目(Add TCAM Follow-up entry)”。
  3. 在下拉菜单中提供“(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
在这里插入图片描述

  1. 选择新创建的补充条目(Follow-up Entry),如下图3所示。
    图3:Follow-up Entry 内容
    在这里插入图片描述

  2. 确保选择Slot Entry号以指定此 TCAM 条目在组内同级条目中的优先级。Slot Entry号越低,优先级越高。

  3. 为该条目指定数据和掩码字节。有关不同方法的描述,请参考:5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-3
    注意:如果要在补充条目(Follow-up entry)中添加操作,最好将相应基础条目(Base entry)中的帧行为移除。

  4. 选择适当的入口操作,并选择在匹配时执行的帧行为。
    有关可用操作的描述,请参考:5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-3

  5. 可选的:
    通过重复步骤 3 到 6 来新增 TCAM 补充条目(TCAM follow-up entries)。
    在添加更多 TCAM 补充条目(TCAM follow-up entries)时,可以选择它们是作为组内的第一个还是最后一个条目添加(Slot号确定优先级)。结合与适当 TCAM 基础条目的优先级,决定了它们与传入帧进行比较的顺序。

  6. 创建更多补充组(Follow-up Groups)和单独条目,并将它们与适当的基础条目(Base entry)联系起来。请留意条目的Slot号,以保持预期的行为。

  7. 始终在较低的索引中定义最具体的规则,然后继续添加更普遍的规则。例如,对于 88Q5072 规则 255 或 88Q5152 规则 511,可以作为一条“全拒绝规则(Drop-all rule)”在长列表中的更低索引规则后面。

  8. 要在交换机上激活修改后的 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 的一些较不常见功能来开发自定义解决方案。

相关推荐

  1. arm方式

    2024-04-28 09:06:03       60 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 09:06:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 09:06:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 09:06:03       87 阅读
  4. Python语言-面向对象

    2024-04-28 09:06:03       96 阅读

热门阅读

  1. 快速了解 git 和 github 是什么,30 分钟速通版

    2024-04-28 09:06:03       27 阅读
  2. 江苏宿迁服务器的优势有哪些?

    2024-04-28 09:06:03       33 阅读
  3. MySQL商城数据表(20-29)

    2024-04-28 09:06:03       29 阅读
  4. INITRANS

    2024-04-28 09:06:03       34 阅读
  5. js构造模式的解释和例子和优缺点

    2024-04-28 09:06:03       29 阅读
  6. PostgreSQL的扩展(extensions)-常用的扩展之PostGIS

    2024-04-28 09:06:03       36 阅读
  7. js动态设置css主题(Style-setProperty)

    2024-04-28 09:06:03       36 阅读
  8. js 延迟加载的⽅式有哪些

    2024-04-28 09:06:03       28 阅读
  9. 最短路(Dijkstra, Bellman-Ford, SPFA, Floyd)

    2024-04-28 09:06:03       26 阅读
  10. 数据结构与算法-图论-DFS/BFS

    2024-04-28 09:06:03       27 阅读
  11. 【笔记】 - Git

    2024-04-28 09:06:03       29 阅读
  12. isort库,一款超级神奇排序和格式化Python工具

    2024-04-28 09:06:03       33 阅读
  13. 解决eureka服务注册名报错

    2024-04-28 09:06:03       33 阅读