[j-nsp] Strangeness with CoS and scheduler rate-limiting

Per Westerlund p1 at westerlund.se
Mon Oct 15 11:57:02 EDT 2012


I'm still having issues, but now I think it is bug/limitation.

The configuration is still essentially the same as in my first message, but here are all the relevant class-of-service entries:

class-of-service {
    forwarding-classes {
        queue 4 MEVO2-temp1;
        queue 5 MEVO2-temp2;
    }
    interfaces {
        reth0 {
            unit 3 {
                scheduler-map reth0-3;
            }
        }
    }
    scheduler-maps {
        reth0-3 {
            forwarding-class best-effort scheduler debug-be;
            forwarding-class network-control scheduler debug-nc;
            forwarding-class MEVO2-temp1 scheduler cust1-50;
            forwarding-class MEVO2-temp2 scheduler cust2-50;
        }
    }
    schedulers {
        cust1-50 {
            transmit-rate {
                50m;
                exact;
            }
            priority low;
        }
        cust2-50 {
            transmit-rate {
                50m;
                exact;
            }
            priority low;
        }
        debug-be {
            transmit-rate percent 50;
            buffer-size percent 50;
            priority low;
        }
        debug-nc {
            transmit-rate percent 5;
            buffer-size percent 5;
            priority low;
        }
    }
}

The only thing I changed from the initial config is the addition of the schedulers debug-be and debug-nc. Once I add these two schedulers, the "transmit-rate exact" stops working, the output rate for the schedulers cust1-50 and cust2-50 soars, we survive just because I have added output policers as well (having seen this before).

I have tried similar configs in my little lab, both between single systems and clusters, and it works. I am beginning to suspect it is a problem with my setup (SRX550 cluster, 12.2R2).

Comments?

/Per


13 okt 2012 kl. 22:25 skrev Stefan Fouant:

> On Oct 13, 2012, at 2:59 PM, Per Westerlund <p1 at westerlund.se> wrote:
> 
>> 
>> Note that the scheduler "tmp-be" is not used. My belief is that everything that is not explicitly mentioned in the scheduler-map is handled by the default configuration (in practice the rest of the flows hit the default best-effort forwarding-class).
> 
> This is not correct. When you explicitly define a scheduler-map and apply it to an interface, there is no default configuration anymore applied to that interface. What this means is there is no guarantee to Best Effort or Network Control at all, and your experience may vary depending on network conditions.  You are correct, however that the rest of the traffic will hit your BE forwarding-class, but there are no guarantees to this class.
> 
> If you have BE traffic, or NC, and you want to accommodate it, then you need to make sure you configure the appropriate schedulers and apply them to your scheduler-map.
> 
> Can you do that and then when you have it configured properly see what your results look like. We can take it from there if you are still experiencing issues.
> 
> Stefan Fouant
> JNCIE-SEC, JNCIE-SP, JNCIE-ENT, JNCI
> Technical Trainer, Juniper Networks
> 
> Follow us on Twitter @JuniperEducate




More information about the juniper-nsp mailing list