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