Regarding our current Cisco QoS implementation, to get a deeper understanding I would have some questions
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