2.3. Ethernet Traffic Classification Sub-Data Item
Ethernet Traffic Classification Sub-Data Item 标识应作为单个流处理的 VLAN 和 PCP, 即接收相同流量处理的 VLAN 和 PCP. Ethernet PCP 支持作为 IEEE 802.1Q 标签格式 [IEEE8021Q] 的一部分定义, 其中包括一个 3 位 "PCP" 字段. 该标签格式还包括一个 12 位 "VLAN Identifier (VID)" 字段. PCP 在 Priority Field 列表中标识. 不支持 PCP 且希望到一个或多个目的地的所有流量获得相同流量处理的实现, 会指示 0 个 PCP. 这种实现可以为每个目的地标识一个要使用的 VLAN.
Ethernet Traffic Classification Sub-Data Item 的格式如下:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sub-Data Item Type (2) | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow Identifier (FID) |NumPCPs| VLAN Identifier (VID) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pri. 1| Pri. 2| ..... | ..... | ..... | Pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sub-Data Item Type: : 值为二 (2) 的 Sub-Data Item Type 标识第 2.1.1 节所定义格式中的 Ethernet Traffic Classification Sub-Data Item Type.
Length: : 可变.
Length 如上文所定义. 对于此 Sub-Data Item, 它等于四 (4) 加上容纳 NumPCPs 字段所指示 Priority Field 数量所需的八位字节数. 请注意, 由于长度以八位字节为单位且每个 Priority Field 为 4 位, 因此此 Sub-Data Item 的总长度为 Flow Identifier 的 2 个八位字节, 加上 NumPCPs 和 VLAN Identifier 的 2 个八位字节, 再加上 PCP 所需的八位字节数. PCP 的八位字节数通过将 NumPCPs 向上取整到最接近的偶数值后除以 2 来计算. 此 TLV 的最大长度为 4 加上 8 除以 2, 即 8 个八位字节.
Flow Identifier (FID): : 一个 16 位无符号整数, 表示 Sub-Data Item 中携带的, 将用于标识流的数据平面信息. 值 0xFFFF 是保留值, 不得在此字段中使用.
NumPCPs: : 一个 4 位无符号整数, 指示 Sub-Data Item 中携带的 Priority Field 数量. 零 (0) 表示对任何没有显式匹配到 FID 的 PCP 值进行 (wildcard) 匹配. wildcard 的典型用途是将任何未显式映射的 PCP 映射到默认队列. PCP 的最大数量为 8.
VLAN Identifier (VID): : 一个 12 位无符号整数字段, 指示流量分类中要使用的 VLAN. VID 值零 (0x000) 用于指示应忽略 VID. VID 0xFFF 是保留值. 从 0x001 到 0xFFE 的任何其他 VID 值都可用于流量分类. 任何显式映射的 VLAN 会先匹配. 任何没有映射的 VLAN 随后会映射到此默认映射.
Priority: : 每个 Priority Field 长 4 位, 指示 [IEEE8021Q] 中定义的 PCP 字段. 请注意, 零 (0) 是 PCP 的有效值.
0 1 2 3
+---+---+---+---+
| PCP |MBZ|
+---+---+---+---+
PCP: Priority Code Point [IEEE8021Q]
MBZ: Must Be Zero - 发送时设置为零.
Pad: : 一个长 4 位的字段, 在 NumPCPs 为奇数时包含. 该字段必须由发送方设置为零, 并且接收时必须忽略.