svn commit: r277241 - head/sbin/route
Alexander V. Chernikov
melifaro at FreeBSD.org
Fri Jan 16 11:17:31 UTC 2015
Author: melifaro
Date: Fri Jan 16 11:17:30 2015
New Revision: 277241
URL: https://svnweb.freebsd.org/changeset/base/277241
Log:
Eliminate incorrect IPv6 mask guessing:
RFC 2374 concept of 'IPv6 Aggregatable Global Unicast Address Format' was
deprecated by RFC 3587 12 years ago.
Before:
15:06 [1] edge# netstat -rn6 | grep 2a02:6b8::
2a02:6b8::/32 2a02:978:2::1 UGS em0
15:06 [1] edge# route -6n get 2a02:6b8::
route: writing to routing socket: No such process
After:
15:07 [1] edge# /usr/obj/usr/src/sbin/route/route -n6 get 2a02:6b8::
route to: 2a02:6b8::
destination: 2a02:6b8::
mask: ffff:ffff::
gateway: 2a02:978:2::1
fib: 0
interface: em0
flags: <UP,GATEWAY,DONE,STATIC>
recvpipe sendpipe ssthresh rtt,msec mtu weight expire
0 0 0 0 1500 1 0
MFC after: 2 weeks
Modified:
head/sbin/route/route.c
Modified: head/sbin/route/route.c
==============================================================================
--- head/sbin/route/route.c Fri Jan 16 10:49:27 2015 (r277240)
+++ head/sbin/route/route.c Fri Jan 16 11:17:30 2015 (r277241)
@@ -1137,19 +1137,11 @@ inet_makenetandmask(u_long net, struct s
static int
inet6_makenetandmask(struct sockaddr_in6 *sin6, const char *plen)
{
- struct in6_addr in6;
if (plen == NULL) {
if (IN6_IS_ADDR_UNSPECIFIED(&sin6->sin6_addr) &&
- sin6->sin6_scope_id == 0) {
+ sin6->sin6_scope_id == 0)
plen = "0";
- } else if ((sin6->sin6_addr.s6_addr[0] & 0xe0) == 0x20) {
- /* aggregatable global unicast - RFC2374 */
- memset(&in6, 0, sizeof(in6));
- if (!memcmp(&sin6->sin6_addr.s6_addr[8],
- &in6.s6_addr[8], 8))
- plen = "64";
- }
}
if (plen == NULL || strcmp(plen, "128") == 0)
More information about the svn-src-all
mailing list