History log of /freebsd-10.1-release/usr.sbin/ifmcstat/
Revision Date Author Comments
272461 03-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


245015 03-Jan-2013 hrs

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


243441 23-Nov-2012 hrs

- Use sin6_scope_id instead of sin6_addr.s6_addr[2].
- Support a flag for ALLOW/BLOCK in source-specific multicast (RFC 4604).


237256 19-Jun-2012 eadler

Remove variables which are initialized but never used thereafter reported by gcc46 warning

Approved by: cperciva
MFC After: 3 days


233455 25-Mar-2012 joel

Remove superfluous paragraph macro.


230617 27-Jan-2012 maxim

o in6_ifinfo() does not do any kvm(3) operations, so
do not guard it by WITH_KVM ifdef. This allows to build
ifmcstat(8) without kvm(3) support.

PR: bin/164353
Submitted by: Ivan Rozhuk
MFC after: 2 weeks


228990 30-Dec-2011 uqs

Spelling fixes for usr.sbin/


223492 24-Jun-2011 kevlo

Remove duplicated header files


222025 17-May-2011 pluknet

Fix manual section number for netstat(1).

MFC after: 5 days


192923 27-May-2009 bms

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.


191672 29-Apr-2009 bms

Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit:
import from p4 bms_netdev. Summary of changes:

* Connect netinet6/in6_mcast.c to build.
The legacy KAME KPIs are mostly preserved.
* Eliminate now dead code from ip6_output.c.
Don't do mbuf bingo, we are not going to do RFC 2292 style
CMSG tricks for multicast options as they are not required
by any current IPv6 normative reference.
* Refactor transports (UDP, raw_ip6) to do own mcast filtering.
SCTP, TCP unaffected by this change.
* Add ip6_msource, in6_msource structs to in6_var.h.
* Hookup mld_ifinfo state to in6_ifextra, allocate from
domifattach path.
* Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced.
Kernel consumers which need this should use in6m_lookup().
* Refactor IPv6 socket group memberships to use a vector (like IPv4).
* Update ifmcstat(8) for IPv6 SSM.
* Add witness lock order for IN6_MULTI_LOCK.
* Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths.
* Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup.
* Update carp(4) for new IPv6 SSM KPIs.
* Virtualize ip6_mrouter socket.
Changes mostly localized to IPv6 MROUTING.
* Don't do a local group lookup in MROUTING.
* Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge().
* Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode.
* Bump __FreeBSD_version to 800084.
* Update UPDATING.

NOTE WELL:
* This code hasn't been tested against real MLDv2 queriers
(yet), although the on-wire protocol has been verified in Wireshark.
* There are a few unresolved issues in the socket layer APIs to
do with scope ID propagation.
* There is a LOR present in ip6_output()'s use of
in6_setscope() which needs to be resolved. See comments in mld6.c.
This is believed to be benign and can't be avoided for the moment
without re-introducing an indirect netisr.

This work was mostly derived from the IGMPv3 implementation, and
has been sponsored by a third party.


189592 09-Mar-2009 bms

Merge IGMPv3 and Source-Specific Multicast (SSM) to the FreeBSD
IPv4 stack.

Diffs are minimized against p4.
PCS has been used for some protocol verification, more widespread
testing of recorded sources in Group-and-Source queries is needed.
sizeof(struct igmpstat) has changed.

__FreeBSD_version is bumped to 800070.


189341 04-Mar-2009 bms

Add printb.c utility file, but do not yet connect it to the build.


188647 15-Feb-2009 bms

nits


188646 15-Feb-2009 bms

Blow away KAME MLDv2 hooks.
This code can be gotten from change history here and it's
more than likely our implementation will differ significantly
because of VIMAGE and SMPng.


188645 15-Feb-2009 bms

Improve ifmcstat(8) and fix a few bugs while we're at it:
* Retire the old 'ifmcstat <kernel>' usage.
* Print AF_LINK records even if run against KVM.
This makes the KVM backend consistent with the sysctl backend.
* Suppress printing of link-layer group records by default.
* Add a -v switch to allow link-layer groups to be printed.
* If compiled without INET6 support, actually work.
* If compiled with INET6 support, print the scope ID of
all IPv6 addresses in both backends.
* Update man page.
* Update copyrights.

With this change, it is now reasonable to retire netstat -g.
Most of the SSM related gunk in this file will require later refactoring.

MFC after: 2 weeks


188643 15-Feb-2009 bms

Fix a typo which caused ifmcstat's sysctl path
to print the network-layer endpoint address of the
group membership, rather than its link-layer mapping
as intended.
The KVM path is not affected.

MFC after: 1 week


173193 30-Oct-2007 keramida

mdoc fix: Add missing .El request

MFC after: 3 days


