]> Pileus Git - ~andy/linux/blobdiff - net/openvswitch/actions.c
openvswitch: make skb->csum consistent with rest of networking stack.
[~andy/linux] / net / openvswitch / actions.c
index 894b6cbdd9295841e6782268b8743fcb63358391..596d6373399dcb75275f13e8ae2637c15aec11e7 100644 (file)
@@ -130,9 +130,13 @@ static int set_eth_addr(struct sk_buff *skb,
        if (unlikely(err))
                return err;
 
+       skb_postpull_rcsum(skb, eth_hdr(skb), ETH_ALEN * 2);
+
        memcpy(eth_hdr(skb)->h_source, eth_key->eth_src, ETH_ALEN);
        memcpy(eth_hdr(skb)->h_dest, eth_key->eth_dst, ETH_ALEN);
 
+       ovs_skb_postpush_rcsum(skb, eth_hdr(skb), ETH_ALEN * 2);
+
        return 0;
 }