[NET]: Kill skb->real_dev
Bonding just wants the device before the skb_bond() decapsulation occurs, so simply pass that original device into packet_type->func() as an argument. It remains to be seen whether we can use this same exact thing to get rid of skb->input_dev as well. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
b6b99eb540
commit
f2ccd8fa06
@@ -1390,7 +1390,7 @@ free_it:
|
||||
* [ie ARPHRD_ETHERTALK]
|
||||
*/
|
||||
static int atalk_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||
struct packet_type *pt)
|
||||
struct packet_type *pt, struct net_device *orig_dev)
|
||||
{
|
||||
struct ddpehdr *ddp;
|
||||
struct sock *sock;
|
||||
@@ -1482,7 +1482,7 @@ freeit:
|
||||
* header and append a long one.
|
||||
*/
|
||||
static int ltalk_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||
struct packet_type *pt)
|
||||
struct packet_type *pt, struct net_device *orig_dev)
|
||||
{
|
||||
/* Expand any short form frames */
|
||||
if (skb->mac.raw[2] == 1) {
|
||||
@@ -1528,7 +1528,7 @@ static int ltalk_rcv(struct sk_buff *skb, struct net_device *dev,
|
||||
}
|
||||
skb->h.raw = skb->data;
|
||||
|
||||
return atalk_rcv(skb, dev, pt);
|
||||
return atalk_rcv(skb, dev, pt, orig_dev);
|
||||
freeit:
|
||||
kfree_skb(skb);
|
||||
return 0;
|
||||
|
Reference in New Issue
Block a user