All sub-interfaces' guaranteed-rate becomes '0' when the sum of their shaping rate exceeds the interface bandwidth.
When the sum of shaping rate does NOT exceed the interface bandwidth, all sub-interfaces' guaranteed-rate equals to the configured shaping rate:
@jtac-mx480# show class-of-service interfaces <-- The interface bandwidth is 10Gbps, while the sum of shaping rate is 10G xe-1/0/0 { unit 1 { shaping-rate 5g; } unit 2 { shaping-rate 2g; } unit 3 { shaping-rate 3g; } }
@jtac-mx480# show class-of-service interfaces <--
xe-1/0/0 { unit 1 { shaping-rate 5g; } unit 2 { shaping-rate 2g; } unit 3 { shaping-rate 3g; } }
@jtac-mx480# run show class-of-service scheduler-hierarchy interface xe-1/0/0 <-- Guaranteed-rate equals to shaping rate Interface/ Shaping Guaranteed Guaranteed/ Queue Excess Resource name rate rate Excess weight weight kbits kbits priority high/low xe-1/0/0 10000000 xe-1/0/0.1 5000000 5000000 500 500 best-effort 5000000 4750000 Low Low 95 network-control 5000000 250000 Low Low 5 xe-1/0/0.2 2000000 2000000 200 200 best-effort 2000000 1900000 Low Low 95 network-control 2000000 100000 Low Low 5 xe-1/0/0.3 3000000 3000000 300 300 best-effort 3000000 2850000 Low Low 95 network-control 3000000 150000 Low Low 5 xe-1/0/0.32767 10000000 2000 1 1 best-effort 10000000 1900 Low Low 95 network-control 10000000 100 Low Low 5
@jtac-mx480# run show class-of-service scheduler-hierarchy interface xe-1/0/0
<--
Interface/ Shaping Guaranteed Guaranteed/ Queue Excess Resource name rate rate Excess weight weight kbits kbits priority high/low xe-1/0/0 10000000 xe-1/0/0.1 5000000 5000000 500 500 best-effort 5000000 4750000 Low Low 95 network-control 5000000 250000 Low Low 5 xe-1/0/0.2 2000000 2000000 200 200 best-effort 2000000 1900000 Low Low 95 network-control 2000000 100000 Low Low 5 xe-1/0/0.3 3000000 3000000 300 300 best-effort 3000000 2850000 Low Low 95 network-control 3000000 150000 Low Low 5 xe-1/0/0.32767 10000000 2000 1 1 best-effort 10000000 1900 Low Low 95 network-control 10000000 100 Low Low 5
When the sum of shaping rate exceeds the interface bandwidth (oversubscribing interface bandwidth scenario), all sub-interfaces' guaranteed-rate becomes "0" :
@jtac-mx480# show class-of-service interfaces <-- The interface bandwidth is 10Gbps, while the sum of shaping rate is 11G xe-1/0/0 { unit 1 { shaping-rate 5g; } unit 2 { shaping-rate 2g; } unit 3 { shaping-rate 4g; } }
@jtac-mx480# show class-of-service interfaces
xe-1/0/0 { unit 1 { shaping-rate 5g; } unit 2 { shaping-rate 2g; } unit 3 { shaping-rate 4g; } }
@jtac-mx480# run show class-of-service scheduler-hierarchy interface xe-1/0/0 <-- Guaranteed-rate is "0" Interface/ Shaping Guaranteed Guaranteed/ Queue Excess Resource name rate rate Excess weight weight kbits kbits priority high/low xe-1/0/0 10000000 xe-1/0/0.1 5000000 0 500 500 best-effort 5000000 0 Low Low 95 network-control 5000000 0 Low Low 5 xe-1/0/0.2 2000000 0 200 200 best-effort 2000000 0 Low Low 95 network-control 2000000 0 Low Low 5 xe-1/0/0.3 4000000 0 400 400 best-effort 4000000 0 Low Low 95 network-control 4000000 0 Low Low 5 xe-1/0/0.32767 10000000 2000 1 1 best-effort 10000000 1900 Low Low 95 network-control 10000000 100 Low Low 5
Interface/ Shaping Guaranteed Guaranteed/ Queue Excess Resource name rate rate Excess weight weight kbits kbits priority high/low xe-1/0/0 10000000 xe-1/0/0.1 5000000 0 500 500 best-effort 5000000 0 Low Low 95 network-control 5000000 0 Low Low 5 xe-1/0/0.2 2000000 0 200 200 best-effort 2000000 0 Low Low 95 network-control 2000000 0 Low Low 5 xe-1/0/0.3 4000000 0 400 400 best-effort 4000000 0 Low Low 95 network-control 4000000 0 Low Low 5 xe-1/0/0.32767 10000000 2000 1 1 best-effort 10000000 1900 Low Low 95 network-control 10000000 100 Low Low 5
To fix the '0' guaranteed-rate in the above scenario, deploy TCP (traffic-control-profiles) on each sub-interface:
@jtac-mx480# show class-of-service traffic-control-profiles { 1 { shaping-rate 5g; guaranteed-rate 4g; } 2 { shaping-rate 4g; guaranteed-rate 2g; } 3 { guaranteed-rate 2g; } } interfaces { xe-1/0/0 { unit 1 { output-traffic-control-profile 1; } unit 2 { output-traffic-control-profile 2; } unit 3 { output-traffic-control-profile 3; } } } @jtac-mx480# run show class-of-service scheduler-hierarchy interface xe-1/0/0 Interface/ Shaping Guaranteed Guaranteed/ Queue Excess Resource name rate rate Excess weight weight kbits kbits priority high/low xe-1/0/0 10000000 xe-1/0/0.1 5000000 4000000 500 500 best-effort 5000000 3800000 Low Low 95 network-control 5000000 200000 Low Low 5 xe-1/0/0.2 4000000 2000000 250 250 best-effort 4000000 1900000 Low Low 95 network-control 4000000 100000 Low Low 5 xe-1/0/0.3 10000000 2000000 250 250 best-effort 10000000 1900000 Low Low 95 network-control 10000000 100000 Low Low 5 xe-1/0/0.32767 10000000 2000 1 1 best-effort 10000000 1900 Low Low 95 network-control 10000000 100 Low Low 5