drop-profiles { expedited-high { interpolate { fill-level [ 85 90 ]; drop-probability [ 1 100 ]; } } expedited-low { fill-level 100 drop-probability 100; } assured-high { interpolate { fill-level [ 70 100 ]; drop-probability [ 1 100 ]; } } assured-low { interpolate { fill-level [ 85 90 95 100 ]; drop-probability [ 1 5 25 100 ]; } } medium-low { interpolate { fill-level [ 80 85 100 ]; drop-probability [ 1 10 100 ]; } } best-low { interpolate { fill-level [ 70 100 ]; drop-probability [ 1 100 ]; } } best-high { interpolate { fill-level [ 60 100 ]; drop-probability [ 5 100 ]; } } medium-high { interpolate { fill-level [ 65 100 ]; drop-probability [ 3 100 ]; } } } forwarding-classes { queue 0 best-effort; queue 1 medium-priority; queue 2 assured-forwarding; queue 3 expedited-forwarding; } interfaces { ge-*/*/* { scheduler-map queueing; unit * { classifiers { dscp classify-dscp; exp classify-mpls; } rewrite-rules { exp mpls-standard-internal; /* Despite the keyword 'default' this overrides it and implements the bespoke exp rewrite table for SwapPushPush and PushPushPush */ exp-swap-push-push default; exp-push-push-push default; } } } so-*/*/* { scheduler-map queueing; unit * { classifiers { dscp classify-dscp; exp classify-mpls; } rewrite-rules { exp mpls-standard-internal; /* Despite the keyword 'default' this overrides it and implements the bespoke exp rewrite table for SwapPushPush and PushPushPush */ exp-swap-push-push default; exp-push-push-push default; } } } fe-*/*/* { scheduler-map queueing; unit * { classifiers { dscp classify-dscp; exp classify-mpls; } rewrite-rules { exp mpls-standard-internal; /* Despite the keyword 'default' this overrides it and implements the bespoke exp rewrite table for SwapPushPush and PushPushPush */ exp-swap-push-push default; exp-push-push-push default; } } } } rewrite-rules { exp mpls-standard-internal { forwarding-class expedited-forwarding { loss-priority high code-point CP5; loss-priority low code-point CP7; } forwarding-class assured-forwarding { loss-priority high code-point CP4; loss-priority low code-point CP4; } forwarding-class medium-priority { loss-priority high code-point CP2; loss-priority low code-point CP3; } forwarding-class best-effort { loss-priority high code-point CP0; loss-priority low code-point CP1; } } } scheduler-maps { queueing { forwarding-class assured-forwarding scheduler assured-forwarding-WRED; forwarding-class best-effort scheduler best-effort-WRED; forwarding-class expedited-forwarding scheduler expedited-forwarding-priority-queue; forwarding-class medium-priority scheduler medium-queue-WRED; } } schedulers { expedited-forwarding-priority-queue { transmit-rate percent 0; buffer-size percent 10; priority strict-high; drop-profile-map loss-priority high protocol any drop-profile expedited-high; drop-profile-map loss-priority low protocol any drop-profile expedited-low; } assured-forwarding-WRED { transmit-rate percent 30 exact; buffer-size percent 30; priority high; drop-profile-map loss-priority high protocol any drop-profile assured-high; drop-profile-map loss-priority low protocol any drop-profile assured-low; } medium-queue-WRED { transmit-rate percent 35; buffer-size percent 30; priority low; drop-profile-map loss-priority high protocol any drop-profile medium-high; drop-profile-map loss-priority low protocol any drop-profile medium-low; } best-effort-WRED { transmit-rate remainder; buffer-size remainder; priority low; drop-profile-map loss-priority high protocol any drop-profile best-high; drop-profile-map loss-priority low protocol any drop-profile best-low; } } }