Index: af_inet6.c =================================================================== --- af_inet6.c (revision 278081) +++ af_inet6.c (working copy) @@ -167,33 +167,6 @@ } static void -in6_print_scope(uint8_t *a) -{ - const char *sname = NULL; - uint16_t val; - - val = (a[0] << 4) + ((a[1] & 0xc0) >> 4); - - if ((val & 0xff0) == 0xff0) - sname = "Multicast"; - else { - switch(val) { - case 0xfe8: - sname = "Link"; - break; - case 0xfec: - sname = "Site"; - break; - default: - sname = "Global"; - break; - } - } - - printf("scope: %s ", sname); -} - -static void in6_status(int s __unused, const struct ifaddrs *ifa) { struct sockaddr_in6 *sin, null_sin; @@ -284,8 +257,9 @@ if ((flags6 & IN6_IFF_PREFER_SOURCE) != 0) printf("prefer_source "); - in6_print_scope((uint8_t *)&((struct sockaddr_in6 *) - (ifa->ifa_addr))->sin6_addr); + if (((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id) + printf("scopeid 0x%x ", + ((struct sockaddr_in6 *)(ifa->ifa_addr))->sin6_scope_id); if (ip6lifetime && (lifetime.ia6t_preferred || lifetime.ia6t_expire)) { printf("pltime "); Index: ifconfig.c =================================================================== --- ifconfig.c (revision 278081) +++ ifconfig.c (working copy) @@ -235,7 +235,7 @@ if (af1 < ORDERS_SIZE(e1->af_orders) && af2 < ORDERS_SIZE(e1->af_orders)) - return (e1->af_orders[af2] - e1->af_orders[af1]); + return (e1->af_orders[af1] - e1->af_orders[af2]); } return (0);