summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ifmcstat
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2009-05-27 18:57:13 +0000
committerbms <bms@FreeBSD.org>2009-05-27 18:57:13 +0000
commitf73e96a405eebf9eaa5e51a108501e1dc0b18607 (patch)
treeee589f6d515dd1a5ff120c282256a7d216d33739 /usr.sbin/ifmcstat
parent954b6f0f3beed7a34bbcd1cdc1cf7df501666617 (diff)
downloadFreeBSD-src-f73e96a405eebf9eaa5e51a108501e1dc0b18607.zip
FreeBSD-src-f73e96a405eebf9eaa5e51a108501e1dc0b18607.tar.gz
Merge final round of MLD changes from p4:
ip6_input.c, in6.h: * Add netinet6-specific mbuf flag M_RTALERT_MLD, shadowing M_PROTO6. * Always set this flag if HBH Router Alert option is present for MLD, even when not forwarding. icmp6.c: * In icmp6_input(), spell m->m_pkthdr.rcvif as ifp to be consistent. * Use scope ID for verifying input. Do not apply SSM filters here, no inpcb. * Check for M_RTALERT_MLD when validating MLD traffic, as we can't see IPv6 hop options outside of ip6_input(). in6_mcast.c: * Use KAME scope/zone ID in in6_multi. * Update net.inet6.ip6.mcast.filters implementation to use scope IDs for comparisons. * Fix scope ID treatment in multicast socket option processing. Scope IDs passed in from userland will be ignored as other less ambiguous APIs exist for specifying the link. * Tighten userland input checks in IPv6 SSM delta and full-state ops. * Source filter embedded scope IDs need to be revisited, for now just clear them and ignore them on input. * Adapt KAME behaviour of looking up the scope ID in the default zone for multicast leaves, when the interface is ambiguous. mld6.c: * Tighten origin checks on MLD traffic as per RFC3810 Section 6.2: * ip6_src MAY be the unspecified address for MLDv1 reports. * ip6_src MAY have link-local address scope for MLDv1 reports, MLDv1 queries, and MLDv2 queries. * Perform address field validation *before* accepting queries. * Use KAME scope/zone ID in query/report processing. * Break const correctness for mld_v1_input_report(), mld_v1_input_query() as we temporarily modify the input mbuf chain. * Clear the scope ID before handoff to userland MLD daemon. * Fix MLDv1 old querier present timer processing. With the protocol defaults, hosts should revert to MLDv2 after 260s. * Add net.inet6.mld.v1enable sysctl, default to on. ifmcstat.c: * Use sysctl by default; -K requests kvm(3) if so compiled. mld.4: * Connect man page to build. Tested using PCS.
Diffstat (limited to 'usr.sbin/ifmcstat')
-rw-r--r--usr.sbin/ifmcstat/ifmcstat.822
-rw-r--r--usr.sbin/ifmcstat/ifmcstat.c4
2 files changed, 12 insertions, 14 deletions
diff --git a/usr.sbin/ifmcstat/ifmcstat.8 b/usr.sbin/ifmcstat/ifmcstat.8
index 5805183..5a6956d 100644
--- a/usr.sbin/ifmcstat/ifmcstat.8
+++ b/usr.sbin/ifmcstat/ifmcstat.8
@@ -30,7 +30,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd February 28, 2009
+.Dd May 27, 2009
.Dt IFMCSTAT 8
.Os
.Sh NAME
@@ -71,8 +71,8 @@ Source lists for each group will also be printed.
.Pp
If specified twice, and
.Xr kvm 3
-is in use, the IGMP timers for each interface
-and the IGMP source list counters for each group
+is in use, the control plane timers for each interface
+and the source list counters for each group
will also be printed.
.El
.Pp
@@ -82,9 +82,9 @@ has been built with support for
.Xr kvm 3 :
.Bl -tag -width Fl
.It Fl K
-forces the use of
+attempts to use
.Xr kvm 3
-to be disabled.
+to retrieve the multicast group information.
.It Fl M Ar core
extracts values associated with the name list from the specified core,
instead of the default
@@ -94,6 +94,11 @@ extracts the name list from the specified kernel instead of the
default, which is the kernel image the system has booted from.
.El
.Sh IMPLEMENTATION NOTES
+.Nm
+will always print the embedded scope IDs of IPv6 multicast group
+memberships.
+This is because memberships are always scoped to an interface.
+.Pp
When run with the
.Fl v
option,
@@ -119,13 +124,6 @@ is more limited.
This support is recommended for debugging purposes.
It requires super-user privilege if used to inspect a running kernel.
.Pp
-The
-.Xr kvm 3
-back-end will be used by default if
-.Nm
-is run with super-user privileges, unless the
-.Fl K
-option is specified.
.Sh SEE ALSO
.Xr getifaddrs 3 ,
.Xr getifmaddrs 3 ,
diff --git a/usr.sbin/ifmcstat/ifmcstat.c b/usr.sbin/ifmcstat/ifmcstat.c
index 0aea6fd..e45e36d 100644
--- a/usr.sbin/ifmcstat/ifmcstat.c
+++ b/usr.sbin/ifmcstat/ifmcstat.c
@@ -264,13 +264,13 @@ main(int argc, char **argv)
usage();
#ifdef WITH_KVM
- if (!Kflag)
+ if (Kflag)
error = ifmcstat_kvm(kernel, core);
/*
* If KVM failed, and user did not explicitly specify a core file,
* or force KVM backend to be disabled, try the sysctl backend.
*/
- if (Kflag || (error != 0 && (core == NULL && kernel == NULL)))
+ if (!Kflag || (error != 0 && (core == NULL && kernel == NULL)))
#endif
error = ifmcstat_getifmaddrs();
if (error != 0)
OpenPOWER on IntegriCloud