python: Avoid using 'type' as a variable name.
[openvswitch] / datapath / vport-netdev.c
index 3bab666c888132a9936812f4a331e9ed90ff42ac..f1e9b09d0deab3fd49b3e94aad58a31aab526504 100644 (file)
@@ -284,7 +284,11 @@ static void netdev_port_receive(struct vport *vport, struct sk_buff *skb)
        skb_warn_if_lro(skb);
 
        skb_push(skb, ETH_HLEN);
-       compute_ip_summed(skb, false);
+
+       if (unlikely(compute_ip_summed(skb, false))) {
+               kfree_skb(skb);
+               return;
+       }
        vlan_copy_skb_tci(skb);
 
        vport_receive(vport, skb);
@@ -309,22 +313,15 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb)
        int len;
 
        skb->dev = netdev_vport->dev;
-       forward_ip_summed(skb);
+       forward_ip_summed(skb, true);
 
        if (vlan_tx_tag_present(skb) && !dev_supports_vlan_tx(skb->dev)) {
-               int err;
                int features = 0;
 
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
                features = skb->dev->features & skb->dev->vlan_features;
 #endif
 
-               err = vswitch_skb_checksum_setup(skb);
-               if (unlikely(err)) {
-                       kfree_skb(skb);
-                       return 0;
-               }
-
                if (!vlan_tso)
                        features &= ~(NETIF_F_TSO | NETIF_F_TSO6 |
                                      NETIF_F_UFO | NETIF_F_FSO);
@@ -346,10 +343,12 @@ static int netdev_send(struct vport *vport, struct sk_buff *skb)
                                goto tag;
                        }
 
-                       kfree_skb(skb);
-                       skb = nskb;
-                       if (IS_ERR(skb))
+                       if (IS_ERR(nskb)) {
+                               kfree_skb(skb);
                                return 0;
+                       }
+                       consume_skb(skb);
+                       skb = nskb;
 
                        len = 0;
                        do {
@@ -400,7 +399,7 @@ struct vport *netdev_get_vport(struct net_device *dev)
 }
 
 const struct vport_ops netdev_vport_ops = {
-       .type           = ODP_VPORT_TYPE_NETDEV,
+       .type           = OVS_VPORT_TYPE_NETDEV,
        .flags          = (VPORT_F_REQUIRED |
                          (USE_VPORT_STATS ? VPORT_F_GEN_STATS : 0)),
        .init           = netdev_init,