aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2005-08-09 22:34:12 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 18:32:25 -0400
commitf2ccd8fa06c8e302116e71df372f5c1f83432e03 (patch)
tree6e933f4bdc8899009edb33642b908779f123fb4a /include/linux
parentb6b99eb5409d75ae35390057cd28f3aedfbd4cf4 (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.h1
-rw-r--r--include/linux/netdevice.h10
-rw-r--r--include/linux/skbuff.h2
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
499struct packet_type { 499struct 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;