Subject: Re: [PATCH -next] net: sched: use counter to break reclassify loops

From: Jamal Hadi Salim <[email-masked]>
Date: Wed, 13 May 2015 08:04:27 -0400

On 05/13/15 07:29, Florian Westphal wrote:
> Jamal Hadi Salim <[email-masked]> wrote:

> Yes, but, if we use your example above then:
>
> tc_classify called
>    limit 0
>      tc_classify_compat called, ret RECLASSIFY
>    limit 1
>      tc_classify_compat called, ret RECLASSIFY
>    limit 2
>      tc_classify_compat called, ret PIPE (== 3)
>    tc_classify returns 3
> tc_classify called
>    limit 0
>    ...
>
> So we don't toss skb since any return value other than RECLASSIFY
> will make tc_classify() return to its caller, and when caller invokes
> tc_classify again the limit variable is set to 0 again.
>
> Does that make sense to you?
>

I think you are right.

I am probably conflating the inner action loop execution with this
outer one. I will think some more about it and if i can come up with
other scenario.
In any case, lets not slow this down; please add my acked-by and if
i can think of something i will post. I have to take off, so i will go
quiet for a while.

cheers,
jamal