On current kernel inbound transformation state is allowed transport and
disallowed tunnel mode when mismatch is occurred between tempates and states.
As the result of adding two more modes by Mobile IPv6, this function name
is misleading. Inbound transformation can allow only transport mode
when mismatch is occurred between template and secpath.
Based on MIPL2 kernel patch.
Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
}
EXPORT_SYMBOL(xfrm_decode_session);
-static inline int secpath_has_tunnel(struct sec_path *sp, int k)
+static inline int secpath_has_nontransport(struct sec_path *sp, int k)
{
for (; k < sp->len; k++) {
if (sp->xvec[k]->props.mode != XFRM_MODE_TRANSPORT)
xfrm_policy_lookup);
if (!pol)
- return !skb->sp || !secpath_has_tunnel(skb->sp, 0);
+ return !skb->sp || !secpath_has_nontransport(skb->sp, 0);
pol->curlft.use_time = (unsigned long)xtime.tv_sec;
goto reject;
}
- if (secpath_has_tunnel(sp, k))
+ if (secpath_has_nontransport(sp, k))
goto reject;
xfrm_pol_put(pol);