From 42d431614ace596ecb5aee10eb64d251e0335cec Mon Sep 17 00:00:00 2001 From: fujisawa Date: Thu, 18 Apr 2002 15:28:38 +0000 Subject: [PATCH] - With ICMPv4 Type 3 (Destination unreachable) Code 2 (protocol unreachable) to ICMPv6 Type 4 (Parameter problem) Code 1 (Next header) translation, problem pointer points at the inner IPv6 Next header field. According to RFC2765 3.3. --- kame/sys/netinet6/natpt_trans.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/kame/sys/netinet6/natpt_trans.c b/kame/sys/netinet6/natpt_trans.c index c3c02cf422..c0e1db00e8 100644 --- a/kame/sys/netinet6/natpt_trans.c +++ b/kame/sys/netinet6/natpt_trans.c @@ -1,4 +1,4 @@ -/* $KAME: natpt_trans.c,v 1.96 2002/04/18 06:03:57 fujisawa Exp $ */ +/* $KAME: natpt_trans.c,v 1.97 2002/04/18 15:28:38 fujisawa Exp $ */ /* * Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 and 2001 WIDE Project. @@ -991,9 +991,10 @@ natpt_icmp4Unreach(struct pcv *cv4, struct pcv *cv6, struct pAddr *pad) icmp6->icmp6_code = ICMP6_DST_UNREACH_NOROUTE; break; - case ICMP_UNREACH_PROTOCOL: /* do more */ + case ICMP_UNREACH_PROTOCOL: icmp6->icmp6_type = ICMP6_PARAM_PROB; - icmp6->icmp6_code = ICMP6_PARAMPROB_NEXTHEADER; /* xxx */ + icmp6->icmp6_code = ICMP6_PARAMPROB_NEXTHEADER; + icmp6->icmp6_pptr = htonl(6); /* point to the IPv6 Next Header field. */ break; case ICMP_UNREACH_PORT: