Skip to content

Commit

Permalink
[IPV6] MIP6: Transformation support mobility header.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Masahide NAKAMURA authored and David S. Miller committed Sep 22, 2006
1 parent 6e8f4d4 commit 2ce4272
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 0 deletions.
5 changes: 5 additions & 0 deletions include/net/xfrm.h
Original file line number Diff line number Diff line change
Expand Up @@ -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*/
}
Expand Down
15 changes: 15 additions & 0 deletions net/ipv6/xfrm6_policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 2ce4272

Please sign in to comment.