summaryrefslogtreecommitdiffstats
path: root/freebsd/usr.bin
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-08-07 14:56:50 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-21 10:29:37 +0200
commitc37f9fba70085fedc8eede7559489d2321393005 (patch)
tree042455ebf1fa89a277a825f72e1ed805d0b4d296 /freebsd/usr.bin
parentUpdate to FreeBSD head 2017-06-01 (diff)
downloadrtems-libbsd-c37f9fba70085fedc8eede7559489d2321393005.tar.bz2
Update to FreeBSD head 2017-08-01
Git mirror commit f5002f5e5f78cae9f0269d812dc0aedb0339312c. Update #3472.
Diffstat (limited to 'freebsd/usr.bin')
-rw-r--r--freebsd/usr.bin/netstat/flowtable.c100
-rw-r--r--freebsd/usr.bin/netstat/inet.c15
-rw-r--r--freebsd/usr.bin/netstat/main.c1
-rw-r--r--freebsd/usr.bin/netstat/netstat.h1
-rw-r--r--freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h1
-rw-r--r--freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h2
6 files changed, 9 insertions, 111 deletions
diff --git a/freebsd/usr.bin/netstat/flowtable.c b/freebsd/usr.bin/netstat/flowtable.c
deleted file mode 100644
index 2b1f2975..00000000
--- a/freebsd/usr.bin/netstat/flowtable.c
+++ /dev/null
@@ -1,100 +0,0 @@
-#include <machine/rtems-bsd-user-space.h>
-
-#ifdef __rtems__
-#include "rtems-bsd-netstat-namespace.h"
-#endif /* __rtems__ */
-
-/*-
- * Copyright (c) 2014 Gleb Smirnoff <glebius@FreeBSD.org>
- *
- * 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.
- * 3. Neither the name of the University 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 REGENTS 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 REGENTS 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.
- */
-
-#ifdef __rtems__
-#include <machine/rtems-bsd-program.h>
-#endif /* __rtems__ */
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-
-#include <net/flowtable.h>
-
-#include <stdint.h>
-#include <stdio.h>
-#include <stdbool.h>
-
-#include "netstat.h"
-#ifdef __rtems__
-#include "rtems-bsd-netstat-flowtable-data.h"
-#endif /* __rtems__ */
-
-/*
- * Print flowtable statistics.
- */
-
-static void
-print_stats(struct flowtable_stat *stat)
-{
-
-#define p(f, m) if (stat->f || sflag <= 1) \
- printf(m, (uintmax_t)stat->f, plural(stat->f))
-#define p2(f, m) if (stat->f || sflag <= 1) \
- printf(m, (uintmax_t)stat->f, plurales(stat->f))
-
- p(ft_lookups, "\t%ju lookup%s\n");
- p(ft_hits, "\t%ju hit%s\n");
- p2(ft_misses, "\t%ju miss%s\n");
- p(ft_inserts, "\t%ju insert%s\n");
- p(ft_collisions, "\t%ju collision%s\n");
- p(ft_free_checks, "\t%ju free check%s\n");
- p(ft_frees, "\t%ju free%s\n");
- p(ft_fail_lle_invalid,
- "\t%ju lookup%s with not resolved Layer 2 address\n");
-
-#undef p2
-#undef p
-}
-
-void
-flowtable_stats(void)
-{
- struct flowtable_stat stat;
-
- if (!live)
- return;
-
- if (fetch_stats("net.flowtable.ip4.stat", 0, &stat,
- sizeof(stat), NULL) == 0) {
- printf("flowtable for IPv4:\n");
- print_stats(&stat);
- }
-
- if (fetch_stats("net.flowtable.ip6.stat", 0, &stat,
- sizeof(stat), NULL) == 0) {
- printf("flowtable for IPv6:\n");
- print_stats(&stat);
- }
-}
diff --git a/freebsd/usr.bin/netstat/inet.c b/freebsd/usr.bin/netstat/inet.c
index 299eee3d..05d5f2c3 100644
--- a/freebsd/usr.bin/netstat/inet.c
+++ b/freebsd/usr.bin/netstat/inet.c
@@ -182,14 +182,17 @@ sotoxsocket(struct socket *so, struct xsocket *xso)
if (kread((uintptr_t)proto.pr_domain, &domain, sizeof(domain)) != 0)
return (-1);
xso->xso_family = domain.dom_family;
- xso->so_qlen = so->so_qlen;
- xso->so_incqlen = so->so_incqlen;
- xso->so_qlimit = so->so_qlimit;
xso->so_timeo = so->so_timeo;
xso->so_error = so->so_error;
- xso->so_oobmark = so->so_oobmark;
- sbtoxsockbuf(&so->so_snd, &xso->so_snd);
- sbtoxsockbuf(&so->so_rcv, &xso->so_rcv);
+ if (SOLISTENING(so)) {
+ xso->so_qlen = so->sol_qlen;
+ xso->so_incqlen = so->sol_incqlen;
+ xso->so_qlimit = so->sol_qlimit;
+ } else {
+ sbtoxsockbuf(&so->so_snd, &xso->so_snd);
+ sbtoxsockbuf(&so->so_rcv, &xso->so_rcv);
+ xso->so_oobmark = so->so_oobmark;
+ }
return (0);
}
diff --git a/freebsd/usr.bin/netstat/main.c b/freebsd/usr.bin/netstat/main.c
index 24fc3442..3cf39d1c 100644
--- a/freebsd/usr.bin/netstat/main.c
+++ b/freebsd/usr.bin/netstat/main.c
@@ -575,7 +575,6 @@ main(int argc, char *argv[])
xo_open_container("statistics");
if (sflag) {
rt_stats();
- flowtable_stats();
} else
routepr(fib, af);
xo_close_container("statistics");
diff --git a/freebsd/usr.bin/netstat/netstat.h b/freebsd/usr.bin/netstat/netstat.h
index 776c09e7..d6402987 100644
--- a/freebsd/usr.bin/netstat/netstat.h
+++ b/freebsd/usr.bin/netstat/netstat.h
@@ -140,7 +140,6 @@ void intpr(void (*)(char *), int);
void pr_family(int);
void rt_stats(void);
-void flowtable_stats(void);
char *routename(struct sockaddr *, int);
const char *netname(struct sockaddr *, struct sockaddr *);
diff --git a/freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h b/freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h
index 675a2c71..f1a44d99 100644
--- a/freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h
+++ b/freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h
@@ -1,7 +1,6 @@
/* generated by userspace-header-gen.py */
#include <rtems/linkersets.h>
/* bpf.c */
-/* flowtable.c */
/* if.c */
/* inet6.c */
/* inet.c */
diff --git a/freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h b/freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h
index 64c3c52a..7a938bc0 100644
--- a/freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h
+++ b/freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h
@@ -1,8 +1,6 @@
/* generated by userspace-header-gen.py */
/* bpf.c */
#define bpf_stats _bsd_netstat_bpf_stats
-/* flowtable.c */
-#define flowtable_stats _bsd_netstat_flowtable_stats
/* if.c */
#define intpr _bsd_netstat_intpr
/* inet6.c */