Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 Jul 2010 21:25:47 -0400
From:      jhell <jhell@dataix.net>
To:        Earl Lapus <earl.lapus@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: patch review for kern/146534
Message-ID:  <4C32861B.4060203@dataix.net>
In-Reply-To: <AANLkTiku9mnq5lTxxLk8-WDR14s5AFPInZbZmapwHU4L@mail.gmail.com>
References:  <AANLkTinjn3k5bQ00rxeZb2EVqTsu4XL3_Qz_tA3-RE3p@mail.gmail.com> <AANLkTiku9mnq5lTxxLk8-WDR14s5AFPInZbZmapwHU4L@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.
--------------090608030906040104080003
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07/04/2010 04:00, Earl Lapus wrote:
> Hi,
> 
> I just want to follow-up on this PR. Basically a working icmp6
> functionality that exists in 7.x and below broke in 8.x and CURRENT. I
> believe it's too late to have it fixed in 8.1. Maybe someone on the
> list that really knows the icmp6 code can have a look and verify if it
> is indeed a bug. If it is, hopefully it can be fixed on the next
> releases.
> 
> Cheers!
> Earl
> 
> 

I have reviewed this, edited the patch and determined this does fix the
problem.  The patch is attached and is also here: http://bit.ly/clqhxt


Regards,

- -- 

 +-+-+-+-+-+
 |j|h|e|l|l|
 +-+-+-+-+-+
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (FreeBSD)

iQEcBAEBAgAGBQJMMoYaAAoJEJBXh4mJ2FR+dN0H/jGb6K6NiWJuRDjfg+hUBebm
AXfUvhrIyD0SKriaCVM9+ZymkfrgDBzRGWKZ61I7K3ZH/shhbII0NoS+VxFa9sqN
ZuWu/2zDbuyY36+OjRWMreNuXns3/LEm6VxHlo8JbGBAtk0d1BPM3MqrV5JPP0W1
pqy0db3NOqqNMADsK7GYdAfI65cgx+05XuhmKZ86fCsfnd7EkPcFVIGZrJxoT8HB
P7VhtfsxsEwakTMhbcgXltQggWKhGtMKzjscAe5n6ncd5Aq22JjKdPZHTcin8mLi
htqynqfmTcs88D0nG0/m6344HXPFOe16vCRJmJGBvR0wBbICEycBZZtsqgmbqiU=
=huMJ
-----END PGP SIGNATURE-----

--------------090608030906040104080003
Content-Type: text/x-patch;
 name="icmp6-ll-Fix-r209700.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="icmp6-ll-Fix-r209700.diff"

Index: sys/netinet6/icmp6.c
===================================================================
--- sys/netinet6/icmp6.c	(revision 209700)
+++ sys/netinet6/icmp6.c	(working copy)
@@ -2162,8 +2162,21 @@
 	}
 
 	if ((srcp != NULL) && 
-	    (in6_addrscope(srcp) != in6_addrscope(&ip6->ip6_src)))
-		srcp = NULL;
+		(in6_addrscope(srcp) != in6_addrscope(&ip6->ip6_src))) {
+			struct sockaddr_in6 sin6;
+ 
+		bzero(&sin6, sizeof(sin6));
+		sin6.sin6_family = AF_INET6;
+		sin6.sin6_len = sizeof(sin6);
+		sin6.sin6_addr = origdst;
+
+		ia = (struct in6_ifaddr *)
+			ifa_ifwithaddr((struct sockaddr *)&sin6);
+
+		if (ia && (ia->ia6_flags & IN6_IFF_ANYCAST))
+			srcp = NULL;
+	}
+
 
 	if (srcp == NULL) {
 		int e;

--------------090608030906040104080003
Content-Type: application/octet-stream;
 name="icmp6-ll-Fix-r209700.diff.sig"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
 filename="icmp6-ll-Fix-r209700.diff.sig"

iQEcBAABAgAGBQJMMoYaAAoJEJBXh4mJ2FR+nI0H/R6RZQ5O/atXBhBzd+OR5kE2NDhGlC01
gOqTC/TfLbp3sJTx/eN4yZPvrFAtr0FgF58BMDZC9TKi1rVzVmJbZZofRx1b5OTayMDOREMv
mKPgkwjDeTOZfX3Dlx/79Z3PgpaZgFNKard5p9ESAqtnv9yQKfpTDS9gjpk86GtQFbgZSlaB
+6xzUgzRLbzG0AEZ72otFnI1PTrSjmfZlrbnx0ZDpQs3M5cMQAEnkbe3AsMnYggib3gFbdbK
TMAieiEBon+lt6ZDUtq6LFSx2JB1JvTRzfX3QRhjRyO/F8sfTabFYuj+vuaJe1rzpVuzfe0T
BYGdbNeWhaQCdmhPKPp5Iq4=
--------------090608030906040104080003--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C32861B.4060203>