[IPV6] MIP6: Transformation support mobility header.
Transformation support mobility header. 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>
This commit is contained in:
parent
6e8f4d48b2
commit
2ce4272a69
|
@ -546,6 +546,11 @@ u16 xfrm_flowi_sport(struct flowi *fl)
|
|||
case IPPROTO_ICMPV6:
|
||||
port = htons(fl->fl_icmp_type);
|
||||
break;
|
||||
#ifdef CONFIG_IPV6_MIP6
|
||||
case IPPROTO_MH:
|
||||
port = htons(fl->fl_mh_type);
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
port = 0; /*XXX*/
|
||||
}
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
#include <net/ip.h>
|
||||
#include <net/ipv6.h>
|
||||
#include <net/ip6_route.h>
|
||||
#ifdef CONFIG_IPV6_MIP6
|
||||
#include <net/mip6.h>
|
||||
#endif
|
||||
|
||||
static struct dst_ops xfrm6_dst_ops;
|
||||
static struct xfrm_policy_afinfo xfrm6_policy_afinfo;
|
||||
|
@ -270,6 +273,18 @@ _decode_session6(struct sk_buff *skb, struct flowi *fl)
|
|||
fl->proto = nexthdr;
|
||||
return;
|
||||
|
||||
#ifdef CONFIG_IPV6_MIP6
|
||||
case IPPROTO_MH:
|
||||
if (pskb_may_pull(skb, skb->nh.raw + offset + 3 - skb->data)) {
|
||||
struct ip6_mh *mh;
|
||||
mh = (struct ip6_mh *)exthdr;
|
||||
|
||||
fl->fl_mh_type = mh->ip6mh_type;
|
||||
}
|
||||
fl->proto = nexthdr;
|
||||
return;
|
||||
#endif
|
||||
|
||||
/* XXX Why are there these headers? */
|
||||
case IPPROTO_AH:
|
||||
case IPPROTO_ESP:
|
||||
|
|
Loading…
Reference in a new issue