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
This commit is contained in:
Qing Li 2011-10-16 22:15:13 +00:00
parent e8cc80c0a0
commit e74eb12c68

View File

@ -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;