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 /include/linux | |
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 'include/linux')
-rw-r--r-- | include/linux/if_vlan.h | 1 | ||||
-rw-r--r-- | include/linux/netdevice.h | 10 | ||||
-rw-r--r-- | include/linux/skbuff.h | 2 |
3 files changed, 6 insertions, 7 deletions
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index 62a9d89dfbe2..17d0c0d40b0e 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -155,7 +155,6 @@ static inline int __vlan_hwaccel_rx(struct sk_buff *skb, | |||
155 | { | 155 | { |
156 | struct net_device_stats *stats; | 156 | struct net_device_stats *stats; |
157 | 157 | ||
158 | skb->real_dev = skb->dev; | ||
159 | skb->dev = grp->vlan_devices[vlan_tag & VLAN_VID_MASK]; | 158 | skb->dev = grp->vlan_devices[vlan_tag & VLAN_VID_MASK]; |
160 | if (skb->dev == NULL) { | 159 | if (skb->dev == NULL) { |
161 | dev_kfree_skb_any(skb); | 160 | dev_kfree_skb_any(skb); |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 3a0ed7f9e801..296cf93a65e0 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -497,10 +497,12 @@ static inline void *netdev_priv(struct net_device *dev) | |||
497 | #define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev)) | 497 | #define SET_NETDEV_DEV(net, pdev) ((net)->class_dev.dev = (pdev)) |
498 | 498 | ||
499 | struct packet_type { | 499 | struct packet_type { |
500 | __be16 type; /* This is really htons(ether_type). */ | 500 | __be16 type; /* This is really htons(ether_type). */ |
501 | struct net_device *dev; /* NULL is wildcarded here */ | 501 | struct net_device *dev; /* NULL is wildcarded here */ |
502 | int (*func) (struct sk_buff *, struct net_device *, | 502 | int (*func) (struct sk_buff *, |
503 | struct packet_type *); | 503 | struct net_device *, |
504 | struct packet_type *, | ||
505 | struct net_device *); | ||
504 | void *af_packet_priv; | 506 | void *af_packet_priv; |
505 | struct list_head list; | 507 | struct list_head list; |
506 | }; | 508 | }; |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index af4f02e98243..60b32151f76a 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -164,7 +164,6 @@ struct skb_shared_info { | |||
164 | * @stamp: Time we arrived | 164 | * @stamp: Time we arrived |
165 | * @dev: Device we arrived on/are leaving by | 165 | * @dev: Device we arrived on/are leaving by |
166 | * @input_dev: Device we arrived on | 166 | * @input_dev: Device we arrived on |
167 | * @real_dev: The real device we are using | ||
168 | * @h: Transport layer header | 167 | * @h: Transport layer header |
169 | * @nh: Network layer header | 168 | * @nh: Network layer header |
170 | * @mac: Link layer header | 169 | * @mac: Link layer header |
@@ -206,7 +205,6 @@ struct sk_buff { | |||
206 | struct timeval stamp; | 205 | struct timeval stamp; |
207 | struct net_device *dev; | 206 | struct net_device *dev; |
208 | struct net_device *input_dev; | 207 | struct net_device *input_dev; |
209 | struct net_device *real_dev; | ||
210 | 208 | ||
211 | union { | 209 | union { |
212 | struct tcphdr *th; | 210 | struct tcphdr *th; |