diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-07 14:56:50 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-21 10:29:37 +0200 |
commit | c37f9fba70085fedc8eede7559489d2321393005 (patch) | |
tree | 042455ebf1fa89a277a825f72e1ed805d0b4d296 /freebsd/usr.bin | |
parent | Update to FreeBSD head 2017-06-01 (diff) | |
download | rtems-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.c | 100 | ||||
-rw-r--r-- | freebsd/usr.bin/netstat/inet.c | 15 | ||||
-rw-r--r-- | freebsd/usr.bin/netstat/main.c | 1 | ||||
-rw-r--r-- | freebsd/usr.bin/netstat/netstat.h | 1 | ||||
-rw-r--r-- | freebsd/usr.bin/netstat/rtems-bsd-netstat-data.h | 1 | ||||
-rw-r--r-- | freebsd/usr.bin/netstat/rtems-bsd-netstat-namespace.h | 2 |
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 */ |