Thu, Jan 11, 2018 at 04:41:27PM CET, ro...@cumulusnetworks.com wrote:
>On Thu, Jan 11, 2018 at 7:07 AM, Jiri Pirko <j...@resnulli.us> wrote:
>> Thu, Jan 11, 2018 at 03:46:09PM CET, j...@mojatatu.com wrote:
>>>On 18-01-11 09:41 AM, Jiri Pirko wrote:
>>>> Thu, Jan 11, 2018 at 03:37:08PM CET, j...@mojatatu.com wrote:
>>>> > On 18-01-11 09:24 AM, Jiri Pirko wrote:
>>>> > > Thu, Jan 11, 2018 at 02:36:01PM CET, j...@mojatatu.com wrote:
>>>> > > > On 18-01-09 09:07 AM, Jiri Pirko wrote:
>>>> > > > > From: Jiri Pirko <j...@mellanox.com>
>>>> > > > >
>>>> > > > > Benefit from the previously introduced shared filter blocks
>>>> > > > > infrastructure and allow ingress and clsact qdisc instances to 
>>>> > > > > share
>>>> > > > > filter blocks. The block index is coming from userspace as qdisc 
>>>> > > > > option.
>>>> > > >
>>>> > > > Didnt quiet follow why ingress is special and needs attributes to
>>>> > > > set the block but other qdiscs didnt.
>>>> > >
>>>> > > Jamal, again, other qdiscs does not support block sharing. This 
>>>> > > patchset
>>>> > > only adds support for sharing of block for ingress and clsact qdiscs.
>>>> > > Later on, other qdiscs could also support block sharing.
>>>> > >
>>>> >
>>>> > Can you stop a config which says:
>>>> > tc qdisc add dev ens9 root block 22 handle 1:0 prio ?
>>>>
>>>> Please see the iproute2 patches. Parsing of "block" command line option
>>>> is done inside q_ingress.c
>>>>
>>>
>>>I only looked at the kernel code. Good you can stop it at tc
>>>but the API does not stop it (unless you expect the rest of the
>>>world to only use tc).
>>
>> Jamal, apparently, you did not looked at the kernel code either :)
>> Look at the changes done in net/sched/sch_ingress.c - there is where the
>> parsing of block attr takes place.
>>
>>
>>>Really - there is no reason for this API to be only via ingress qdisc
>>>attributes. You can add a check in cls api to reject any parent that is
>>>not either of the clsacts + ingress (depending on tc doesnt sound
>>>right).
>>
>> I was thinking to take this direction originally. To have another
>> generic attr called TCA_BLOCK or something that would be used when qdisc
>> is created. For ingress, what would work. But for clsact, you need to be
>> able to specify 2 block during qdisc creation - one for ingress, one for
>> egress. That's when I realized this has to be per-qdisc-type attr.
>
>
>yeah, see the problem...but.., would it help if we just introduce two
>generic attrs TCA_BLOCK_INGRESS and TCA_BLOCK_EGRESS instead of having
>to duplicate these attrs at every qdisc ?.
>and add proper validation depending on qdisc type..

I guess it would make sense. I just did not want to introduce this
limitation. But allright. Will do this.

Reply via email to