summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ifmcstat
Commit message (Collapse)AuthorAgeFilesLines
* Merge final round of MLD changes from p4:bms2009-05-272-14/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit:bms2009-04-291-0/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Merge IGMPv3 and Source-Specific Multicast (SSM) to the FreeBSDbms2009-03-093-94/+365
| | | | | | | | | | | 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.
* Add printb.c utility file, but do not yet connect it to the build.bms2009-03-041-0/+64
|
* nitsbms2009-02-151-12/+12
|
* Blow away KAME MLDv2 hooks.bms2009-02-151-80/+0
| | | | | | 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.
* Improve ifmcstat(8) and fix a few bugs while we're at it:bms2009-02-152-82/+188
| | | | | | | | | | | | | | | | | | * 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
* Fix a typo which caused ifmcstat's sysctl pathbms2009-02-151-1/+1
| | | | | | | | | 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
* mdoc fix: Add missing .El requestkeramida2007-10-301-1/+2
| | | | MFC after: 3 days
* Options spring cleanup:sepotvin2007-06-131-2/+4
| | | | | | | | | | - 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
* Considerably rework the ifmcstat utility.bms2007-04-103-115/+385
| | | | | | | | | | | | | | | * 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
* Remove __P.bms2007-04-091-7/+7
|
* Use -M and -N for core and kernel image respectively.bms2007-03-202-10/+20
|
* Make clean for !INET6.bms2007-03-192-182/+41
| | | | | Remove non-FreeBSD code. Sort includes.
* Merge latest ifmcstat (with changes for FreeBSD).bms2007-03-192-34/+477
| | | | | | | | | | | 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
* Fixed the misplaced $FreeBSD$.ru2005-02-091-1/+1
|
* Remove unused variable and clamp down with WARNS=2dd2004-09-132-1/+2
| | | | | | PR: 71662 Submitted by: Dan Lukes <dan@obluda.cz> Tested on: i386, sparc64, ia64, amd64
* Include <net/ethernet.h> to have a prototype for ether_ntoa().stefanf2004-05-281-0/+1
| | | | Approved by: das (mentor)
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-311-3/+1
| | | | | | | | | | | | | 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)
* stop use of NI_WITHSCOPEID. it was deprecated.ume2003-10-211-4/+0
| | | | Obtained from: KAME
* style.Makefile(5)obrien2003-04-041-1/+1
|
* The .Nm utilitycharnier2002-07-141-1/+1
|
* Perform a major cleanup of the usr.sbin Makefiles.obrien2001-07-201-3/+1
| | | | | 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.
* Install it with mode 550, and with default group ${BINGRP}.ru2001-07-041-3/+2
|
* - Document that this program is available to root only.ru2001-07-041-4/+16
| | | | | | | - Document alternate way to fetch multicast info. - Add RFC2080 reference. Obtained from: OpenBSD (with mods)
* drop setgid bit. ifmcstat(8) is not audited, and is needed only for root.ume2001-07-031-1/+1
| | | | | Obtained from: KAME MFC after: 1 week
* Nuke unused variables.dd2001-06-241-5/+0
|
* Sync with recent KAME.ume2001-06-112-14/+32
| | | | | | | | | | | | | | | | | | 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
* - Backout botched attempt to introduce MANSECT feature.ru2001-03-261-0/+1
| | | | - MAN[1-9] -> MAN.
* Set the default manual section for usr.sbin/ to 8.ru2001-03-201-1/+0
|
* Convert if_multiaddrs from LIST to TAILQ so that it can be traversedphk2001-02-061-3/+3
| | | | | | backwards in the three drivers which want to do that. Reviewed by: mikeh
* Use macro API to <sys/queue.h>phk2000-12-301-9/+9
| | | | | Submitted by: "Jason" <jsmethers@pdq.net> Reviewed by: /sbin/md5
* Sync with latest KAME.ume2000-07-071-58/+128
| | | | Obtained from: KAME
* Remove useless .Nm macro argumentphantom2000-04-201-2/+2
|
* remove redundant ifdef's.shin2000-01-071-182/+44
| | | | some part is specified by: phantom
* Fix KERNEL vs _KERNEL spammage.billf1999-12-301-2/+2
| | | | Submitted by: Paul Saab <paul@mu.org>
* Getaddrinfo(), getnameinfo(), and etc support in libc/net.shin1999-12-283-0/+386
Several udp and raw apps IPv6 support. Reviewed by: freebsd-arch, cvs-committers Obtained from: KAME project
OpenPOWER on IntegriCloud