ACI QoS Dot1p Preserve Explained

When traffic enters the Cisco ACI fabric, each packet is mapped to a Cisco ACI QoS level (default is Level3). These QoS levels are then stored in the CoS field and DEI bit of the packet’s outer L2 header while the original dot1q headers are discarded (including dot1p value).

APIC enables preserving 802.1P class of service (CoS) settings within the fabric. Enable the fabric global QoS policy dot1p-preserve option to guarantee that the CoS value in packets which enter and transit the ACI fabric is preserved.


How CoS Dot1p Preserve works

If Preserve CoS (Dot1p Preserve) is enabled, the VXLAN DSCP header that is used within the fabric and on an IPN, if you carry this traffic on a routed network between PODs, carries both the information about the original Class of Service (CoS) from the incoming packet and the QoS class level (qos-group) of the EPG. This ensures that, when the traffic leaves the fabric from an EPG, the CoS of the packet is set to the same value as the original frame, unless you configured a Custom QoS policy to overwrite it.


Notes:

  • ACI always (even without dot1p preserve):
    • Rewrite the assigned class level in Outer COS in 3 less significant bits of Outer DSCP
    • Rewrite the Original COS into the 3 most significant bits of Outer DSCP field.
  • With Dot1p Preserve Enabled, ACI also copies the Original frame COS value (DEI bit not copied) and rewrite it in the 3 most significant bits of the VXLAN outer DSCP field.
    Once the packet is reaches the Egress leaf, the Egress switch will get the original COS value from Outer DSCP (3 most significant bits) and write it to outgoing frame COS.

    This way the COS is preserved.
  • The CoS preservation is supported in single pod and multipod topologies.


Configuration

From APIC GUI, Fabric > Access Policies > Policies > Global Policies > QOS Class and check the dot1p preserve knob:


CoS Preserve Guidelines

  • If dot1p preserve is configured, the incoming traffic is assigned to the QoS group or level based on the EPG configuration, but the original CoS is maintained across the fabric.
  • If dot1p preserve is configured and custom QoS is configured without a target CoS value, the original CoS is preserved. If instead the configuration specifies a target CoS, then the CoS is rewritten to the target CoS.


CoS Preserve Limitations

  • Only the CoS value within a VLAN header is preserved, the DEI bit is not preserved.
  • For VXLAN encapsulated packets, the CoS value contained in the outer header is not preserved.
  • CoS values are not preserved when the following configuration options are enabled:
    • Contracts are configured that include QoS.
    • The outgoing interface is on a Fabric Extender (FEX) because FEX follows a static mapping table based on VLAN CoS or (dot1p value) received. Use Cisco ACI Multi-Pod instead of CoS Preservation Policy for egress QoS classification on FEX Host Interfaces (HIF) ports.
    • Traffic is flowing from an EPG with isolation enforced to an EPG without isolation enforced.
    • A DSCP QoS policy is configured on a VLAN EPG and the packet has an IP header.



References:

[1] https://www.cisco.com/c/en/us/td/docs/dcn/whitepapers/cisco-application-centric-infrastructure-design-guide.html#QualityofServiceQoSInCiscoACI

[2] https://www.cisco.com/c/en/us/td/docs/switches/datacenter/aci/apic/sw/kb/Cisco-APIC-and-QoS.html#concept_24A92CE562EB4A72A0953D864D2FA6E4

Bilel Ameur

Enthusiastic Network Engineer specializing in Cisco ACI, passionate about solving challenges. A lifelong learner who loves gaining and sharing knowledge. Profile: https://www.linkedin.com/in/bilel-ameur-71116b2b5
0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x