svn commit: r245015 - head/usr.sbin/ifmcstat

Hiroki Sato hrs at FreeBSD.org
Thu Jan 3 22:27:58 UTC 2013


Author: hrs
Date: Thu Jan  3 22:27:57 2013
New Revision: 245015
URL: http://svnweb.freebsd.org/changeset/base/245015

Log:
  - Print scopeid for link-local scope addresses.
  - Do not print the flags= part when flags == 0.

Modified:
  head/usr.sbin/ifmcstat/ifmcstat.c

Modified: head/usr.sbin/ifmcstat/ifmcstat.c
==============================================================================
--- head/usr.sbin/ifmcstat/ifmcstat.c	Thu Jan  3 22:24:39 2013	(r245014)
+++ head/usr.sbin/ifmcstat/ifmcstat.c	Thu Jan  3 22:27:57 2013	(r245015)
@@ -296,7 +296,8 @@ in_ifinfo(struct igmp_ifinfo *igi)
 		printf("igmpv?(%d)", igi->igi_version);
 		break;
 	}
-	printb(" flags", igi->igi_flags, "\020\1SILENT\2LOOPBACK");
+	if (igi->igi_flags)
+		printb(" flags", igi->igi_flags, "\020\1SILENT\2LOOPBACK");
 	if (igi->igi_version == IGMP_VERSION_3) {
 		printf(" rv %u qi %u qri %u uri %u",
 		    igi->igi_rv, igi->igi_qi, igi->igi_qri, igi->igi_uri);
@@ -752,7 +753,8 @@ in6_ifinfo(struct mld_ifinfo *mli)
 		printf("mldv?(%d)", mli->mli_version);
 		break;
 	}
-	printb(" flags", mli->mli_flags, "\020\1SILENT\2USEALLOW");
+	if (mli->mli_flags)
+		printb(" flags", mli->mli_flags, "\020\1SILENT\2USEALLOW");
 	if (mli->mli_version == MLD_VERSION_2) {
 		printf(" rv %u qi %u qri %u uri %u",
 		    mli->mli_rv, mli->mli_qi, mli->mli_qri, mli->mli_uri);
@@ -1129,7 +1131,14 @@ ifmcstat_getifmaddrs(void)
 				break;
 			}
 
-			fprintf(stdout, "\t%s %s\n", pafname, addrbuf);
+			fprintf(stdout, "\t%s %s", pafname, addrbuf);
+#ifdef INET6
+			if (pifasa->sa.sa_family == AF_INET6 &&
+			    pifasa->sin6.sin6_scope_id)
+				fprintf(stdout, " scopeid 0x%x",
+				    pifasa->sin6.sin6_scope_id);
+#endif
+			fprintf(stdout, "\n");
 #ifdef INET
 			/*
 			 * Print per-link IGMP information, if available.
@@ -1202,6 +1211,12 @@ next_ifnet:
 		}
 
 		fprintf(stdout, "\t\tgroup %s", addrbuf);
+#ifdef INET6
+		if (pgsa->sa.sa_family == AF_INET6 &&
+		    pgsa->sin6.sin6_scope_id)
+			fprintf(stdout, " scopeid 0x%x",
+			    pgsa->sin6.sin6_scope_id);
+#endif
 #ifdef INET
 		if (pgsa->sa.sa_family == AF_INET) {
 			inm_print_sources_sysctl(thisifindex,


More information about the svn-src-all mailing list