作者:老板来份猪脚拼叉烧

5.3.6 使用Marvell官方配置工具:TCAM(三态内容寻址存储器)-2

5.3.6.1 添加TCAM基本条目

添加一个新的 TCAM 基础条目:

  1. TCAM 标签页中,在左侧窗格中,右击“基础条目(Base Entries )”并选择添加 TCAM 条目(Add TCAM Entry),如下图1。
    图1:添加 TCAM 条目
    Add TCAM Entry

  2. 展开“基础条目(Base Entries)”以找到一个新的基础条目 - TCAM entry,点击 TCAM entry以打开配置窗口,如下图2 所示。
    注:TCAM entry - Slot: 0 中的 “ - Slot: 0”是双击后手动重命名的。
    图2:TCAM entry
    TCAM entry

  3. 在下拉菜单中,您可以更改 TCAM 条目的索引-Slot (Entry#)。索引越低,TCAM 条目的优先级越高。例如,索引为 0 的这条规则将优先于其他任何匹配的 TCAM 规则,如下图3。
    图3:TCAM 条目的索引-Slot (Entry#)
    Slot Entry#

  4. 可选: 要将 48 字节的 TCAM 基础条目扩展到 96 字节,请右击“后续分组(Follow-up Groups )”并选择添加后续 TCAM 分组(Add Follow-up TCAM Group),现在展开并右击新创建的群组并点击添加 TCAM 后续条目(Add TCAM Follow-up Entry),这使得可以配置第二个 48 字节的 TCAM 后续条目。在下图4的示例中,创建了一个后续分组 6 并与此基础条目链接。 有关如何设置 TCAM 后续分组的信息,请参见本专栏的第 5.3.6.2 章节
    图4:Add TCAM Follow-up Entry
    Add Follow-up TCAM Group

  5. 有关如何更改数据和掩码的说明,请参见第 5.3.6.1.1 节(后续补充链接)。
    注意:如果掩码被设置为 0,为了触发 TCAM 匹配,数据也应该被设置为 0。

  6. 以十六进制输入源端口向量(Source Port Vector
    a) 例如,要选择端口 6 作为源端口,源端口向量(Source Port Vector )应设置为 0x0040,因为此值为位域值,其中 Bit0 表示端口 0,依此类推,如下图6。TCAM 规则可以配置为在入站时针对多个端口。
    0x0040 = 0b0000 0000 0100 0000, 对应 bit6。
    图6:端口向量 Source Port Vector
    Source Port Vector

  7. 对于 48 字节的 TCAM 条目,可以通过勾选“操作(Actions)”和“入站操作**( Ingress Actions)**”来选择动作。这些是在规则匹配时将要执行的动作。
    Actions Ingress Actions

    a) 对于 96 字节的 TCAM 条目,动作是在后续条目(follow-up entries)中定义的,此时应取消勾选“入站操作**( Ingress Actions)**”复选框。
    可以执行以下入站动作:

  • 丢弃帧Drop Frame) - 将丢弃被过滤的帧。此动作将帧的颜色标记为“红色”,导致其被丢弃而不增加任何计数器。如果您也试图使用 TCAM 计数器与丢弃规则一起使用,请不要使用此选项,而应使用下文介绍的 DPV 覆盖(DPV Override)。

  • 流 IDFlow ID) - 为管理 CPU 添加一个流 ID (Flow ID)以检测帧。管理 CPU 可以测试帧头的流 ID 字段,并使用非零值执行特定的协议帧处理,无需解码帧内容,因为 TCAM 已经完成了解码。这可以极大地减轻 CPU 负担并提高其性能。

  • 计数器增量Counter Increment) - 被过滤的帧将计入所选 TCAM 计数器(InTCAMCtr0 至 InTCAMCtr3)。MIB 计数器(MIB Counters)可以通过调试工具 Automotive_SwitchGUI V2.0.2 或更高版本进行检查。有关这些计数器的详细描述,请参见相应设备的功能规范中的 MAC 和基于策略的 RMON/统计计数器(MAC and Policy-Based RMON/Statistics Counters )部分。

  • 队列优先级覆盖Queue Priority Override) - 将覆盖被过滤帧的队列优先级。勾选复选框并输入新的队列优先级。
    注:队列优先级覆盖(Queue Priority Override)仅是交换机内部分配给数据包的优先级。这不会以任何可见的方式影响数据包。

  • 帧优先级覆盖Frame Priority Override) - 将覆盖已过滤帧的帧优先级。勾选复选框并输入新的帧优先级。如果已相应配置VLAN表,则新优先级将体现在分组出口的VLAN标记中。
    Drop Frame Counter Increment Queue Priority Override

  • DPV覆盖模式DPV Override Mode)- TCAM操作将限制或替换分组的目标端口向量(Destination Port Vector)。ATUVTU参与确定DPV,并将提供一个描述分组应转发到何处的位掩码(bit-mask)。对于“DPV覆盖模式 DPV Override Mode”的值(1)将对该掩码的位与“DPV覆盖 DPV Override”(下方)中的位进行AND运算。值(2)表示OR 操作(类似于镜像)。值(3)完全覆盖ATU和VTU的决策。请勿使用值(0)
    特殊情况是设置“DPV覆盖模式 (DPV Override Mode)”为(3)且“DPV覆盖(DPV Override)”为0x0。这样可使您丢弃帧并同时使用TCAM计数器。
    注:DPV 是目的端口向量(Destination Port Vector)的缩写,它用于确定数据包应发送到网络中的哪个端口。在以太网中,DPV 用于指示数据包的目标端口或端口组合。通常由交换机的硬件表(如 TCAM、ATU、VTU 等)根据目的地址和 VLAN 信息进行计算和分配。

  • DPV覆盖(十六进制)DPV Override (hex) ) - 将使用该向量来更改或限制分组将发送到的目标端口。根据“DPV覆盖模式(DPV Override Mode)”,由MAC地址和VLAN表(VLAN table)作出的决定将受到限制或覆盖。在字段中必须提供一个十六进制值,其中Bit0代表Port0,Bit1代表Port1,依此类推。
    例如,Port 9 应表示为0x200,0x200即0b0000 0010 0000 0000,Bit9 为 1 表示 Port 9。

  • VID覆盖VID Override)- 将已过滤帧的VLAN ID覆盖为新ID(仅在之前定义了具有此新ID的VLAN时才会生效)。
    输入VLAN ID(以十进制提供),如下图。
    注:VID 即 VLAN ID。
    VID Override
    重要提示: 在入口阶段,数据包传递到 VTU 表之前,VLAN ID 将被覆盖。如果新的 VLAN ID 不是入口端口的成员,并且该端口设置为“802.1Q Secure”模式,数据包将不被允许进入。如果您不希望在入口端口声明新的 VLAN ID,那么将入口端口设置为“802.1Q Check”模式。
    帧行为覆盖数据Frame Action Override Data)(TCAM Register Page 2,Offset 0x08)- 此功能允许您以多种方式更改数据包状态。勾选此框将强制所有下面的覆盖位应用于该帧。例如:您想将该帧标记为管理帧。
    请注意正确选择或不选择“源标记(Source Tagged)”框,因为这将告诉交换机该入端帧是否已有 VLAN 标记。
    在这里插入图片描述

    • 源标记(Source Tagged)
      o 覆盖 VLAN 标记的检测机制。无论数据包是否已标记(tagged),勾选此框将告诉交换机在数据包中找到了以太网类型 0x8100,接着是 VLAN ID 和优先级。
      o 若不勾选此框,则将强制数据包被视为未标记(untagged)。如果现在要用 TCAM 操作覆盖 VLAN ID,数据包将获取额外的“外层”VLAN 标记。
      o (例如)这可用于将数据包转发到 CPU 并使用 VLAN ID 告诉 CPU 命中的 TCAM 规则的索引。另外,也可用于将数据包转发到具有新 VLAN ID 的干线端口。
  • Provider VID

  • Mgmt (Management)

  • ARP

  • Snoop

  • Mirror

  • Trap

  • SaAvbNrl

  • DaAvbNrl

  • Do Not Learn

  • Good AVB
    有关选择 / 取消上述每个帧行为覆盖数据选项的影响的更详细说明,请参考相应设备寄存器规格说明书(Register Specification)。
    注:当前配置工具包中附带的固件未实现任何额外的 TCAM 功能。
    在基于固件 SDK 实现Trap功能时,必须考虑此功能仅适用于低流量情况。更高的流量速率会给内部 CPU 造成过大的负担。

注:Trap 功能是一种用于处理网络数据包的特殊处理方法。当启用 Trap 功能时,交换机不会正常转发数据包,而是会将这些数据包传递到预定义的处理程序或处理逻辑中。这使得管理员可以对特定类型的网络流量进行监视、分析或其他专门处理,而不是简单地进行传统的转发操作。Trap 功能通常用于监控、调试或实施特定安全策略等方面。

要在交换机上激活修改后的 TCAM 配置,请在菜单选项“显示配置项目顺序和启用状态(Show configuration Item order and Enable state)”下选择相关选项,如下图,然后点击“激活配置(Activate Configuration)”。这还会提交您已启用的其他最近的配置更改(来自所有选项卡),并将它们激活。
注:不同的软件版本所显示的字符串有少许差异。
Show configuration Item order and Enable state