Thread (87 messages) 87 messages, 6 authors, 2006-07-09

Re: [PATCH 2/3] [VLAN]: Update iif when receiving via VLAN device

From: jamal <hidden>
Date: 2006-06-30 14:35:32

On Fri, 2006-30-06 at 16:15 +0200, Thomas Graf wrote:
* jamal [off-list ref] 2006-06-30 09:57
quoted
On Fri, 2006-30-06 at 15:08 +0200, Thomas Graf wrote:
quoted
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?
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help