[Midnightbsd-cvs] src [7531] trunk/sbin/ifconfig/af_inet6.c: remove kame kludge for filling in scope id from ifconfig

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Apr 14 08:14:03 EDT 2016


Revision: 7531
          http://svnweb.midnightbsd.org/src/?rev=7531
Author:   laffer1
Date:     2016-04-14 08:14:02 -0400 (Thu, 14 Apr 2016)
Log Message:
-----------
remove kame kludge for filling in scope id from ifconfig

Modified Paths:
--------------
    trunk/sbin/ifconfig/af_inet6.c

Modified: trunk/sbin/ifconfig/af_inet6.c
===================================================================
--- trunk/sbin/ifconfig/af_inet6.c	2016-04-14 12:13:16 UTC (rev 7530)
+++ trunk/sbin/ifconfig/af_inet6.c	2016-04-14 12:14:02 UTC (rev 7531)
@@ -62,7 +62,6 @@
     .ifra_lifetime = { 0, 0, ND6_INFINITE_LIFETIME, ND6_INFINITE_LIFETIME } };
 static	int ip6lifetime;
 
-static	void in6_fillscopeid(struct sockaddr_in6 *sin6);
 static	int prefix(void *, int);
 static	char *sec2str(time_t);
 static	int explicit_prefix = 0;
@@ -166,18 +165,6 @@
 }
 
 static void
-in6_fillscopeid(struct sockaddr_in6 *sin6)
-{
-#if defined(__KAME__) && defined(KAME_SCOPEID)
-	if (IN6_IS_ADDR_LINKLOCAL(&sin6->sin6_addr)) {
-		sin6->sin6_scope_id =
-			ntohs(*(u_int16_t *)&sin6->sin6_addr.s6_addr[2]);
-		sin6->sin6_addr.s6_addr[2] = sin6->sin6_addr.s6_addr[3] = 0;
-	}
-#endif
-}
-
-static void
 in6_status(int s __unused, const struct ifaddrs *ifa)
 {
 	struct sockaddr_in6 *sin, null_sin;
@@ -187,7 +174,6 @@
 	struct in6_addrlifetime lifetime;
 	time_t t = time(NULL);
 	int error;
-	u_int32_t scopeid;
 
 	memset(&null_sin, 0, sizeof(null_sin));
 
@@ -217,18 +203,6 @@
 	lifetime = ifr6.ifr_ifru.ifru_lifetime;
 	close(s6);
 
-	/* XXX: embedded link local addr check */
-	if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr) &&
-	    *(u_short *)&sin->sin6_addr.s6_addr[2] != 0) {
-		u_short index;
-
-		index = *(u_short *)&sin->sin6_addr.s6_addr[2];
-		*(u_short *)&sin->sin6_addr.s6_addr[2] = 0;
-		if (sin->sin6_scope_id == 0)
-			sin->sin6_scope_id = ntohs(index);
-	}
-	scopeid = sin->sin6_scope_id;
-
 	error = getnameinfo((struct sockaddr *)sin, sin->sin6_len, addr_buf,
 			    sizeof(addr_buf), NULL, 0, NI_NUMERICHOST);
 	if (error != 0)
@@ -245,17 +219,6 @@
 		if (sin != NULL && sin->sin6_family == AF_INET6) {
 			int error;
 
-			/* XXX: embedded link local addr check */
-			if (IN6_IS_ADDR_LINKLOCAL(&sin->sin6_addr) &&
-			    *(u_short *)&sin->sin6_addr.s6_addr[2] != 0) {
-				u_short index;
-
-				index = *(u_short *)&sin->sin6_addr.s6_addr[2];
-				*(u_short *)&sin->sin6_addr.s6_addr[2] = 0;
-				if (sin->sin6_scope_id == 0)
-					sin->sin6_scope_id = ntohs(index);
-			}
-
 			error = getnameinfo((struct sockaddr *)sin,
 					    sin->sin6_len, addr_buf,
 					    sizeof(addr_buf), NULL, 0,
@@ -288,8 +251,8 @@
 	if ((flags6 & IN6_IFF_TEMPORARY) != 0)
 		printf("temporary ");
 
-        if (scopeid)
-		printf("scopeid 0x%x ", scopeid);
+        if (sin->sin6_scope_id)
+		printf("scopeid 0x%x ", sin->sin6_scope_id);
 
 	if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) {
 		printf("pltime ");
@@ -456,7 +419,6 @@
 		return;
 	if (sa->sa_family != AF_INET6)
 		return;
-	in6_fillscopeid(&in6_ifr.ifr_addr);
 	if (getnameinfo(sa, sa->sa_len, src, sizeof(src), 0, 0,
 	    NI_NUMERICHOST) != 0)
 		src[0] = '\0';
@@ -465,7 +427,6 @@
 		return;
 	if (sa->sa_family != AF_INET6)
 		return;
-	in6_fillscopeid(&in6_ifr.ifr_addr);
 	if (getnameinfo(sa, sa->sa_len, dst, sizeof(dst), 0, 0,
 	    NI_NUMERICHOST) != 0)
 		dst[0] = '\0';



More information about the Midnightbsd-cvs mailing list