From: Jamal Hadi Salim <[EMAIL PROTECTED]>
Date: Sun, 24 Jul 2005 23:02:14 -0400

> On Sun, 2005-24-07 at 22:58 -0400, Jamal Hadi Salim wrote:
> > On Sun, 2005-24-07 at 19:02 -0700, David S. Miller wrote:
> > 
> > I agree they will mean the same thing. 
> 
> I meant to say they will mean the same thing in the simple case.
> And this line below extrapolates that statement further
> > The example i gave was to show where one meaning contradicts the other.

I see one place where input_dev could be something different,
the mirred stuff.  And in fact this ends up being the one
place where an input_dev reference can escape the singular
execution of the input packet path in softirq context.

For that mirred case, or something like it, we'll need to do
something involving argument passing and/or reference counting.

The ing_filter() pure-input path is very clean with my suggested
change to just pass the device into the queueing layer so that
classifiers et al. can get at it that way.

Posting a bunch of patches that explicitly set input_dev to dev
right before netif_rx() sort of further proves my point :-)

If you wanted to do something different at receive time, we
could make a __netif_receive_skb(skb, orig_dev) or
__netif_rx(skb, orig_dev), as needed.

I'm not fully commited to killing off input_dev, but I am very
much trying to encourage that we look at ways to do it via
parameter passing if possible.

If anything, the whole:

   skb->input_dev = some_other_dev;
   dev_queue_xmit();

trick on the input path is something that needs brain time
devoted towards.  That singular construct is very problematic.
-
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