ON THIS PAGE
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:
-
Service-provider style interfaces on leaf devices acting as VTEPs in the EVPN-VXLAN network.
-
Other VLAN options for VXLAN traffic, such as:
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.
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.
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.
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.
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.
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.
| 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 |