diff options
| author | David S. Miller <davem@davemloft.net> | 2005-08-09 22:34:12 -0400 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 18:32:25 -0400 |
| commit | f2ccd8fa06c8e302116e71df372f5c1f83432e03 (patch) | |
| tree | 6e933f4bdc8899009edb33642b908779f123fb4a /net/802 | |
| parent | b6b99eb5409d75ae35390057cd28f3aedfbd4cf4 (diff) | |
[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>
Diffstat (limited to 'net/802')
| -rw-r--r-- | net/802/p8022.c | 3 | ||||
| -rw-r--r-- | net/802/psnap.c | 7 |
2 files changed, 6 insertions, 4 deletions
diff --git a/net/802/p8022.c b/net/802/p8022.c index 5ae63416df6d..b24817c63ca8 100644 --- a/net/802/p8022.c +++ b/net/802/p8022.c | |||
| @@ -35,7 +35,8 @@ static int p8022_request(struct datalink_proto *dl, struct sk_buff *skb, | |||
| 35 | struct datalink_proto *register_8022_client(unsigned char type, | 35 | struct datalink_proto *register_8022_client(unsigned char type, |
| 36 | int (*func)(struct sk_buff *skb, | 36 | int (*func)(struct sk_buff *skb, |
| 37 | struct net_device *dev, | 37 | struct net_device *dev, |
| 38 | struct packet_type *pt)) | 38 | struct packet_type *pt, |
| 39 | struct net_device *orig_dev)) | ||
| 39 | { | 40 | { |
| 40 | struct datalink_proto *proto; | 41 | struct datalink_proto *proto; |
| 41 | 42 | ||
diff --git a/net/802/psnap.c b/net/802/psnap.c index 1053821ddf93..ab80b1fab53c 100644 --- a/net/802/psnap.c +++ b/net/802/psnap.c | |||
| @@ -47,7 +47,7 @@ static struct datalink_proto *find_snap_client(unsigned char *desc) | |||
| 47 | * A SNAP packet has arrived | 47 | * A SNAP packet has arrived |
| 48 | */ | 48 | */ |
| 49 | static int snap_rcv(struct sk_buff *skb, struct net_device *dev, | 49 | static int snap_rcv(struct sk_buff *skb, struct net_device *dev, |
| 50 | struct packet_type *pt) | 50 | struct packet_type *pt, struct net_device *orig_dev) |
| 51 | { | 51 | { |
| 52 | int rc = 1; | 52 | int rc = 1; |
| 53 | struct datalink_proto *proto; | 53 | struct datalink_proto *proto; |
| @@ -61,7 +61,7 @@ static int snap_rcv(struct sk_buff *skb, struct net_device *dev, | |||
| 61 | /* Pass the frame on. */ | 61 | /* Pass the frame on. */ |
| 62 | skb->h.raw += 5; | 62 | skb->h.raw += 5; |
| 63 | skb_pull(skb, 5); | 63 | skb_pull(skb, 5); |
| 64 | rc = proto->rcvfunc(skb, dev, &snap_packet_type); | 64 | rc = proto->rcvfunc(skb, dev, &snap_packet_type, orig_dev); |
| 65 | } else { | 65 | } else { |
| 66 | skb->sk = NULL; | 66 | skb->sk = NULL; |
| 67 | kfree_skb(skb); | 67 | kfree_skb(skb); |
| @@ -118,7 +118,8 @@ module_exit(snap_exit); | |||
| 118 | struct datalink_proto *register_snap_client(unsigned char *desc, | 118 | struct datalink_proto *register_snap_client(unsigned char *desc, |
| 119 | int (*rcvfunc)(struct sk_buff *, | 119 | int (*rcvfunc)(struct sk_buff *, |
| 120 | struct net_device *, | 120 | struct net_device *, |
| 121 | struct packet_type *)) | 121 | struct packet_type *, |
| 122 | struct net_device *)) | ||
| 122 | { | 123 | { |
| 123 | struct datalink_proto *proto = NULL; | 124 | struct datalink_proto *proto = NULL; |
| 124 | 125 | ||
