9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright 2019 Joyent, Inc.
29 */
30
31 #ifndef _INET_IP_STACK_H
32 #define _INET_IP_STACK_H
33
34 #ifdef __cplusplus
35 extern "C" {
36 #endif
37
38 #include <sys/netstack.h>
39 #include <netinet/igmp_var.h>
40 #include <sys/modhash.h>
41
42 #ifdef _KERNEL
43 #include <sys/list.h>
44
45
46 /*
47 * IP statistics.
48 */
68 kstat_named_t ip_ire_reclaim_deleted;
69 kstat_named_t ip_nce_reclaim_calls;
70 kstat_named_t ip_nce_reclaim_deleted;
71 kstat_named_t ip_nce_mcast_reclaim_calls;
72 kstat_named_t ip_nce_mcast_reclaim_deleted;
73 kstat_named_t ip_nce_mcast_reclaim_tqfail;
74 kstat_named_t ip_dce_reclaim_calls;
75 kstat_named_t ip_dce_reclaim_deleted;
76 kstat_named_t ip_tcp_in_full_hw_cksum_err;
77 kstat_named_t ip_tcp_in_part_hw_cksum_err;
78 kstat_named_t ip_tcp_in_sw_cksum_err;
79 kstat_named_t ip_udp_in_full_hw_cksum_err;
80 kstat_named_t ip_udp_in_part_hw_cksum_err;
81 kstat_named_t ip_udp_in_sw_cksum_err;
82 kstat_named_t conn_in_recvdstaddr;
83 kstat_named_t conn_in_recvopts;
84 kstat_named_t conn_in_recvif;
85 kstat_named_t conn_in_recvslla;
86 kstat_named_t conn_in_recvucred;
87 kstat_named_t conn_in_recvttl;
88 kstat_named_t conn_in_recvhopopts;
89 kstat_named_t conn_in_recvhoplimit;
90 kstat_named_t conn_in_recvdstopts;
91 kstat_named_t conn_in_recvrthdrdstopts;
92 kstat_named_t conn_in_recvrthdr;
93 kstat_named_t conn_in_recvpktinfo;
94 kstat_named_t conn_in_recvtclass;
95 kstat_named_t conn_in_timestamp;
96 } ip_stat_t;
97
98
99 /*
100 * IP6 statistics.
101 */
102 #define IP6_STAT(ipst, x) ((ipst)->ips_ip6_statistics.x.value.ui64++)
103 #define IP6_STAT_UPDATE(ipst, x, n) \
104 ((ipst)->ips_ip6_statistics.x.value.ui64 += (n))
105
106 typedef struct ip6_stat {
107 kstat_named_t ip6_udp_fannorm;
|
9 * or http://www.opensolaris.org/os/licensing.
10 * See the License for the specific language governing permissions
11 * and limitations under the License.
12 *
13 * When distributing Covered Code, include this CDDL HEADER in each
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 */
21
22 /*
23 * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
25 */
26
27 /*
28 * Copyright 2019 Joyent, Inc.
29 * Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
30 */
31
32 #ifndef _INET_IP_STACK_H
33 #define _INET_IP_STACK_H
34
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38
39 #include <sys/netstack.h>
40 #include <netinet/igmp_var.h>
41 #include <sys/modhash.h>
42
43 #ifdef _KERNEL
44 #include <sys/list.h>
45
46
47 /*
48 * IP statistics.
49 */
69 kstat_named_t ip_ire_reclaim_deleted;
70 kstat_named_t ip_nce_reclaim_calls;
71 kstat_named_t ip_nce_reclaim_deleted;
72 kstat_named_t ip_nce_mcast_reclaim_calls;
73 kstat_named_t ip_nce_mcast_reclaim_deleted;
74 kstat_named_t ip_nce_mcast_reclaim_tqfail;
75 kstat_named_t ip_dce_reclaim_calls;
76 kstat_named_t ip_dce_reclaim_deleted;
77 kstat_named_t ip_tcp_in_full_hw_cksum_err;
78 kstat_named_t ip_tcp_in_part_hw_cksum_err;
79 kstat_named_t ip_tcp_in_sw_cksum_err;
80 kstat_named_t ip_udp_in_full_hw_cksum_err;
81 kstat_named_t ip_udp_in_part_hw_cksum_err;
82 kstat_named_t ip_udp_in_sw_cksum_err;
83 kstat_named_t conn_in_recvdstaddr;
84 kstat_named_t conn_in_recvopts;
85 kstat_named_t conn_in_recvif;
86 kstat_named_t conn_in_recvslla;
87 kstat_named_t conn_in_recvucred;
88 kstat_named_t conn_in_recvttl;
89 kstat_named_t conn_in_recvtos;
90 kstat_named_t conn_in_recvhopopts;
91 kstat_named_t conn_in_recvhoplimit;
92 kstat_named_t conn_in_recvdstopts;
93 kstat_named_t conn_in_recvrthdrdstopts;
94 kstat_named_t conn_in_recvrthdr;
95 kstat_named_t conn_in_recvpktinfo;
96 kstat_named_t conn_in_recvtclass;
97 kstat_named_t conn_in_timestamp;
98 } ip_stat_t;
99
100
101 /*
102 * IP6 statistics.
103 */
104 #define IP6_STAT(ipst, x) ((ipst)->ips_ip6_statistics.x.value.ui64++)
105 #define IP6_STAT_UPDATE(ipst, x, n) \
106 ((ipst)->ips_ip6_statistics.x.value.ui64 += (n))
107
108 typedef struct ip6_stat {
109 kstat_named_t ip6_udp_fannorm;
|