From 976e4945144e6e4888ba8ec63122987effededd6 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 2 Feb 2015 19:00:18 +0000 Subject: [PATCH] Revert the change of flowid output format. [1] Reverse the sorting order of the interfaces addresses familise so it should be the same as getifaddrs(3) order. [2] Suggested by: hrs [1], bz [2] Approved by: hrs, bapt --- sbin/ifconfig/af_inet6.c | 32 +++----------------------------- sbin/ifconfig/ifconfig.c | 2 +- 2 files changed, 4 insertions(+), 30 deletions(-) diff --git a/sbin/ifconfig/af_inet6.c b/sbin/ifconfig/af_inet6.c index b8121a67aaf5..37494000bc2c 100644 --- a/sbin/ifconfig/af_inet6.c +++ b/sbin/ifconfig/af_inet6.c @@ -166,33 +166,6 @@ setip6eui64(const char *cmd, int dummy __unused, int s, freeifaddrs(ifap); } -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) { @@ -284,8 +257,9 @@ in6_status(int s __unused, const struct ifaddrs *ifa) 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 "); diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index 73d84f52253d..5a805a7e60fd 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -235,7 +235,7 @@ cmpifaddrs(struct ifaddrs *a, struct ifaddrs *b, struct ifa_queue *q) 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);