From: Masahide NAKAMURA Date: Tue, 5 Dec 2006 10:16:12 +0000 (+0900) Subject: XFRM: Mobility header support. X-Git-Tag: v2.6.19-061214~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0bf0fbc47e33cc968c1c1d20d938de31e497c753;p=thirdparty%2Fiproute2.git XFRM: Mobility header support. Signed-off-by: Masahide NAKAMURA Signed-off-by: Stephen Hemminger --- diff --git a/ip/ipxfrm.c b/ip/ipxfrm.c index 7c9fd0b63..9c8b4bd8d 100644 --- a/ip/ipxfrm.c +++ b/ip/ipxfrm.c @@ -483,6 +483,14 @@ void xfrm_selector_print(struct xfrm_selector *sel, __u16 family, if (sel->dport_mask) fprintf(fp, "code %u ", ntohs(sel->dport)); break; + case IPPROTO_MH: + if (sel->sport_mask) + fprintf(fp, "type %u ", ntohs(sel->sport)); + if (sel->dport_mask) { + if (show_stats > 0) + fprintf(fp, "(dport) 0x%.4x ", sel->dport); + } + break; } if (sel->ifindex > 0) { @@ -1111,6 +1119,7 @@ static int xfrm_selector_upspec_parse(struct xfrm_selector *sel, switch (sel->proto) { case IPPROTO_ICMP: case IPPROTO_ICMPV6: + case IPPROTO_MH: break; default: fprintf(stderr, "\"type\" and \"code\" are invalid with proto=%s\n", strxf_proto(sel->proto)); diff --git a/ip/xfrm.h b/ip/xfrm.h index d33ff945d..03db37bf9 100644 --- a/ip/xfrm.h +++ b/ip/xfrm.h @@ -35,6 +35,9 @@ #ifndef IPPPROTO_DCCP # define IPPROTO_DCCP 33 #endif +#ifndef IPPROTO_MH +# define IPPROTO_MH 135 +#endif #define XFRMS_RTA(x) ((struct rtattr*)(((char*)(x)) + NLMSG_ALIGN(sizeof(struct xfrm_usersa_info)))) #define XFRMS_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct xfrm_usersa_info))