Subject: Re: [PATCH net-next v2] net, sched: add clsact qdisc

From: John Fastabend <[email-masked]>
Date: Tue, 12 Jan 2016 09:15:18 -0800

[...]

> Just the leftover default setup for egress, nothing more.
> 
>>>     qdisc pfifo_fast 0: parent :1 bands 3 priomap  1 2 2 2 1 2 0 0 1
>>> 1 1 1 1 1 1 1
>>>     qdisc pfifo_fast 0: parent :2 bands 3 priomap  1 2 2 2 1 2 0 0 1
>>> 1 1 1 1 1 1 1
>>>     qdisc pfifo_fast 0: parent :3 bands 3 priomap  1 2 2 2 1 2 0 0 1
>>> 1 1 1 1 1 1 1
>>>     qdisc pfifo_fast 0: parent :4 bands 3 priomap  1 2 2 2 1 2 0 0 1
>>> 1 1 1 1 1 1 1
>>>     qdisc clsact ffff: parent ffff:fff1
>>
>> Is there any reason this is not just tc qdisc add dev foo ingress ?
>> I doubt things will break..
> 
> Actually I already tried to explain that in the commit message, since
> one can
> use any possible minor with ingress qdisc, I would like to have a hard
> guarantee
> that setups suddenly don't break and unexpected things happen even if
> likelihood
> is rather small (but not zero). The option would have been to add a
> 'mode' setting
> over netlink on initialization for ingress and deal with the details in
> each callback
> based on the mode (plus aliasing ingress qdisc to something generic,
> otherwise why
> adding ingress qdisc to add filters to egress? ;)). Eventually, it was
> more straight
> forward and cleaner, imho, to just have their own handlers where they
> both differ.
> 

FWIW I asked Daniel the same question on an earlier version and came
to the same conclusion it really is much cleaner to handle it the way
he did in this patch.

Thanks,
John