Commit 9a254bf5 authored by David S. Miller's avatar David S. Miller

[VLAN]: Revert vlan_dev_hard_start_xmit part of Ben Greear's changes

They are questionable at best.  Based upon commentary
by Tommy Christensen.
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0c74ce27
...@@ -484,26 +484,13 @@ int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) ...@@ -484,26 +484,13 @@ int vlan_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
veth->h_vlan_proto, veth->h_vlan_TCI, veth->h_vlan_encapsulated_proto); veth->h_vlan_proto, veth->h_vlan_TCI, veth->h_vlan_encapsulated_proto);
#endif #endif
skb->dev = VLAN_DEV_INFO(dev)->real_dev; stats->tx_packets++; /* for statics only */
stats->tx_bytes += skb->len;
{
/* Please note, dev_queue_xmit consumes the pkt regardless of the
* error value. So, will copy the skb first and free if successful.
*/
struct sk_buff* skb2 = skb_get(skb);
int rv = dev_queue_xmit(skb2);
if (rv == 0) {
/* Was success, need to free the skb reference since we bumped up the
* user count above.
*/
stats->tx_packets++; /* for statics only */ skb->dev = VLAN_DEV_INFO(dev)->real_dev;
stats->tx_bytes += skb->len; dev_queue_xmit(skb);
kfree_skb(skb); return 0;
}
return rv;
}
} }
int vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) int vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment