Cisco QoS trust and cos-dscp dscp-cos Mapping behaviors

ciscocisco-catalystcisco-nexusqos

Regarding our current Cisco QoS implementation, to get a deeper understanding I would have some questions

I read this:
https://www.cisco.com/c/en/us/support/docs/wireless-mobility/voice-over-wireless-lan-vowlan/116056-technote-qos-00.html

When you enter the mls qos trust DSCP command on a port, the switch
uses the DSCP value on incoming packets in order to put the packets in
the right queue (internal voice, video, or best effort queue). When
the packet is resent on another port, the switch sets the CoS tag to
match the DSCP so there is no conflict between the two values; if the
CoS tag is present, it is a trunk port.

When you enter the mls qos trust cos command on a port, the switch
uses the CoS marking on incoming packets in order to put the packet in
the right queue. When the packet is resent, the switch makes the DSCP
value correspond to the CoS.

Based on this information, I would have these questions with these following scenarios:

In case of tagged packets arriving with default cos, and DSCP at ef, with trust DSCP on the switch trunk port, does the switch will overwrite the cos value of the packets to the cos-dscp map associated cos value?

In case of tagged packets arriving with cos 5, and DSCP at default 0, with trust DSCP on the switch trunk port, does the switch will overwrite the cos value of the packet to 0?

In case of untagged packets arriving with DSCP at 46, and no cos (no 802.1p), with trust cos on the switch access port, does the switch will erase the DSCP value ?

Additionally, I know some Catalyst like 3850, 4500, or Nexus, have a default trust DSCP.

Does it mean that default in case of cos marking, with no DSCP marking, in these platforms, the packets will loose their cos due to the dscp-cos mapping when the switch will resent packets ?

Many thanks in advance for the clarifications

Best Answer

In case of tagged packets arriving with default cos, and dscp at ef, with trust dscp on the switch trunk port, does the switch will overwrite the cos value of the packets to the cos-dscp map associated cos value?

Yes as long as a table map is defined/applied.

In case of tagged packets arriving with cos 5, and dscp at default 0, with trust dscp on the switch trunk port, does the switch will overwrite the cos value of the packet to 0?

Yes, again as long as a table map is defined

In case of untagged packets arriving with dscp at 46, and no cos (no 802.1p), with trust cos on the switch access port, does the switch will erase the dscp value ?

The behaviour will depend on your table-map. If you don't have one defined, the DSCP field will be preserved.

Additionally, I know some Catalyst like 3850, 4500, or Nexus, have a default trust dscp.

Does it mean that defaulty in case of cos marking, with no dscp marking, in these platforms, the packets will loose their cos due to the dscp-cos mapping when the switch will resent packets ?

No - from the ISO-XE CoS docs (https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3850/software/release/3se/qos/configuration_guide/b_qos_3se_3850_cg/b_qos_3se_3850_cg_chapter_011.html):

Note that the default trust mode for a port is DSCP based. The trust mode ‘falls back’ to CoS if the incoming packet is a pure Layer 2 packet.