xfrm: Accept ESP packets regardless of UDP encapsulation mode
authorMartin Willi <martin@strongswan.org>
Thu, 4 Dec 2008 23:40:17 +0000 (15:40 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 4 Dec 2008 23:40:17 +0000 (15:40 -0800)
From: Martin Willi <martin@strongswan.org>

An IPsec node speaking IKEv2 MUST accept incoming UDP encapsulated
ESP packets, even if no NAT situation is detected. This is important
if MOBIKE is in use. Some implementation keep the encapsulation
mode if they move out of a NAT situation.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/xfrm/xfrm_input.c

index b4a13178fb40176e41d90ff171e971ac7d6f8935..65bcf09251ef1f368053ebfb9e24ab81541ef680 100644 (file)
@@ -167,11 +167,6 @@ int xfrm_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type)
                        goto drop_unlock;
                }
 
-               if ((x->encap ? x->encap->encap_type : 0) != encap_type) {
-                       XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATEMISMATCH);
-                       goto drop_unlock;
-               }
-
                if (x->props.replay_window && xfrm_replay_check(x, skb, seq)) {
                        XFRM_INC_STATS(net, LINUX_MIB_XFRMINSTATESEQERROR);
                        goto drop_unlock;