diff options
Diffstat (limited to 'net/ipv4/ip_gre.c')
| -rw-r--r-- | net/ipv4/ip_gre.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index fe381d12ecdd..32618e11076d 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
| @@ -502,7 +502,6 @@ static void ipgre_err(struct sk_buff *skb, u32 info) | |||
| 502 | t->err_time = jiffies; | 502 | t->err_time = jiffies; |
| 503 | out: | 503 | out: |
| 504 | rcu_read_unlock(); | 504 | rcu_read_unlock(); |
| 505 | return; | ||
| 506 | } | 505 | } |
| 507 | 506 | ||
| 508 | static inline void ipgre_ecn_decapsulate(struct iphdr *iph, struct sk_buff *skb) | 507 | static inline void ipgre_ecn_decapsulate(struct iphdr *iph, struct sk_buff *skb) |
| @@ -538,7 +537,6 @@ static int ipgre_rcv(struct sk_buff *skb) | |||
| 538 | struct ip_tunnel *tunnel; | 537 | struct ip_tunnel *tunnel; |
| 539 | int offset = 4; | 538 | int offset = 4; |
| 540 | __be16 gre_proto; | 539 | __be16 gre_proto; |
| 541 | unsigned int len; | ||
| 542 | 540 | ||
| 543 | if (!pskb_may_pull(skb, 16)) | 541 | if (!pskb_may_pull(skb, 16)) |
| 544 | goto drop_nolock; | 542 | goto drop_nolock; |
| @@ -629,8 +627,6 @@ static int ipgre_rcv(struct sk_buff *skb) | |||
| 629 | tunnel->i_seqno = seqno + 1; | 627 | tunnel->i_seqno = seqno + 1; |
| 630 | } | 628 | } |
| 631 | 629 | ||
| 632 | len = skb->len; | ||
| 633 | |||
| 634 | /* Warning: All skb pointers will be invalidated! */ | 630 | /* Warning: All skb pointers will be invalidated! */ |
| 635 | if (tunnel->dev->type == ARPHRD_ETHER) { | 631 | if (tunnel->dev->type == ARPHRD_ETHER) { |
| 636 | if (!pskb_may_pull(skb, ETH_HLEN)) { | 632 | if (!pskb_may_pull(skb, ETH_HLEN)) { |
| @@ -644,11 +640,7 @@ static int ipgre_rcv(struct sk_buff *skb) | |||
| 644 | skb_postpull_rcsum(skb, eth_hdr(skb), ETH_HLEN); | 640 | skb_postpull_rcsum(skb, eth_hdr(skb), ETH_HLEN); |
| 645 | } | 641 | } |
| 646 | 642 | ||
| 647 | stats->rx_packets++; | 643 | skb_tunnel_rx(skb, tunnel->dev); |
| 648 | stats->rx_bytes += len; | ||
| 649 | skb->dev = tunnel->dev; | ||
| 650 | skb_dst_drop(skb); | ||
| 651 | nf_reset(skb); | ||
| 652 | 644 | ||
| 653 | skb_reset_network_header(skb); | 645 | skb_reset_network_header(skb); |
| 654 | ipgre_ecn_decapsulate(iph, skb); | 646 | ipgre_ecn_decapsulate(iph, skb); |
