Subject: Re: [RFC NET_SCHED 00/02]: Flexible SFQ flow classification

From: Patrick McHardy <[email-masked]>
Date: Wed, 30 May 2007 17:27:45 +0200

jamal wrote:
> On Wed, 2007-30-05 at 11:40 +0200, Patrick McHardy wrote:
> 
>>One good thing about ESFQ is the more flexible flow classification, but
>>I don't like the concept of having a set of selectable hash functions
>>very much.
>>
> 
> 
> In the spirit of SFQ it is probably ok to do that; 
> [..]
> So if you want to keep that spirit it is ok to do what ESFQ does;
> I think the assumptions will still be valid if you have a gazillion
> queues in todays terms. A number like say 128K may make sense.

Sure. The thing I don't like about the predefined hash functions is
that its unflexible.

>>These patches change SFQ to allow attaching external classifiers and add
>>a new "flow" classifier that allows to classify flows based on an arbitary
>>combination of pre-defined keys. Its probably not the fastest classifier
>>when used with multiple keys, but frankly, I don't think speed is very
>>important in most situations where the current SFQ implementation is used.
> 
> 
> The only one thing i noticed that changes the behavior is the use of
> skb->prio as a selector. I think if you removed that it should be fine.

I don't think thats a problem, it needs to point to the correct major
to have any effect, which can only happen if it is set by the user.
I would prefer to keep it for consistency with other qdiscs.

> Another alternative is to create a brand new FQ qdisc and leave the
> classification to the classifiers.

I created a new classifier to leave classification to the classifiers ..
Not sure exactly why I would need a new qdisc to do that :)

>>It currently does not support perturbation, I didn't want to move this into
>>the classifier, so I need to think about a way to handle it within SFQ.
> 
> 
> It is kind of hard to put it back into the current approach because the
> basic assumptions of ensuring no re-ordering and a "fast" classifier are
> gone.

It doesn't affect performance in any way, but I agree that it doesn't
belong in a classifier. But it should be possible to do it in SFQ.

> I am almost tempted to say go back and write a qdisc called FQ.

Funny, last the this came up you suggested to do basically exactly
what this classifier does, which I thought made sense :)

http://www.mail-archive.com/[email-masked]/msg06801.html