Re: [PATCH 2/2] ipv4: Change rt->rt_iif encoding.
From: Nicolas de Pesloüan <hidden>
Date: 2012-07-24 22:24:18
Le 25/07/2012 00:18, David Miller a écrit :
From: Nicolas de Pesloüan<redacted> Date: Wed, 25 Jul 2012 00:13:55 +0200quoted
- From the af_packet point of view, is was "the real original device - that received the packet". As bonding don't use orig_dev anymore, the remaining meaning should logically be "the real original device that received the packet". But as __netif_receive_skb() is recursively called in many cases, setting orig_dev to something new every time, this meaning is probably mostly inconsistent. As such, it sounds appropriate to remove orig_dev and use skb_iif instead.I don't think we can, otherwise people who set po->origdev will no longer get what they expect. For the simpler cases of bonding and VLANs, it does currently behaved as expected. That's why I left it alone.
Do they get what they expect when stacking interfaces? __netif_receive_skb starts with orig_dev = skb->dev. So when calling __netif_receive_skb recursively, after changing skb->dev, they get the packet several times, with a different orig_dev value? Any way, both looks good to me. Nicolas.