Description

All other sub-interfaces' delay-buffer becomes '0' when guaranteed-rate is only configured for one sub-interface.

Symptoms

In following example, guaranteed-rate is not deployed on any sub-interface. There are non-zero delay-buffer values:

@jtac-mx480# show interfaces xe-1/0/0 
per-unit-scheduler;
vlan-tagging;
unit 1 {
    vlan-id 1;
}
unit 2 {
    vlan-id 2;
}
unit 3 {
    vlan-id 3;
}

labroot@jtac-mx480-r2028-re0> show configuration class-of-service interfaces  <- guaranteed-rate is not deployed.

NGMPC1(jtac-mx480 vty)# show cos ifl-entry 332
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
10000000000   3333333333    3333333333         0        0 

NGMPC1(jtac-mx480 vty)# show cos ifl-entry 333   
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
10000000000   3333333333    3333333333         0        0 

NGMPC1(jtac-mx480 vty)# show cos ifl-entry 334   
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
10000000000   3333333333    3333333333         0        0 


When we deploy guaranteed-rate via TCP (traffic-control-profiles) on only one sub-interface, all other sub-interfaces' guaranteed-rate and delay-buffer become zero. These sub-interfaces' traffic being out of profile may encounter worse packet drops than before.

Example:

labroot@jtac-mx480-r2028-re0# show class-of-service traffic-control-profiles 1 
shaping-rate 5g;
guaranteed-rate 4g;

labroot@jtac-mx480-r2028-re0# show class-of-service interfaces 
xe-1/0/0 {
    unit 1 {
        output-traffic-control-profile 1;
    }
}

NGMPC1(jtac-mx480-r2028-re0 vty)# show cos ifl-entry 332    
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
 5000000000   4000000000    4000000000      500      500 

NGMPC1(jtac-mx480-r2028-re0 vty)# show cos ifl-entry 333  
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
10000000000            0             0        0        0 

NGMPC1(jtac-mx480-r2028-re0 vty)# show cos ifl-entry 334   
<snip>
EGRESS Traffic Params
--------------------------------------------------------

Shaping     Guaranteed   Delay-Buffer  Excess   Excess 
rate        rate         rate          rate-hi  rate-lo
-----------  -----------  ------------  -------  -------
10000000000            0             0         0        0 

Solution

The following excerpt is from the technical documentation on  Providing a Guaranteed Minimum Rate :

If any logical interface has a configured guaranteed rate, all other logical interfaces on that port that do not have a guaranteed rate configured receive a delay-buffer rate of 0. This is because the absence of a guaranteed rate configuration corresponds to a guaranteed rate of 0 and, consequently, a delay-buffer rate of 0.

When using TCP (traffic-control-profiles) feature, it is advised to deploy it on all sub-interfaces.