On Fri, 2006-30-06 at 16:15 +0200, Thomas Graf wrote:
> * jamal <[EMAIL PROTECTED]> 2006-06-30 09:57
> > On Fri, 2006-30-06 at 15:08 +0200, Thomas Graf wrote:
> > > That creates a nice loop on ingress. Upon reentering the
> > > stack with skb->dev set to eth0 again we'll go through the
> > > same ingress filters as the first time and we'll hit ifb0
> > > again over and over. 
> > 
> > loops are taken care of by other metadata. 
> 
> Not really, assuming a simple setup such as:
> 
>       mirred attached to eth0 redirecting to ifb0
>       mirred attached to ifb0 redirecting to ifb1
> 
> will result in:
> 
> eth0::tcf_mirred()     skb->dev = ifb0, input_dev = eth0
> ifb0::tcf_mirred()     skb->dev = ifb1, input_dev = ifb0
> ifb1::ifb_xmit()       skb->dev = ifb0, input_dev = ifb1, set ncls bit
> ifb0::ifb_xmit()       skb->dev = ifb1, input_dev = ifb0
> ifb1::ifb_xmit()       skb->dev = ifb0, input_dev = ifb1
> ...
> 
> Oh dear... and we don't even have a ttl to catch this.
> 

Did you actually try to run this before you reached this conclusion?

> > I am going to ignore the patch until we resolve the issue of iif vs
> > input_dev. Why dont we discuss that?
> 
> It's starting to get useless to discuss with you. 

sigh.
ok, why dont you take a deep breath or a break because i think we are
not going to make any progress this way. I know you may be feeling
frustrated but i am equally if not more frustrated as well.
Our conflict comes in the fact that you are trying to change the
architecture in the name of fixing bugs. 
With all due respect, the architecture works. I have invested many many
hours testing and verifying. There may be coding bugs - and those need
fixing. Kill the bugs.

> You agreed in
> your last posting that the 3rd option, being that not caring about
> whether a device might disappear but having a way to check for it,
> is what we agreed on and what makes most sense, 

yes, i recalled that as the last discussion we had.

> yet you fail to see
> that using ifindex is exactly what reflects this descision.
> 

The choice is between using an ifindex and a pointer to the device. 
Why is it solvable via an ifindex but not a device pointer?
I may have misunderstood you, so look at this as a fresh opportunity to
enlighten me. Forget about all the discussion weve had thus far.

cheers,
jamal

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to