diff options
author | Pravin B Shelar <pshelar@nicira.com> | 2013-06-13 14:11:44 -0400 |
---|---|---|
committer | Jesse Gross <jesse@nicira.com> | 2013-06-14 18:09:12 -0400 |
commit | b34df5e805a6e98cae0bc5bc80c1b52d9ff811de (patch) | |
tree | cc8d94ee92741fe21380180aeff3a6f12bb44adb /net/openvswitch/actions.c | |
parent | 45bfa52e36ef016b789eca73c7847db3f7b4742d (diff) |
openvswitch: make skb->csum consistent with rest of networking stack.
Following patch keeps skb->csum correct across ovs.
Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'net/openvswitch/actions.c')
-rw-r--r-- | net/openvswitch/actions.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/openvswitch/actions.c b/net/openvswitch/actions.c index 894b6cbdd929..596d6373399d 100644 --- a/net/openvswitch/actions.c +++ b/net/openvswitch/actions.c | |||
@@ -130,9 +130,13 @@ static int set_eth_addr(struct sk_buff *skb, | |||
130 | if (unlikely(err)) | 130 | if (unlikely(err)) |
131 | return err; | 131 | return err; |
132 | 132 | ||
133 | skb_postpull_rcsum(skb, eth_hdr(skb), ETH_ALEN * 2); | ||
134 | |||
133 | memcpy(eth_hdr(skb)->h_source, eth_key->eth_src, ETH_ALEN); | 135 | memcpy(eth_hdr(skb)->h_source, eth_key->eth_src, ETH_ALEN); |
134 | memcpy(eth_hdr(skb)->h_dest, eth_key->eth_dst, ETH_ALEN); | 136 | memcpy(eth_hdr(skb)->h_dest, eth_key->eth_dst, ETH_ALEN); |
135 | 137 | ||
138 | ovs_skb_postpush_rcsum(skb, eth_hdr(skb), ETH_ALEN * 2); | ||
139 | |||
136 | return 0; | 140 | return 0; |
137 | } | 141 | } |
138 | 142 | ||