170644 13-Jun-2007 sepotvin

Options spring cleanup:
- Add and document the KVM and KVM_SUPPORT options that
are needed for the ifmcstats(3) makefile
- Garbage collect unused variables
- Add missing inclusion of bsd.own.mk where needed

Approved by: kan (mentor)
Reviewed by: ru


168560 10-Apr-2007 bms

Considerably rework the ifmcstat utility.
* Build with or without INET, INET6, or KVM features.
* When built without KVM, the sysctl-based getifmaddrs() function
is used as the back-end for the utility.
* Reflect the fact that FreeBSD now uses the in_multi refcount as
a true refcount.
* Style.

The utility may now be run without super-user privilege, albeit with
a less detailed display, equivalent to that of the soon-to-be-retired
netstat -g host-mode output.

MFC after: 3 weeks


168550 09-Apr-2007 bms

Remove __P.


167731 20-Mar-2007 bms

Use -M and -N for core and kernel image respectively.


167712 19-Mar-2007 bms

Make clean for !INET6.
Remove non-FreeBSD code.
Sort includes.


167706 19-Mar-2007 bms

Merge latest ifmcstat (with changes for FreeBSD).
Possibly merge or split with netstat -g.

TODO: Make !defined(INET6) clean.
TODO: Add -M/-N instead of -k.
TODO: Use sysctls instead of kvm.

Obtained from: KAME
MFC after: 2 weeks


141580 09-Feb-2005 ru

Fixed the misplaced $FreeBSD$.


135139 13-Sep-2004 dd

Remove unused variable and clamp down with WARNS=2

PR: 71662
Submitted by: Dan Lukes <dan@obluda.cz>
Tested on: i386, sparc64, ia64, amd64


129815 28-May-2004 stefanf

Include <net/ethernet.h> to have a prototype for ether_ntoa().

Approved by: das (mentor)


121816 31-Oct-2003 brooks

Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By: re (in principle)
Reviewed By: njl, imp
Tested On: i386, amd64, sparc64
Obtained From: NetBSD (if_xname)


121316 21-Oct-2003 ume

stop use of NI_WITHSCOPEID. it was deprecated.

Obtained from: KAME


113091 04-Apr-2003 obrien

style.Makefile(5)


99968 14-Jul-2002 charnier

The .Nm utility


80029 20-Jul-2001 obrien

Perform a major cleanup of the usr.sbin Makefiles.
These are not perfectly in agreement with each other style-wise, but they
are orders of orders of magnitude more consistent style-wise than before.


79182 04-Jul-2001 ru

Install it with mode 550, and with default group ${BINGRP}.


79181 04-Jul-2001 ru

- Document that this program is available to root only.
- Document alternate way to fetch multicast info.
- Add RFC2080 reference.

Obtained from: OpenBSD (with mods)


79151 03-Jul-2001 ume

drop setgid bit. ifmcstat(8) is not audited, and is needed only for root.

Obtained from: KAME
MFC after: 1 week


78737 24-Jun-2001 dd

Nuke unused variables.


78064 11-Jun-2001 ume

Sync with recent KAME.
This work was based on kame-20010528-freebsd43-snap.tgz and some
critical problem after the snap was out were fixed.
There are many many changes since last KAME merge.

TODO:
- The definitions of SADB_* in sys/net/pfkeyv2.h are still different
from RFC2407/IANA assignment because of binary compatibility
issue. It should be fixed under 5-CURRENT.
- ip6po_m member of struct ip6_pktopts is no longer used. But, it
is still there because of binary compatibility issue. It should
be removed under 5-CURRENT.

Reviewed by: itojun
Obtained from: KAME
MFC after: 3 weeks


74816 26-Mar-2001 ru

- Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.


74532 20-Mar-2001 ru

Set the default manual section for usr.sbin/ to 8.


72084 06-Feb-2001 phk

Convert if_multiaddrs from LIST to TAILQ so that it can be traversed
backwards in the three drivers which want to do that.

Reviewed by: mikeh


70520 30-Dec-2000 phk

Use macro API to <sys/queue.h>

Submitted by: "Jason" <jsmethers@pdq.net>
Reviewed by: /sbin/md5


62785 07-Jul-2000 ume

Sync with latest KAME.

Obtained from: KAME


59441 20-Apr-2000 phantom

Remove useless .Nm macro argument


55543 07-Jan-2000 shin

remove redundant ifdef's.

some part is specified by: phantom


55255 30-Dec-1999 billf

Fix KERNEL vs _KERNEL spammage.

Submitted by: Paul Saab <paul@mu.org>


55163 28-Dec-1999 shin

Getaddrinfo(), getnameinfo(), and etc support in libc/net.
Several udp and raw apps IPv6 support.

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project