Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Copy 802.1p Class of Service Priority from VLAN C-tags to VLAN S-tags in EVPN-VXLAN Network Traffic

Enable devices to copy or preserve the 802.1p class-of-service (CoS) priority between customer VLAN headers (C-tags) and service provider VLAN headers (S-tags) in EVPN-VXLAN traffic.

You can enable the VXLAN endpoint devices (VTEPs) in an EVPN-VXLAN network to preserve the intended CoS priority of the traffic across upstream and downstream VLAN tagging operations. With this feature, when an egress VTEP interface pushes an S-tag onto a packet, the device copies the priority bits in the C-tag to the S-tag, and preserves priority in the C-tag. The C-tag priority bits remain unchanged in the VXLAN tunnel.

Enable this feature using the vxlan-enable-dot1p-copy option at the [edit forwarding-options] or the {edit routing-instances name forwarding-options] hierarchy level.

We support this option with:

Also note that:

  • This option isn't supported with overlapping VLANs or VLAN translation features.

  • If you enable this feature on an interface where you also have configured VLAN rewrite options, this feature takes precedence over the VLAN rewrite settings.

  • This option behaves the same when a VTEP maps a range of C-VLANs to one S-VLAN. Each packet has one C-tag with one VLAN in the mapped range of C-VLANs. In the use cases where the egress VTEP copies the priority from the C-tag to the S-tag, the VTEP copies the priority for any C-VLAN in the mapped range of VLANs.

The next sections illustrate the behavior and traffic flow with this option in different single-tagged and double-tagged packet use cases.

Use Case 1: Ingress Leaf Forwards a Single-tagged Packet, Egress Leaf Pushes an S-tag and Forwards the Double-tagged Packet

Figure Figure 1 shows the case where the ingress VTEP receives a single-tagged packet and forwards that packet through the VXLAN tunnel with the C-tag priority bits unchanged. On the egress side, the VTEP pushes an S-tag onto the packet and forwards the resulting double-tagged packet. In this case, with the vxlan-enable-dot1p-copy option set, the egress VTEP copies the C-tag priority bits to the S-tag priority bits before forwarding the packet.

Figure 1: Single-tagged Packet with S-tag Pushed at Egress Single-tagged Packet with S-tag Pushed at Egress

Use Case 2: Ingress Leaf Pops the S-tag from a Double-tagged Packet, Egress Leaf Transparently Forwards the Single-tagged Packet

Figure Figure 2 shows the case where the ingress VTEP receives a double-tagged packet, pops the S-tag, and forwards the resulting single-tagged packet through the VXLAN tunnel with the C-tag priority bits unchanged. In this case, with the vxlan-enable-dot1p-copy option set, the egress VTEP receives and forwards the single-tagged packet with the C-tag priority bits unchanged.

Figure 2: Double-tagged Packet with S-tag Popped at Ingress Double-tagged Packet with S-tag Popped at Ingress

Use Case 3: Ingress Leaf Pops the S-tag from a Double-tagged Packet, Egress Leaf Pushes an S-tag and Forwards the Double-tagged Packet

Figure Figure 3 shows the case where the ingress VTEP receives a double-tagged packet, pops the S-tag, and forwards the resulting single-tagged packet through the VXLAN tunnel with the C-tag priority bits unchanged. On the egress side, the VTEP pushes an S-tag onto the packet and forwards the resulting double-tagged packet. In this case, with the vxlan-enable-dot1p-copy option set, the egress VTEP copies the C-tag priority bits to the S-tag priority bits before forwarding the packet.

Figure 3: Double-tagged Packet with S-tag Popped at Ingress and S-tag Pushed at Egress Double-tagged Packet with S-tag Popped at Ingress and S-tag Pushed at Egress

Use Case 4: Ingress Leaf Transparently Forwards a Single-tagged Packet, Egress Leaf Transparently Forwards the Single-tagged Packet

Figure Figure 4 shows the case where the ingress VTEP receives a single-tagged packet and forwards that packet through the VXLAN tunnel with the C-tag priority bits unchanged. With the vxlan-enable-dot1p-copy option set, the egress VTEP forwards the single-tagged packet with no change to the C-tag priority bits.

Figure 4: Single-tagged Packet Forwarded Transparently Single-tagged Packet Forwarded Transparently

Use Case 5: Ingress Leaf Transparently Forwards a Double-tagged Packet, Egress Leaf Transparently Forwards the Double-tagged Packet

Figure Figure 5 shows the case where the ingress VTEP receives a double-tagged packet and forwards that packet through the VXLAN tunnel with the S-tag and C-tag priority bits unchanged. With the vxlan-enable-dot1p-copy option set, the egress VTEP also forwards the double-tagged packet with no change to the S-tag or C-tag priority bits.

Figure 5: Double-tagged Packet Forwarded Transparently Double-tagged Packet Forwarded Transparently

Tagged Packet Use Cases Behavior Summary

See Table 1 for a summary of the expected behavior for the use cases described above when the ingress VTEP interface or egress VTEP interface (the user-to-network interface [UNI]) performs an S-tag push or pop action. No change happens to the packet in the VXLAN tunnel between the VTEP network-to-network interfaces (NNIs), which the table indicates in the "Ingress and Egress NNI Port Actions" column.

Table 1: Expected Packet Outcome With and Without Dot1p Priority Copy Option Enabled
Packet Type Ingress UNI Port Action Ingress and Egress NNI Ports Actions Egress UNI Port Action Outcome with Dot1p Priority Copy Enabled Default Outcome (Dot1p Priority Copy Not Enabled)

Use Case 1: Single-tagged packet, C-tag with priority bits

None

None

Push an S-tag

S-tag priority bits = C-tag priority.

Output: Double-tagged packet.

S-tag priority = 0, C-tag priority preserved.

Output: Double-tagged packet.

Use Case 2: Double-tagged packet, C-tag and S-tag with priority bits

Pop the S-tag

None

None

C-tag priority is preserved.

Output: Single-tagged packet.

C-tag priority = 0.

Output: Single-tagged packet.

Use Case 3: Double-tagged packet, C-tag and S-tag with priority bits

Pop the S-tag

None

Push an S-tag

S-tag priority = C-tag priority; C-tag priority is preserved.

Output: Double-tagged packet

C-tag priority is preserved; S-tag priority = 0.

Output: Double-tagged packet

Use Case 4: Single-tagged packet, C-tag with priority bits

None

None

None

C-tag priority is preserved.

Output: Single-tagged packet

C-tag priority is reset to 0.

Output: Single-tagged packet

Use Case 5: Double-tagged packet, C-tag and S-tag with priority bits

None

None

None

On ingress and egress, C-tag and S-tag priorities are preserved.

Output: Double-tagged packet

S-tag priority = 0; C-tag priority is preserved.

Output: Double-tagged packet