2007-03-19 16:45:06 +00:00
|
|
|
.\" $KAME: ifmcstat.8,v 1.6 2002/10/31 04:23:43 suz Exp $
|
2001-06-11 12:39:29 +00:00
|
|
|
.\"
|
2009-02-15 15:19:34 +00:00
|
|
|
.\" Copyright (c) 2007-2009 Bruce Simpson.
|
2001-06-11 12:39:29 +00:00
|
|
|
.\" Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
|
|
|
|
.\" All rights reserved.
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
2001-06-11 12:39:29 +00:00
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
|
|
.\" 3. Neither the name of the project nor the names of its contributors
|
|
|
|
.\" may be used to endorse or promote products derived from this software
|
|
|
|
.\" without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
2005-02-09 18:07:17 +00:00
|
|
|
.\" $FreeBSD$
|
1999-12-28 02:37:14 +00:00
|
|
|
.\"
|
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.
2009-05-27 18:57:13 +00:00
|
|
|
.Dd May 27, 2009
|
1999-12-28 02:37:14 +00:00
|
|
|
.Dt IFMCSTAT 8
|
2001-07-04 07:17:24 +00:00
|
|
|
.Os
|
1999-12-28 02:37:14 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm ifmcstat
|
|
|
|
.Nd dump multicast group management statistics per interface
|
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
2007-03-19 16:45:06 +00:00
|
|
|
.Op Fl i Ar interface
|
|
|
|
.Op Fl f Ar address-family
|
2009-02-15 15:19:34 +00:00
|
|
|
.Op Fl v
|
2009-03-09 17:53:05 +00:00
|
|
|
.Op Fl K
|
2007-03-20 02:08:28 +00:00
|
|
|
.Op Fl M Ar core
|
|
|
|
.Op Fl N Ar system
|
2007-03-19 16:45:06 +00:00
|
|
|
.\"
|
1999-12-28 02:37:14 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
2000-04-20 15:21:16 +00:00
|
|
|
.Nm
|
2007-03-19 16:45:06 +00:00
|
|
|
command dumps multicast group information from the kernel.
|
2001-07-04 07:17:24 +00:00
|
|
|
.Pp
|
2007-03-19 16:45:06 +00:00
|
|
|
The following options are supported:
|
|
|
|
.Bl -tag -width Fl
|
|
|
|
.It Fl i Ar interface
|
|
|
|
specifies the interface to be displayed.
|
|
|
|
.It Fl f Ar address-family
|
2009-02-15 15:19:34 +00:00
|
|
|
specifies the address family to be displayed;
|
|
|
|
.Ar inet ,
|
2007-03-19 16:45:06 +00:00
|
|
|
.Ar inet6
|
2009-02-15 15:19:34 +00:00
|
|
|
and
|
|
|
|
.Ar link
|
2007-03-19 16:45:06 +00:00
|
|
|
are supported.
|
2009-02-15 15:19:34 +00:00
|
|
|
.It Fl v
|
|
|
|
specifies that link-layer memberships should be printed;
|
|
|
|
they are suppressed by default.
|
|
|
|
It may not be specified for
|
|
|
|
.Fl f Ar link .
|
2009-03-09 17:53:05 +00:00
|
|
|
Source lists for each group will also be printed.
|
|
|
|
.Pp
|
|
|
|
If specified twice, and
|
|
|
|
.Xr kvm 3
|
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.
2009-05-27 18:57:13 +00:00
|
|
|
is in use, the control plane timers for each interface
|
|
|
|
and the source list counters for each group
|
2009-03-09 17:53:05 +00:00
|
|
|
will also be printed.
|
2007-04-10 00:26:12 +00:00
|
|
|
.El
|
|
|
|
.Pp
|
|
|
|
The following options are only available if
|
|
|
|
.Nm
|
|
|
|
has been built with support for
|
2009-02-15 15:19:34 +00:00
|
|
|
.Xr kvm 3 :
|
2007-04-10 00:26:12 +00:00
|
|
|
.Bl -tag -width Fl
|
2009-03-09 17:53:05 +00:00
|
|
|
.It Fl K
|
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.
2009-05-27 18:57:13 +00:00
|
|
|
attempts to use
|
2009-03-09 17:53:05 +00:00
|
|
|
.Xr kvm 3
|
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.
2009-05-27 18:57:13 +00:00
|
|
|
to retrieve the multicast group information.
|
2007-03-20 02:08:28 +00:00
|
|
|
.It Fl M Ar core
|
|
|
|
extracts values associated with the name list from the specified core,
|
|
|
|
instead of the default
|
|
|
|
.Pa /dev/kmem .
|
|
|
|
.It Fl N Ar system
|
2007-03-19 16:45:06 +00:00
|
|
|
extracts the name list from the specified kernel instead of the
|
|
|
|
default, which is the kernel image the system has booted from.
|
2007-10-30 16:04:23 +00:00
|
|
|
.El
|
2007-04-10 00:26:12 +00:00
|
|
|
.Sh IMPLEMENTATION NOTES
|
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.
2009-05-27 18:57:13 +00:00
|
|
|
.Nm
|
|
|
|
will always print the embedded scope IDs of IPv6 multicast group
|
|
|
|
memberships.
|
|
|
|
This is because memberships are always scoped to an interface.
|
|
|
|
.Pp
|
2009-02-15 15:19:34 +00:00
|
|
|
When run with the
|
|
|
|
.Fl v
|
|
|
|
option,
|
2007-04-10 00:26:12 +00:00
|
|
|
.Nm
|
|
|
|
may print multicast MAC addresses twice if they are
|
|
|
|
referenced by a layer 3 protocol.
|
|
|
|
.Pp
|
|
|
|
When run with
|
|
|
|
.Xr kvm 3
|
|
|
|
support,
|
|
|
|
the names of all interfaces configured in the system will be
|
|
|
|
printed in the first column of output, even if no multicast
|
2009-02-15 15:19:34 +00:00
|
|
|
group memberships are present on those interfaces.
|
|
|
|
The output may also be slightly different, as the kernel
|
|
|
|
data structures are being traversed with minimal post-processing
|
|
|
|
of the output.
|
|
|
|
.Pp
|
|
|
|
When built without
|
|
|
|
.Xr kvm 3
|
|
|
|
support, the information displayed by
|
|
|
|
.Nm
|
|
|
|
is more limited.
|
|
|
|
This support is recommended for debugging purposes.
|
|
|
|
It requires super-user privilege if used to inspect a running kernel.
|
2007-04-10 00:26:12 +00:00
|
|
|
.Sh SEE ALSO
|
2011-05-17 14:46:28 +00:00
|
|
|
.Xr netstat 1 ,
|
2007-04-10 00:26:12 +00:00
|
|
|
.Xr getifaddrs 3 ,
|
|
|
|
.Xr getifmaddrs 3 ,
|
2011-05-17 14:46:28 +00:00
|
|
|
.Xr kvm 3
|