X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=kernel%2Fnet%2Fopenvswitch%2Fconntrack.c;fp=kernel%2Fnet%2Fopenvswitch%2Fconntrack.c;h=ad58d2a6284e3de6378ee52134d2e7d0476dfed6;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=e004067ec24ac448467c0bd5a552eea019975e56;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/net/openvswitch/conntrack.c b/kernel/net/openvswitch/conntrack.c index e004067ec..ad58d2a62 100644 --- a/kernel/net/openvswitch/conntrack.c +++ b/kernel/net/openvswitch/conntrack.c @@ -501,7 +501,7 @@ int ovs_ct_execute(struct net *net, struct sk_buff *skb, /* The conntrack module expects to be working at L3. */ nh_ofs = skb_network_offset(skb); - skb_pull(skb, nh_ofs); + skb_pull_rcsum(skb, nh_ofs); if (key->ip.frag != OVS_FRAG_TYPE_NONE) { err = handle_fragments(net, key, info->zone.id, skb); @@ -527,6 +527,7 @@ int ovs_ct_execute(struct net *net, struct sk_buff *skb, &info->labels.mask); err: skb_push(skb, nh_ofs); + skb_postpush_rcsum(skb, skb->data, nh_ofs); if (err) kfree_skb(skb); return err;