The QFX device will fail to commit with the following error if unicast and multicast queues are clubbed in the same "forwarding-class-sets"
error: forwarding-class-set rh-schedule has unicast and multicast forwarding classes clubbed error: configuration check-out failed
Sample configuration to reproduce the error:
et class-of-service classifiers dscp RH-QOS forwarding-class expedited-forwarding loss-priority low code-points ef set class-of-service classifiers dscp RH-QOS forwarding-class signaling loss-priority low code-points cs3 set class-of-service classifiers dscp RH-QOS forwarding-class priority loss-priority low code-points af21 set class-of-service classifiers dscp RH-QOS forwarding-class video loss-priority low code-points cs4 <-- Classifiers set class-of-service classifiers dscp RH-QOS forwarding-class bulk loss-priority low code-points cs1 set class-of-service classifiers dscp RH-QOS forwarding-class network-control loss-priority low code-points cs6 set class-of-service forwarding-classes class best-effort queue-num 0 set class-of-service forwarding-classes class expedited-forwarding queue-num 1 set class-of-service forwarding-classes class network-control queue-num 7 set class-of-service forwarding-classes class signaling queue-num 4 set class-of-service forwarding-classes class video queue-num 5 set class-of-service forwarding-classes class priority queue-num 6 set class-of-service forwarding-classes class bulk queue-num 8 <-- 8 is the multicast queue set class-of-service traffic-control-profiles rh-schedule scheduler-map rh-schedule <-- Traffic Control Profile set class-of-service traffic-control-profiles rh-schedule shaping-rate 100m set class-of-service forwarding-class-sets rh-schedule class best-effort set class-of-service forwarding-class-sets rh-schedule class video set class-of-service forwarding-class-sets rh-schedule class signaling set class-of-service forwarding-class-sets rh-schedule class priority set class-of-service forwarding-class-sets rh-schedule class network-control set class-of-service forwarding-class-sets rh-schedule class expedited-forwarding set class-of-service forwarding-class-sets rh-schedule class bulk <-- Multicast queue is added in the same "forwarding-class-sets" as unicast queues set class-of-service schedulers rh-expedited-forwarding shaping-rate 10m set class-of-service schedulers rh-expedited-forwarding buffer-size percent 10 set class-of-service schedulers rh-signaling transmit-rate percent 17 set class-of-service schedulers rh-signaling buffer-size percent 17 set class-of-service schedulers rh-video transmit-rate percent 17 set class-of-service schedulers rh-video buffer-size percent 17 <-- Respective Scheduler Map Configuration set class-of-service schedulers rh-priority transmit-rate percent 17 set class-of-service schedulers rh-priority buffer-size percent 17 set class-of-service schedulers rh-bulk shaping-rate percent 17 set class-of-service schedulers rh-bulk buffer-size percent 17 set class-of-service schedulers rh-best-effort transmit-rate percent 17 set class-of-service schedulers rh-best-effort buffer-size remainder set class-of-service schedulers rh-network-control transmit-rate percent 5 set class-of-service schedulers rh-network-control buffer-size percent 5 set class-of-service scheduler-maps rh-schedule forwarding-class video scheduler rh-video set class-of-service scheduler-maps rh-schedule forwarding-class priority scheduler rh-priority set class-of-service scheduler-maps rh-schedule forwarding-class best-effort scheduler rh-best-effort set class-of-service scheduler-maps rh-schedule forwarding-class signaling scheduler rh-signaling set class-of-service scheduler-maps rh-schedule forwarding-class network-control scheduler rh-network-control set class-of-service scheduler-maps rh-schedule forwarding-class expedited-forwarding scheduler rh-expedited-forwarding set class-of-service scheduler-maps rh-schedule forwarding-class bulk scheduler rh-bulk <-- Multicast scheduler-map is clubbed with Unicast
We cannot have unicast and multicast forwarding classes clubbed in the same forwarding-class-set.
Hence, we need to create separate traffic-control-profiles, forwarding-class-sets and scheduler-maps for multicast traffic as below:
set class-of-service traffic-control-profiles mcast scheduler-map mcast set class-of-service forwarding-class-sets mcast class bulk set class-of-service scheduler-maps mcast forwarding-class bulk scheduler rh-bulk
If this CoS configuration has to be applied on an interface, two traffic-control-profiles has to be applied as shown below:
set class-of-service interfaces ge-0/0/10 forwarding-class-set rh-schedule output-traffic-control-profile rh-schedule set class-of-service interfaces ge-0/0/10 forwarding-class-set mcast output-traffic-control-profile mcast