Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Mar 2016 11:05:06 -0400
From:      Shawn Webb <shawn.webb@hardenedbsd.org>
To:        Gleb Smirnoff <glebius@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r296881 - in head: contrib/bsnmp/snmp_mibII sys/netinet
Message-ID:  <20160316150506.GA88619@mutt-hardenedbsd>
In-Reply-To: <201603150015.u2F0FATD089432@repo.freebsd.org>
References:  <201603150015.u2F0FATD089432@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--SUOF0GtieIMvvwua
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 15, 2016 at 12:15:10AM +0000, Gleb Smirnoff wrote:
> Author: glebius
> Date: Tue Mar 15 00:15:10 2016
> New Revision: 296881
> URL: https://svnweb.freebsd.org/changeset/base/296881
>=20
> Log:
>   Redo r294869. The array of counters for TCP states doesn't belong to
>   struct tcpstat, because the structure can be zeroed out by netstat(1) -=
z,
>   and of course running connection counts shouldn't be touched.
>  =20
>   Place running connection counts into separate array, and provide
>   separate read-only sysctl oid for it.
>=20
> Modified:
>   head/contrib/bsnmp/snmp_mibII/mibII_tcp.c
>   head/sys/netinet/tcp_input.c
>   head/sys/netinet/tcp_subr.c
>   head/sys/netinet/tcp_syncache.c
>   head/sys/netinet/tcp_timewait.c
>   head/sys/netinet/tcp_usrreq.c
>   head/sys/netinet/tcp_var.h
>=20

[snip]

>=20
> Modified: head/sys/netinet/tcp_input.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D
> --- head/sys/netinet/tcp_input.c	Tue Mar 15 00:05:00 2016	(r296880)
> +++ head/sys/netinet/tcp_input.c	Tue Mar 15 00:15:10 2016	(r296881)
> @@ -235,16 +235,39 @@ VNET_DEFINE(struct inpcbhead, tcb);
>  VNET_DEFINE(struct inpcbinfo, tcbinfo);
> =20
>  /*
> - * TCP statistics are stored in an "array" of counter(9)s.
> + * TCP statistics are stored in an array of counter(9)s, which size matc=
hes
> + * size of struct tcpstat.  TCP running connection count is a regular ar=
ray.
>   */
>  VNET_PCPUSTAT_DEFINE(struct tcpstat, tcpstat);
> -VNET_PCPUSTAT_SYSINIT(tcpstat);
>  SYSCTL_VNET_PCPUSTAT(_net_inet_tcp, TCPCTL_STATS, stats, struct tcpstat,
>      tcpstat, "TCP statistics (struct tcpstat, netinet/tcp_var.h)");
> +VNET_DEFINE(counter_u64_t, tcps_states[TCP_NSTATES]);
> +SYSCTL_COUNTER_U64_ARRAY(_net_inet_tcp, TCPCTL_STATES, states, CTLFLAG_R=
D |
> +    CTLFLAG_VNET, &VNET_NAME(tcps_states), TCP_NSTATES,
> +    "TCP connection counts by TCP state");

This breaks the build on amd64:

/usr/src/sys/netinet/tcp_input.c:245:1: error: static_assert failed "compil=
e-time assertion failed"
SYSCTL_COUNTER_U64_ARRAY(_net_inet_tcp, TCPCTL_STATES, states, CTLFLAG_RD |
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/sys/sys/sysctl.h:657:2: note: expanded from macro 'SYSCTL_COUNTER_=
U64_ARRAY'
        CTASSERT((((access) & CTLTYPE) =3D=3D 0 ||                         =
 \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/src/sys/sys/systm.h:103:21: note: expanded from macro 'CTASSERT'
#define CTASSERT(x)     _Static_assert(x, "compile-time assertion failed")
                        ^              ~
--=20
Shawn Webb
HardenedBSD

GPG Key ID:          0x6A84658F52456EEE
GPG Key Fingerprint: 2ABA B6BD EF6A F486 BE89  3D9E 6A84 658F 5245 6EEE

--SUOF0GtieIMvvwua
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJW6XYgAAoJEGqEZY9SRW7uPIEP+QFD1adlt/SC8b5Z6ZzXmmob
U7bSvuKfP7FcQqMta/V12rOBnnIJopfVctaO50cWIZlEjIukOGhP34NsZMkAfUrj
hft1jfCnUkEZhh4D2z1YQBkEyZmBPrZ1vBieLOPN0B3eCZGuFjqmkth27IN0nDp9
VcWvCk7VDph1+g17gCVGdCFCMZ0wtms4Kp+FM3omRaL6jlsY5ltK7BRhagKD2txZ
gfxgAw9BFaxfObxw+MPws6Kndqp52lvTuBpu1uuG1Z934gNompKMx02xFnsyCoup
SGqs2xTFXV4QhvS8nB1SlamDeKHYE1rEN5OzKOlJq6lmcWQ8E5g6J4H1zPTixCQU
g/JlpHh1pYsGwUdbxRcKFUx0oixID5AxlDzeiBOWovTE5EvAlhX7M8U5BuTdO1G8
eP9PpQ+d6q/1/IGaCbH4e7S/FyIb9a1VQgeEHaceK+s58bnqvlGSKcVDOQ2PBZAM
QnCktAYJYAbQHj92IXjroGCkUsn1vwFCOv2JzYvan1rhdZI6edObYkhfD1t0a0Ac
UfwztMUcuvbNuTQwzy3E9DtdPx2WEkSjmMWhJ8r0MP3UZy+T0S2e60NGIqKlDgom
+Gk2oG0r+gqWUHGs4CJjN39zMAtVAoOXmbKt6ZO7FRKXiNXMdbzBbJoR6wmTwNgx
wisnOn0LzLDDGSV0kx5B
=CbOx
-----END PGP SIGNATURE-----

--SUOF0GtieIMvvwua--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160316150506.GA88619>