...
"hardware qos mpls exp topmost pipe-mode" with "set mpls experimental topmost ? should not rewrite the packet DSCP, but in M3 its broken.
When qos action is "set mpls experimental topmost ? on PE-1, we treat this is a uniform mode. In uniform mode inner packet dscp is modified based on the . But, "hardware qos mpls exp topmost pipe-mode? with ?experimental topmost " should not change the inner cos as per the customer needs. But in M3, its rewriting DSCP value.
PE-1 : PE-1# sh run | inc hard hardware qos mpls exp topmost pipe-mode PE-1# PE-1# sh policy-map interface ethernet 1/4 type qos Global statistics status : enabled Ethernet1/4 Service-policy (qos) input: sample SNMP Policy Index: 285214816 Class-map (qos): match_dscp_10 (match-all)====> IP packet ingressing with DSCP#10 Slot 1 3096152587 packets 142425355940 bytes 5 minute offered rate 2738140090 bps Aggregate forwarded : 3096152587 packets 142425355940 bytes Match: dscp 10 set mpls experimental topmost 7====> QOS action is : set mpls experiment topmost 7 with hardware qos mpls exp topmost pipe-mode. ====> This should not change the packet DSCP (inner). But in the case of M3, its getting rewritten in the ingress PE. Class-map (qos): class-default (match-any) Slot 1 28 packets 1722 bytes 5 minute offered rate 32 bps Aggregate forwarded : 28 packets 1722 bytes PE-1# PE-2 : E-1-PE-2# sh policy-map interface ethernet 1/44 type qos Global statistics status : enabled Ethernet1/44 Service-policy (qos) output: egress-new-qos SNMP Policy Index: 285213778 Class-map (qos): match_dscp_10 (match-all)====> Expected : Ingress PE-1 should not rewrite the DSCP, and expected packet to be classified here, but its rewritten based on EXP set. Aggregate forwarded : 0 packets Match: dscp 10 police cir 2 gbps bc 200 ms conformed 0 bytes, 0 bps action: transmit violated 0 bytes, 0 bps action: drop Class-map (qos): match_dscp_63 (match-all) Slot 1 2817442757 packets 2105306975838 bytes 5 minute offered rate 2738131861 bps Aggregate forwarded : 2817442757 packets 1105813614952 bytes Match: dscp 63 police cir 2 gbps bc 200 ms conformed 1105812579492 bytes, 1438155974 bps action: transmit violated 999493360886 bytes, 1299976941 bps action: drop Class-map (qos): match_dscp_0 (match-all) Aggregate forwarded : 0 packets Match: dscp 0 police cir 2 gbps bc 200 ms conformed 0 bytes, 0 bps action: transmit violated 0 bytes, 0 bps action: drop Class-map (qos): match_dscp_5 (match-all) Aggregate forwarded : 0 packets Match: dscp 5 Class-map (qos): class-default (match-any) Aggregate forwarded : 0 packets PE-1-PE2