On Fri, Aug 9, 2013 at 1:02 PM, MUSCARIELLO Luca OLNC/OLN < luca.muscariello@orange.com> wrote: > > On 08/09/2013 11:35 AM, Paolo Valente wrote: > >> >1) AFAIK, sch_drr.c is class-based queuing and not per-flow queuing >>> (correct me if I am wrong). >>> >> Certainly it is a classful queueing discipline. Just to sync with you, >> what do you mean with per-flow as opposed to class-based? >> Do you mean that the scheduler internally and autonomously differentiates >> packets into distinct flows according to some internal classification rule >> (as it is the case for SFQ)? >> If so, then you are right. >> > > Class-based queuing and flow-based queuing of course are different things, > but from your demo I got the impressions that you were using class and flow > interchangeably. > > In practice, I do not see when you would need 500 classes while it might > happen > to have 500 flows (active and in progress ) on a link. > > think of an ISP that sells bandwidth to multiple customers. Then you really want to have one class per customer, instead of imposing hard limits on each of them (leading to poor use of spare resources), or putting all of them in the same bucket. As a matter of fact, for almost a decade ISPs in various places have been using ipfw+dummynet (which includes qfq and other schedulers) to sell bandwidth to customers. ipfw has some very cheap instructions to flexibly group flows into classes, even large numbers of them. cheers luigi