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

From: jamal <[email-masked]>
Date: Thu, 29 Jun 2006 20:48:40 -0400

On Thu, 2006-29-06 at 17:29 -0700, David Miller wrote:
> From: jamal <[email-masked]>
> Date: Thu, 29 Jun 2006 20:26:20 -0400
[..]
> > I see; i take it if things were moved around that may change?
> 
> Yes.
> 

Ok, relief - so i was not totally unreasonable then ;->

> > Can you avoid doing the refcount?
> > Note Thomas is doing dev_get_by_index (which will do the atomic ref
> > count).
> 
> He is doing that where skb->input_device is needed, which is
> what we want.
> 

I am saying the same thing as well - i think. mirred touches
the input_dev and therefore setting the refcount in mirred is valid -
but iam unsure where to unset it.

> > I didnt quiet follow, the ref count seems only needed in the
> > redirection, no?
> 
> I'm saying that, we don't need the refcount, just setting
> the skb->input_index thing, unless someone actually cares
> about the input device.
> 

the ifb references it; only mirred redirects to the ifb at the moment.
You would need to increment in mirred, no?
Why do i feel i am missing something? ;->

> As long as the packet hits not paths that care about the
> SKB input device, no atomic refcounts are taken.  It's
> just an integer sitting there in the SKB.

indeed. 
I think whether it becomes ifindex or pointer you need to increment the
refcounter. and decrement somewhere.
The challenge for me is a choice to use more cycles if you use ifindex
vs less cycles with a pointer. The advantage for going with ifindex
would be to save those bits(if you rearrange). The question is which is
reasonable?;->

cheers,
jamal