summaryrefslogtreecommitdiffstats
path: root/usr.bin/netstat
diff options
context:
space:
mode:
authorbms <bms@FreeBSD.org>2009-02-15 16:16:38 +0000
committerbms <bms@FreeBSD.org>2009-02-15 16:16:38 +0000
commit2b08fb6e8b2328729bcba43b64645d790ed605ef (patch)
treed0342bee1542ac527afef6f9b72efe2ba2589c90 /usr.bin/netstat
parent1685dd7b40c5a1dede2e26c8e6595117a2306f5a (diff)
downloadFreeBSD-src-2b08fb6e8b2328729bcba43b64645d790ed605ef.zip
FreeBSD-src-2b08fb6e8b2328729bcba43b64645d790ed605ef.tar.gz
Now that ifmcstat(8) does not suck, retire host-mode netstat -g.
This change will not be back-ported.
Diffstat (limited to 'usr.bin/netstat')
-rw-r--r--usr.bin/netstat/Makefile2
-rw-r--r--usr.bin/netstat/main.c1
-rw-r--r--usr.bin/netstat/mcast.c219
-rw-r--r--usr.bin/netstat/netstat.114
-rw-r--r--usr.bin/netstat/netstat.h1
5 files changed, 11 insertions, 226 deletions
diff --git a/usr.bin/netstat/Makefile b/usr.bin/netstat/Makefile
index bb73c67..df31aec 100644
--- a/usr.bin/netstat/Makefile
+++ b/usr.bin/netstat/Makefile
@@ -4,7 +4,7 @@
.include <bsd.own.mk>
PROG= netstat
-SRCS= if.c inet.c main.c mbuf.c mcast.c mroute.c route.c \
+SRCS= if.c inet.c main.c mbuf.c mroute.c route.c \
unix.c atalk.c mroute6.c ipsec.c bpf.c pfkey.c sctp.c
WARNS?= 3
diff --git a/usr.bin/netstat/main.c b/usr.bin/netstat/main.c
index 642a63b..6eb313a 100644
--- a/usr.bin/netstat/main.c
+++ b/usr.bin/netstat/main.c
@@ -558,7 +558,6 @@ main(int argc, char *argv[])
nl[N_MIF6TABLE].n_value);
#endif
}
- ifmalist_dump();
exit(0);
}
diff --git a/usr.bin/netstat/mcast.c b/usr.bin/netstat/mcast.c
deleted file mode 100644
index 218d630..0000000
--- a/usr.bin/netstat/mcast.c
+++ /dev/null
@@ -1,219 +0,0 @@
-/*-
- * Copyright (c) 2007 Bruce M. Simpson <bms@FreeBSD.org>
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * 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.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
- *
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-/*
- * Print the running system's current multicast group memberships.
- * As this relies on getifmaddrs(), it may not be used with a core file.
- */
-
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/socketvar.h>
-
-#include <net/if.h>
-#include <net/if_var.h>
-#include <net/if_mib.h>
-#include <net/if_types.h>
-#include <net/if_dl.h>
-#include <net/route.h>
-#include <netinet/in.h>
-#include <netinet/if_ether.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-
-#include <ctype.h>
-#include <err.h>
-#include <ifaddrs.h>
-#include <sysexits.h>
-
-#include <stddef.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "netstat.h"
-
-#define __NETSTAT_BURN_BRIDGES
-
-#ifdef __NETSTAT_BURN_BRIDGES
-
-union sockunion {
- struct sockaddr_storage ss;
- struct sockaddr sa;
- struct sockaddr_dl sdl;
- struct sockaddr_in sin;
- struct sockaddr_in6 sin6;
-};
-typedef union sockunion sockunion_t;
-
-void ifmalist_dump_af(const struct ifmaddrs * const ifmap, int const af);
-
-void
-ifmalist_dump_af(const struct ifmaddrs * const ifmap, int const af)
-{
- const struct ifmaddrs *ifma;
- sockunion_t *psa;
- char myifname[IFNAMSIZ];
-#ifdef INET6
- char addrbuf[INET6_ADDRSTRLEN];
-#endif
- char *pcolon;
- char *pafname, *pifname, *plladdr, *pgroup;
-#ifdef INET6
- void *in6addr;
-#endif
-
- switch (af) {
- case AF_INET:
- pafname = "IPv4";
- break;
-#ifdef INET6
- case AF_INET6:
- pafname = "IPv6";
- break;
-#endif
- case AF_LINK:
- pafname = "Link-layer";
- break;
- default:
- return; /* XXX */
- }
-
- fprintf(stdout, "%s Multicast Group Memberships\n", pafname);
- fprintf(stdout, "%-20s\t%-16s\t%s\n", "Group", "Link-layer Address",
- "Netif");
-
- for (ifma = ifmap; ifma; ifma = ifma->ifma_next) {
-
- if (ifma->ifma_name == NULL || ifma->ifma_addr == NULL)
- continue;
-
- /* Group address */
- psa = (sockunion_t *)ifma->ifma_addr;
- if (psa->sa.sa_family != af)
- continue;
-
- switch (psa->sa.sa_family) {
- case AF_INET:
- pgroup = inet_ntoa(psa->sin.sin_addr);
- break;
-#ifdef INET6
- case AF_INET6:
- in6addr = &psa->sin6.sin6_addr;
- inet_ntop(psa->sa.sa_family, in6addr, addrbuf,
- sizeof(addrbuf));
- pgroup = addrbuf;
- break;
-#endif
- case AF_LINK:
- if ((psa->sdl.sdl_alen == ETHER_ADDR_LEN) ||
- (psa->sdl.sdl_type == IFT_ETHER)) {
- pgroup =
-ether_ntoa((struct ether_addr *)&psa->sdl.sdl_data);
-#ifdef notyet
- } else {
- pgroup = addr2ascii(AF_LINK,
- &psa->sdl,
- sizeof(struct sockaddr_dl),
- addrbuf);
-#endif
- }
- break;
- default:
- continue; /* XXX */
- }
-
- /* Link-layer mapping, if any */
- psa = (sockunion_t *)ifma->ifma_lladdr;
- if (psa != NULL) {
- if (psa->sa.sa_family == AF_LINK) {
- if ((psa->sdl.sdl_alen == ETHER_ADDR_LEN) ||
- (psa->sdl.sdl_type == IFT_ETHER)) {
- /* IEEE 802 */
- plladdr =
-ether_ntoa((struct ether_addr *)&psa->sdl.sdl_data);
-#ifdef notyet
- } else {
- /* something more exotic */
- plladdr = addr2ascii(AF_LINK,
- &psa->sdl,
- sizeof(struct sockaddr_dl),
- addrbuf);
-#endif
- }
- } else {
- /* not a link-layer address */
- plladdr = "<invalid>";
- }
- } else {
- plladdr = "<none>";
- }
-
- /* Interface upon which the membership exists */
- psa = (sockunion_t *)ifma->ifma_name;
- if (psa != NULL && psa->sa.sa_family == AF_LINK) {
- strlcpy(myifname, link_ntoa(&psa->sdl), IFNAMSIZ);
- pcolon = strchr(myifname, ':');
- if (pcolon)
- *pcolon = '\0';
- pifname = myifname;
- } else {
- pifname = "";
- }
-
- fprintf(stdout, "%-20s\t%-16s\t%s\n", pgroup, plladdr, pifname);
- }
-}
-
-void
-ifmalist_dump(void)
-{
- struct ifmaddrs *ifmap;
-
- fprintf(stderr,
- "WARNING: This functionality is deprecated, and will be removed\n"
- "in FreeBSD 7.0. Please consider using ifmcstat(8) instead.\n");
-
- if (getifmaddrs(&ifmap))
- err(EX_OSERR, "getifmaddrs");
-
- ifmalist_dump_af(ifmap, AF_LINK);
- fputs("\n", stdout);
- ifmalist_dump_af(ifmap, AF_INET);
-#ifdef INET6
- fputs("\n", stdout);
- ifmalist_dump_af(ifmap, AF_INET6);
-#endif
-
- freeifmaddrs(ifmap);
-}
-#endif /* __NETSTAT_BURN_BRIDGES */
diff --git a/usr.bin/netstat/netstat.1 b/usr.bin/netstat/netstat.1
index e4b9117..f78b29f 100644
--- a/usr.bin/netstat/netstat.1
+++ b/usr.bin/netstat/netstat.1
@@ -32,7 +32,7 @@
.\" @(#)netstat.1 8.8 (Berkeley) 4/18/94
.\" $FreeBSD$
.\"
-.Dd May 16, 2008
+.Dd February 15, 2009
.Dt NETSTAT 1
.Os
.Sh NAME
@@ -265,9 +265,15 @@ is repeated, counters with a value of zero are suppressed.
.Op Fl N Ar system
.Ek
.Xc
-Show information related to multicast (group address) routing.
-By default, show the IP Multicast virtual-interface and routing tables,
-and multicast group memberships.
+Display the contents of the multicast virtual interface tables,
+and multicast forwarding caches.
+Entries in these tables will appear only when the kernel is
+actively forwarding multicast sessions.
+This option is applicable only to the
+.Cm inet
+and
+.Cm inet6
+address families.
.It Xo
.Bk -words
.Nm
diff --git a/usr.bin/netstat/netstat.h b/usr.bin/netstat/netstat.h
index 3812e63..da76ff1 100644
--- a/usr.bin/netstat/netstat.h
+++ b/usr.bin/netstat/netstat.h
@@ -160,7 +160,6 @@ void tp_protopr(u_long, const char *, int, int);
void tp_inproto(u_long);
void tp_stats(caddr_t, caddr_t);
-void ifmalist_dump(void);
void mroutepr(u_long, u_long);
void mrt_stats(u_long);
void bpf_stats(char *);
OpenPOWER on IntegriCloud