xfrm: Accept ESP packets regardless of UDP encapsulation mode
Martin Willi [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 b4a1317..65bcf09 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;