datapath: make skb->csum consistent with rest of networking stack.
[sliver-openvswitch.git] / datapath / vport-netdev.c
index 4e7342c..fe7e359 100644 (file)
@@ -256,11 +256,12 @@ static void netdev_port_receive(struct vport *vport, struct sk_buff *skb)
        if (unlikely(!skb))
                return;
 
-       skb_push(skb, ETH_HLEN);
-
        if (unlikely(compute_ip_summed(skb, false)))
                goto error;
 
+       skb_push(skb, ETH_HLEN);
+       ovs_skb_postpush_rcsum(skb, skb->data, ETH_HLEN);
+
        vlan_copy_skb_tci(skb);
 
        ovs_vport_receive(vport, skb, NULL);