svn commit: r226451 - head/sys/netinet6

Qing Li qingli at
Sun Oct 16 22:15:14 UTC 2011

Author: qingli
Date: Sun Oct 16 22:15:13 2011
New Revision: 226451

  The IPv6 code was influx at the time of r196865 due to the L2/L3
  separation rewrite changes. r196865 was committed to fix a scope
  violation problem in the following test scenario:
    box-1# ifconfig em0 inet6 2001:db8:1:: prefixlen 64 anycast
    box-1# ifconfig em1 inet6 2001:db8:2::1 prefixlen 64
    box-2# ifconfig re0 inet6 2001:db8:1::6 prefixlen 64
    em0 and re0 are on the same link.
    box-2# ping6 2001:db8:1::
    PING6(56=40+8+8 bytes) 2001:db8:1::6 --> 2001:db8:1::
  the ICMPv6 response should have a source address of em1, which
  is 2001:db8:2::1, not the link-local address of em0.
  That code is no longer necessary and breaks the IPv6-Ready logo
  testing, so revert it now.
  Reviewed by:	hrs
  MFC after:	3 days


Modified: head/sys/netinet6/icmp6.c
--- head/sys/netinet6/icmp6.c	Sun Oct 16 21:30:15 2011	(r226450)
+++ head/sys/netinet6/icmp6.c	Sun Oct 16 22:15:13 2011	(r226451)
@@ -2244,10 +2244,6 @@ icmp6_reflect(struct mbuf *m, size_t off
-	if ((srcp != NULL) && 
-	    (in6_addrscope(srcp) != in6_addrscope(&ip6->ip6_src)))
-		srcp = NULL;
 	if (srcp == NULL) {
 		int e;
 		struct sockaddr_in6 sin6;

More information about the svn-src-head mailing list