datapath: Remove share check for internal devices.
authorJesse Gross <jesse@nicira.com>
Fri, 19 Nov 2010 21:55:18 +0000 (13:55 -0800)
committerJesse Gross <jesse@nicira.com>
Fri, 3 Dec 2010 01:10:15 +0000 (17:10 -0800)
When transmitting on a device, dev_hard_start_xmit() always provides
a private clone.  The skb_share_check() in internal_dev_xmit() is
therefore unnecessary, so remove it.

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/vport-internal_dev.c

index 52bd6ce..9079295 100644 (file)
@@ -73,13 +73,6 @@ static int internal_dev_xmit(struct sk_buff *skb, struct net_device *netdev)
        struct internal_dev *internal_dev = internal_dev_priv(netdev);
        struct vport *vport = rcu_dereference(internal_dev->vport);
 
-       /* We need our own clone. */
-       skb = skb_share_check(skb, GFP_ATOMIC);
-       if (unlikely(!skb)) {
-               vport_record_error(vport, VPORT_E_RX_DROPPED);
-               return 0;
-       }
-
        skb_reset_mac_header(skb);
        compute_ip_summed(skb, true);
        OVS_CB(skb)->flow = NULL;