aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/xfrm4_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/xfrm4_input.c')
-rw-r--r--net/ipv4/xfrm4_input.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/net/ipv4/xfrm4_input.c b/net/ipv4/xfrm4_input.c
index 33f990d56c91..390dcb1354a5 100644
--- a/net/ipv4/xfrm4_input.c
+++ b/net/ipv4/xfrm4_input.c
@@ -51,7 +51,11 @@ int xfrm4_transport_finish(struct sk_buff *skb, int async)
51 51
52 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol; 52 iph->protocol = XFRM_MODE_SKB_CB(skb)->protocol;
53 53
54#ifdef CONFIG_NETFILTER 54#ifndef CONFIG_NETFILTER
55 if (!async)
56 return -iph->protocol;
57#endif
58
55 __skb_push(skb, skb->data - skb_network_header(skb)); 59 __skb_push(skb, skb->data - skb_network_header(skb));
56 iph->tot_len = htons(skb->len); 60 iph->tot_len = htons(skb->len);
57 ip_send_check(iph); 61 ip_send_check(iph);
@@ -59,12 +63,6 @@ int xfrm4_transport_finish(struct sk_buff *skb, int async)
59 NF_HOOK(PF_INET, NF_INET_PRE_ROUTING, skb, skb->dev, NULL, 63 NF_HOOK(PF_INET, NF_INET_PRE_ROUTING, skb, skb->dev, NULL,
60 xfrm4_rcv_encap_finish); 64 xfrm4_rcv_encap_finish);
61 return 0; 65 return 0;
62#else
63 if (async)
64 return xfrm4_rcv_encap_finish(skb);
65
66 return -iph->protocol;
67#endif
68} 66}
69 67
70/* If it's a keepalive packet, then just eat it. 68/* If it's a keepalive packet, then just eat it.