On Tue, 15 Mar 2016, Gleb Smirnoff wrote:

Author: glebius
Date: Tue Mar 15 00:15:10 2016
New Revision: 296881
URL: https://svnweb.freebsd.org/changeset/base/296881

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.

 Place running connection counts into separate array, and provide
 separate read-only sysctl oid for it.

This has VNET(xxx) macros in the middle of the code.  We do that
nowhere else.   Could you please
        #define V_xxx   VNET(xxx)
and get rid of them?

+
+static void
+tcp_vnet_init(const void *unused)

Also that function name is very badly chosen.


+       COUNTER_ARRAY_ALLOC(VNET(tcps_states), TCP_NSTATES, M_WAITOK);

                        ^^^^^^^^^^^

+       COUNTER_ARRAY_FREE(VNET(tcps_states), TCP_NSTATES);

+                   counter_u64_fetch(VNET(tcps_states)[TCPS_SYN_RECEIVED]);

+       m = counter_u64_fetch(VNET(tcps_states)[TCPS_SYN_RECEIVED]);

/*
+ * Running TCP connection count by state.
+ */
+VNET_DECLARE(counter_u64_t, tcps_states[TCP_NSTATES]);
+#define        TCPSTATES_INC(state)    
counter_u64_add(VNET(tcps_states)[state], 1)
+#define        TCPSTATES_DEC(state)    
counter_u64_add(VNET(tcps_states)[state], -1)
                                                     ^^^^^^^^^^^
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to