diff options
-rw-r--r-- | net/ipv6/ip6_gre.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 75277b739b04..3873181ed856 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c | |||
@@ -468,17 +468,7 @@ static int ip6gre_rcv(struct sk_buff *skb) | |||
468 | goto drop; | 468 | goto drop; |
469 | 469 | ||
470 | if (flags&GRE_CSUM) { | 470 | if (flags&GRE_CSUM) { |
471 | switch (skb->ip_summed) { | 471 | csum = skb_checksum_simple_validate(skb); |
472 | case CHECKSUM_COMPLETE: | ||
473 | csum = csum_fold(skb->csum); | ||
474 | if (!csum) | ||
475 | break; | ||
476 | /* fall through */ | ||
477 | case CHECKSUM_NONE: | ||
478 | skb->csum = 0; | ||
479 | csum = __skb_checksum_complete(skb); | ||
480 | skb->ip_summed = CHECKSUM_COMPLETE; | ||
481 | } | ||
482 | offset += 4; | 472 | offset += 4; |
483 | } | 473 | } |
484 | if (flags&GRE_KEY) { | 474 | if (flags&GRE_KEY) { |