xref: /titanic_52/usr/src/uts/common/inet/kstatcom.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1*7c478bd9Sstevel@tonic-gate /*
2*7c478bd9Sstevel@tonic-gate  * CDDL HEADER START
3*7c478bd9Sstevel@tonic-gate  *
4*7c478bd9Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*7c478bd9Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*7c478bd9Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*7c478bd9Sstevel@tonic-gate  * with the License.
8*7c478bd9Sstevel@tonic-gate  *
9*7c478bd9Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*7c478bd9Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*7c478bd9Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*7c478bd9Sstevel@tonic-gate  * and limitations under the License.
13*7c478bd9Sstevel@tonic-gate  *
14*7c478bd9Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*7c478bd9Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*7c478bd9Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*7c478bd9Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*7c478bd9Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*7c478bd9Sstevel@tonic-gate  *
20*7c478bd9Sstevel@tonic-gate  * CDDL HEADER END
21*7c478bd9Sstevel@tonic-gate  */
22*7c478bd9Sstevel@tonic-gate /*
23*7c478bd9Sstevel@tonic-gate  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
24*7c478bd9Sstevel@tonic-gate  * Use is subject to license terms.
25*7c478bd9Sstevel@tonic-gate  */
26*7c478bd9Sstevel@tonic-gate 
27*7c478bd9Sstevel@tonic-gate #ifndef	_INET_KSTATCOM_H
28*7c478bd9Sstevel@tonic-gate #define	_INET_KSTATCOM_H
29*7c478bd9Sstevel@tonic-gate 
30*7c478bd9Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
31*7c478bd9Sstevel@tonic-gate 
32*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
33*7c478bd9Sstevel@tonic-gate extern "C" {
34*7c478bd9Sstevel@tonic-gate #endif
35*7c478bd9Sstevel@tonic-gate 
36*7c478bd9Sstevel@tonic-gate 
37*7c478bd9Sstevel@tonic-gate #include <sys/kstat.h>
38*7c478bd9Sstevel@tonic-gate 
39*7c478bd9Sstevel@tonic-gate 
40*7c478bd9Sstevel@tonic-gate 
41*7c478bd9Sstevel@tonic-gate typedef struct ip_named_kstat {
42*7c478bd9Sstevel@tonic-gate 	kstat_named_t forwarding;
43*7c478bd9Sstevel@tonic-gate 	kstat_named_t defaultTTL;
44*7c478bd9Sstevel@tonic-gate 	kstat_named_t inReceives;
45*7c478bd9Sstevel@tonic-gate 	kstat_named_t inHdrErrors;
46*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAddrErrors;
47*7c478bd9Sstevel@tonic-gate 	kstat_named_t forwDatagrams;
48*7c478bd9Sstevel@tonic-gate 	kstat_named_t inUnknownProtos;
49*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDiscards;
50*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDelivers;
51*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRequests;
52*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDiscards;
53*7c478bd9Sstevel@tonic-gate 	kstat_named_t outNoRoutes;
54*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmTimeout;
55*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmReqds;
56*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmOKs;
57*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmFails;
58*7c478bd9Sstevel@tonic-gate 	kstat_named_t fragOKs;
59*7c478bd9Sstevel@tonic-gate 	kstat_named_t fragFails;
60*7c478bd9Sstevel@tonic-gate 	kstat_named_t fragCreates;
61*7c478bd9Sstevel@tonic-gate 	kstat_named_t addrEntrySize;
62*7c478bd9Sstevel@tonic-gate 	kstat_named_t routeEntrySize;
63*7c478bd9Sstevel@tonic-gate 	kstat_named_t netToMediaEntrySize;
64*7c478bd9Sstevel@tonic-gate 	kstat_named_t routingDiscards;
65*7c478bd9Sstevel@tonic-gate 	kstat_named_t inErrs;
66*7c478bd9Sstevel@tonic-gate 	kstat_named_t noPorts;
67*7c478bd9Sstevel@tonic-gate 	kstat_named_t inCksumErrs;
68*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmDuplicates;
69*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmPartDups;
70*7c478bd9Sstevel@tonic-gate 	kstat_named_t forwProhibits;
71*7c478bd9Sstevel@tonic-gate 	kstat_named_t udpInCksumErrs;
72*7c478bd9Sstevel@tonic-gate 	kstat_named_t udpInOverflows;
73*7c478bd9Sstevel@tonic-gate 	kstat_named_t rawipInOverflows;
74*7c478bd9Sstevel@tonic-gate 	kstat_named_t ipsecInSucceeded;
75*7c478bd9Sstevel@tonic-gate 	kstat_named_t ipsecInFailed;
76*7c478bd9Sstevel@tonic-gate 	kstat_named_t memberEntrySize;
77*7c478bd9Sstevel@tonic-gate 	kstat_named_t inIPv6;
78*7c478bd9Sstevel@tonic-gate 	kstat_named_t outIPv6;
79*7c478bd9Sstevel@tonic-gate 	kstat_named_t outSwitchIPv6;
80*7c478bd9Sstevel@tonic-gate } ip_named_kstat_t;
81*7c478bd9Sstevel@tonic-gate 
82*7c478bd9Sstevel@tonic-gate 
83*7c478bd9Sstevel@tonic-gate typedef struct ipv6IfStatsEntry_named_kstat {
84*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
85*7c478bd9Sstevel@tonic-gate 	kstat_named_t forwarding;
86*7c478bd9Sstevel@tonic-gate 	kstat_named_t defaultHopLimit;
87*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifStatsEntrySize;
88*7c478bd9Sstevel@tonic-gate 	kstat_named_t addrEntrySize;
89*7c478bd9Sstevel@tonic-gate 	kstat_named_t routeEntrySize;
90*7c478bd9Sstevel@tonic-gate 	kstat_named_t netToMediaEntrySize;
91*7c478bd9Sstevel@tonic-gate 	kstat_named_t memberEntrySize;
92*7c478bd9Sstevel@tonic-gate 	kstat_named_t inReceives;
93*7c478bd9Sstevel@tonic-gate 	kstat_named_t inHdrErrors;
94*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTooBigErrors;
95*7c478bd9Sstevel@tonic-gate 	kstat_named_t InUnknownProtos;
96*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTruncatedPkts;
97*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDisards;
98*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDelivers;
99*7c478bd9Sstevel@tonic-gate 	kstat_named_t outForwDatagrams;
100*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRequests;
101*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDiscards;
102*7c478bd9Sstevel@tonic-gate 	kstat_named_t outFragOKs;
103*7c478bd9Sstevel@tonic-gate 	kstat_named_t outFragFails;
104*7c478bd9Sstevel@tonic-gate 	kstat_named_t outFragCreates;
105*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmReqds;
106*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmOKs;
107*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmFails;
108*7c478bd9Sstevel@tonic-gate 	kstat_named_t inMcastPkts;
109*7c478bd9Sstevel@tonic-gate 	kstat_named_t outMcastPkts;
110*7c478bd9Sstevel@tonic-gate 	kstat_named_t outNoRoutes;
111*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmDuplicates;
112*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmPartDups;
113*7c478bd9Sstevel@tonic-gate 	kstat_named_t forwProhibits;
114*7c478bd9Sstevel@tonic-gate 	kstat_named_t inChksumerrs;
115*7c478bd9Sstevel@tonic-gate 	kstat_named_t inOverflows;
116*7c478bd9Sstevel@tonic-gate } ipv6IfStatsEntry_named_kstat_t;
117*7c478bd9Sstevel@tonic-gate 
118*7c478bd9Sstevel@tonic-gate 
119*7c478bd9Sstevel@tonic-gate typedef struct ipAddrEntry_named_kstat {
120*7c478bd9Sstevel@tonic-gate 	kstat_named_t addr;
121*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
122*7c478bd9Sstevel@tonic-gate 	kstat_named_t netMask;
123*7c478bd9Sstevel@tonic-gate 	kstat_named_t bcastAddr;
124*7c478bd9Sstevel@tonic-gate 	kstat_named_t reasmMaxSize;
125*7c478bd9Sstevel@tonic-gate 	kstat_named_t mtu;
126*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric;
127*7c478bd9Sstevel@tonic-gate 	kstat_named_t broadcast_addr;
128*7c478bd9Sstevel@tonic-gate 	kstat_named_t pp_dst_addr;
129*7c478bd9Sstevel@tonic-gate 	kstat_named_t flags;
130*7c478bd9Sstevel@tonic-gate 	kstat_named_t ibcnt;
131*7c478bd9Sstevel@tonic-gate 	kstat_named_t obcnt;
132*7c478bd9Sstevel@tonic-gate 	kstat_named_t focnt;
133*7c478bd9Sstevel@tonic-gate 	kstat_named_t subnet;
134*7c478bd9Sstevel@tonic-gate 	kstat_named_t subnet_len;
135*7c478bd9Sstevel@tonic-gate 	kstat_named_t src_addr;
136*7c478bd9Sstevel@tonic-gate } ipAddrEntry_named_kstat_t;
137*7c478bd9Sstevel@tonic-gate 
138*7c478bd9Sstevel@tonic-gate 
139*7c478bd9Sstevel@tonic-gate typedef struct ipv6AddrEntry_named_kstat {
140*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
141*7c478bd9Sstevel@tonic-gate 	kstat_named_t address;
142*7c478bd9Sstevel@tonic-gate 	kstat_named_t pfxLength;
143*7c478bd9Sstevel@tonic-gate 	kstat_named_t type;
144*7c478bd9Sstevel@tonic-gate 	kstat_named_t anycastFlag;
145*7c478bd9Sstevel@tonic-gate 	kstat_named_t status;
146*7c478bd9Sstevel@tonic-gate 	kstat_named_t mtu;
147*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric;
148*7c478bd9Sstevel@tonic-gate 	kstat_named_t pp_dst_addr;
149*7c478bd9Sstevel@tonic-gate 	kstat_named_t flags;
150*7c478bd9Sstevel@tonic-gate 	kstat_named_t ibcnt;
151*7c478bd9Sstevel@tonic-gate 	kstat_named_t obcnt;
152*7c478bd9Sstevel@tonic-gate 	kstat_named_t focnt;
153*7c478bd9Sstevel@tonic-gate 	kstat_named_t subnet;
154*7c478bd9Sstevel@tonic-gate 	kstat_named_t subnet_len;
155*7c478bd9Sstevel@tonic-gate 	kstat_named_t src_addr;
156*7c478bd9Sstevel@tonic-gate } ipv6AddrEntry_named_kstat_t;
157*7c478bd9Sstevel@tonic-gate 
158*7c478bd9Sstevel@tonic-gate 
159*7c478bd9Sstevel@tonic-gate typedef struct ipRouteEntry_named_kstat {
160*7c478bd9Sstevel@tonic-gate 	kstat_named_t dest;
161*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
162*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric1;
163*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric2;
164*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric3;
165*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric4;
166*7c478bd9Sstevel@tonic-gate 	kstat_named_t nextHop;
167*7c478bd9Sstevel@tonic-gate 	kstat_named_t type;
168*7c478bd9Sstevel@tonic-gate 	kstat_named_t proto;
169*7c478bd9Sstevel@tonic-gate 	kstat_named_t age;
170*7c478bd9Sstevel@tonic-gate 	kstat_named_t mask;
171*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric5;
172*7c478bd9Sstevel@tonic-gate 	kstat_named_t max_frag;
173*7c478bd9Sstevel@tonic-gate 	kstat_named_t rtt;
174*7c478bd9Sstevel@tonic-gate 	kstat_named_t ref;
175*7c478bd9Sstevel@tonic-gate 	kstat_named_t frag_flag;
176*7c478bd9Sstevel@tonic-gate 	kstat_named_t src_addr;
177*7c478bd9Sstevel@tonic-gate 	kstat_named_t ire_type;
178*7c478bd9Sstevel@tonic-gate 	kstat_named_t obppkt;
179*7c478bd9Sstevel@tonic-gate 	kstat_named_t ibpkt;
180*7c478bd9Sstevel@tonic-gate 	kstat_named_t flags;
181*7c478bd9Sstevel@tonic-gate 	kstat_named_t in_ill;
182*7c478bd9Sstevel@tonic-gate 	kstat_named_t in_src_addr;
183*7c478bd9Sstevel@tonic-gate } ipRouteEntry_named_kstat_t;
184*7c478bd9Sstevel@tonic-gate 
185*7c478bd9Sstevel@tonic-gate 
186*7c478bd9Sstevel@tonic-gate typedef struct ipv6RouteEntry_named_kstat {
187*7c478bd9Sstevel@tonic-gate 	kstat_named_t dest;
188*7c478bd9Sstevel@tonic-gate 	kstat_named_t pfxLength;
189*7c478bd9Sstevel@tonic-gate 	kstat_named_t index;
190*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
191*7c478bd9Sstevel@tonic-gate 	kstat_named_t nextHop;
192*7c478bd9Sstevel@tonic-gate 	kstat_named_t type;
193*7c478bd9Sstevel@tonic-gate 	kstat_named_t protocol;
194*7c478bd9Sstevel@tonic-gate 	kstat_named_t policy;
195*7c478bd9Sstevel@tonic-gate 	kstat_named_t age;
196*7c478bd9Sstevel@tonic-gate 	kstat_named_t nextHopRDI;
197*7c478bd9Sstevel@tonic-gate 	kstat_named_t metric;
198*7c478bd9Sstevel@tonic-gate 	kstat_named_t weight;
199*7c478bd9Sstevel@tonic-gate 	kstat_named_t max_frag;
200*7c478bd9Sstevel@tonic-gate 	kstat_named_t rtt;
201*7c478bd9Sstevel@tonic-gate 	kstat_named_t ref;
202*7c478bd9Sstevel@tonic-gate 	kstat_named_t frag_flag;
203*7c478bd9Sstevel@tonic-gate 	kstat_named_t src_addr;
204*7c478bd9Sstevel@tonic-gate 	kstat_named_t ire_type;
205*7c478bd9Sstevel@tonic-gate 	kstat_named_t obpkt;
206*7c478bd9Sstevel@tonic-gate 	kstat_named_t ibpkt;
207*7c478bd9Sstevel@tonic-gate 	kstat_named_t flags;
208*7c478bd9Sstevel@tonic-gate } ipv6RouteEntry_named_kstat_t;
209*7c478bd9Sstevel@tonic-gate 
210*7c478bd9Sstevel@tonic-gate 
211*7c478bd9Sstevel@tonic-gate typedef struct ipNextToMediaEntry_named_kstat {
212*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
213*7c478bd9Sstevel@tonic-gate 	kstat_named_t physAddress;
214*7c478bd9Sstevel@tonic-gate 	kstat_named_t netAddress;
215*7c478bd9Sstevel@tonic-gate 	kstat_named_t type;
216*7c478bd9Sstevel@tonic-gate 	kstat_named_t mask;
217*7c478bd9Sstevel@tonic-gate 	kstat_named_t flags;
218*7c478bd9Sstevel@tonic-gate } ipNextToMediaEntry_named_kstat_t;
219*7c478bd9Sstevel@tonic-gate 
220*7c478bd9Sstevel@tonic-gate typedef struct ipv6NextToMediaEntry_named_kstat {
221*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
222*7c478bd9Sstevel@tonic-gate 	kstat_named_t netAddress;
223*7c478bd9Sstevel@tonic-gate 	kstat_named_t physAddress;
224*7c478bd9Sstevel@tonic-gate 	kstat_named_t type;
225*7c478bd9Sstevel@tonic-gate 	kstat_named_t state;
226*7c478bd9Sstevel@tonic-gate 	kstat_named_t lastUpdated;
227*7c478bd9Sstevel@tonic-gate } ipv6NextToMediaEntry_named_kstat_t;
228*7c478bd9Sstevel@tonic-gate 
229*7c478bd9Sstevel@tonic-gate typedef struct icmp_named_kstat {
230*7c478bd9Sstevel@tonic-gate 	kstat_named_t inMsgs;
231*7c478bd9Sstevel@tonic-gate 	kstat_named_t inErrors;
232*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDestUnreachs;
233*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTimeExcds;
234*7c478bd9Sstevel@tonic-gate 	kstat_named_t inParmProbs;
235*7c478bd9Sstevel@tonic-gate 	kstat_named_t inSrcQuenchs;
236*7c478bd9Sstevel@tonic-gate 	kstat_named_t inRedirects;
237*7c478bd9Sstevel@tonic-gate 	kstat_named_t inEchos;
238*7c478bd9Sstevel@tonic-gate 	kstat_named_t inEchoReps;
239*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTimestamps;
240*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTimestampReps;
241*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAddrMasks;
242*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAddrMaskReps;
243*7c478bd9Sstevel@tonic-gate 	kstat_named_t outMsgs;
244*7c478bd9Sstevel@tonic-gate 	kstat_named_t outErrors;
245*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDestUnreachs;
246*7c478bd9Sstevel@tonic-gate 	kstat_named_t outTimeExcds;
247*7c478bd9Sstevel@tonic-gate 	kstat_named_t outParmProbs;
248*7c478bd9Sstevel@tonic-gate 	kstat_named_t outSrcQuenchs;
249*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRedirects;
250*7c478bd9Sstevel@tonic-gate 	kstat_named_t outEchos;
251*7c478bd9Sstevel@tonic-gate 	kstat_named_t outEchoReps;
252*7c478bd9Sstevel@tonic-gate 	kstat_named_t outTimestamps;
253*7c478bd9Sstevel@tonic-gate 	kstat_named_t outTimestampReps;
254*7c478bd9Sstevel@tonic-gate 	kstat_named_t outAddrMasks;
255*7c478bd9Sstevel@tonic-gate 	kstat_named_t outAddrMaskReps;
256*7c478bd9Sstevel@tonic-gate 	kstat_named_t inCksumErrs;
257*7c478bd9Sstevel@tonic-gate 	kstat_named_t inUnknowns;
258*7c478bd9Sstevel@tonic-gate 	kstat_named_t inFragNeeded;
259*7c478bd9Sstevel@tonic-gate 	kstat_named_t outFragNeeded;
260*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDrops;
261*7c478bd9Sstevel@tonic-gate 	kstat_named_t inOverflows;
262*7c478bd9Sstevel@tonic-gate 	kstat_named_t inBadRedirects;
263*7c478bd9Sstevel@tonic-gate } icmp_named_kstat_t;
264*7c478bd9Sstevel@tonic-gate 
265*7c478bd9Sstevel@tonic-gate 
266*7c478bd9Sstevel@tonic-gate typedef struct ipv6IfIcmpEntry_named_kstat {
267*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
268*7c478bd9Sstevel@tonic-gate 	kstat_named_t entrySize;
269*7c478bd9Sstevel@tonic-gate 	kstat_named_t inMsgs;
270*7c478bd9Sstevel@tonic-gate 	kstat_named_t inErrors;
271*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDestUnreachs;
272*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAdminProhibs;
273*7c478bd9Sstevel@tonic-gate 	kstat_named_t inTimeExcds;
274*7c478bd9Sstevel@tonic-gate 	kstat_named_t inParmProblems;
275*7c478bd9Sstevel@tonic-gate 	kstat_named_t inPktTooBigs;
276*7c478bd9Sstevel@tonic-gate 	kstat_named_t inEchos;
277*7c478bd9Sstevel@tonic-gate 	kstat_named_t inEchoReplies;
278*7c478bd9Sstevel@tonic-gate 	kstat_named_t inRouterSolicits;
279*7c478bd9Sstevel@tonic-gate 	kstat_named_t inRouterAdvertisements;
280*7c478bd9Sstevel@tonic-gate 	kstat_named_t inNeighborSolicits;
281*7c478bd9Sstevel@tonic-gate 	kstat_named_t inNeighborAdvertisements;
282*7c478bd9Sstevel@tonic-gate 	kstat_named_t inRedirects;
283*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembQueries;
284*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembResponses;
285*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembReductions;
286*7c478bd9Sstevel@tonic-gate 	kstat_named_t outMsgs;
287*7c478bd9Sstevel@tonic-gate 	kstat_named_t outErrors;
288*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDestUnreachs;
289*7c478bd9Sstevel@tonic-gate 	kstat_named_t outAdminProhibs;
290*7c478bd9Sstevel@tonic-gate 	kstat_named_t outTimeExcds;
291*7c478bd9Sstevel@tonic-gate 	kstat_named_t outParmProblems;
292*7c478bd9Sstevel@tonic-gate 	kstat_named_t outPktTooBigs;
293*7c478bd9Sstevel@tonic-gate 	kstat_named_t outEchos;
294*7c478bd9Sstevel@tonic-gate 	kstat_named_t outEchoReplies;
295*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRouterSolicits;
296*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRouterAdvertisements;
297*7c478bd9Sstevel@tonic-gate 	kstat_named_t outNeighborSolicits;
298*7c478bd9Sstevel@tonic-gate 	kstat_named_t outNeighborAdvertisements;
299*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRedirects;
300*7c478bd9Sstevel@tonic-gate 	kstat_named_t outGroupMembQueries;
301*7c478bd9Sstevel@tonic-gate 	kstat_named_t outGroupMembResponses;
302*7c478bd9Sstevel@tonic-gate 	kstat_named_t outGroupMembReductions;
303*7c478bd9Sstevel@tonic-gate 	kstat_named_t inOverflows;
304*7c478bd9Sstevel@tonic-gate 	kstat_named_t badHopLimit;
305*7c478bd9Sstevel@tonic-gate 	kstat_named_t inBadNeighborAdvertisemets;
306*7c478bd9Sstevel@tonic-gate 	kstat_named_t inBadNeighborSolicitations;
307*7c478bd9Sstevel@tonic-gate 	kstat_named_t inBadRedirects;
308*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembBadQueries;
309*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembBadReports;
310*7c478bd9Sstevel@tonic-gate 	kstat_named_t inGroupMembOurReports;
311*7c478bd9Sstevel@tonic-gate } ipv6IfIcmpEntry_named_kstat_t;
312*7c478bd9Sstevel@tonic-gate 
313*7c478bd9Sstevel@tonic-gate 
314*7c478bd9Sstevel@tonic-gate typedef struct sctp_named_kstat {
315*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpRtoAlgorithm;
316*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpRtoMin;
317*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpRtoMax;
318*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpRtoInitial;
319*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpMaxAssocs;
320*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpValCookieLife;
321*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpMaxInitRetr;
322*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpCurrEstab;
323*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpActiveEstab;
324*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpPassiveEstab;
325*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpAborted;
326*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpShutdowns;
327*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutOfBlue;
328*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpChecksumError;
329*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutCtrlChunks;
330*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutOrderChunks;
331*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutUnorderChunks;
332*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpRetransChunks;
333*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutAck;
334*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutAckDelayed;
335*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutWinUpdate;
336*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutFastRetrans;
337*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutWinProbe;
338*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInCtrlChunks;
339*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInOrderChunks;
340*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInUnorderChunks;
341*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInAck;
342*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInDupAck;
343*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInAckUnsent;
344*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpFragUsrMsgs;
345*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpReasmUsrMsgs;
346*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpOutSCTPPkts;
347*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInSCTPPkts;
348*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInInvalidCookie;
349*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpTimRetrans;
350*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpTimRetransDrop;
351*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpTimHeartBeatProbe;
352*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpTimHeartBeatDrop;
353*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpListenDrop;
354*7c478bd9Sstevel@tonic-gate 	kstat_named_t	sctpInClosed;
355*7c478bd9Sstevel@tonic-gate } sctp_named_kstat_t;
356*7c478bd9Sstevel@tonic-gate 
357*7c478bd9Sstevel@tonic-gate 
358*7c478bd9Sstevel@tonic-gate typedef struct tcp_named_kstat {
359*7c478bd9Sstevel@tonic-gate 	kstat_named_t rtoAlgorithm;
360*7c478bd9Sstevel@tonic-gate 	kstat_named_t rtoMin;
361*7c478bd9Sstevel@tonic-gate 	kstat_named_t rtoMax;
362*7c478bd9Sstevel@tonic-gate 	kstat_named_t maxConn;
363*7c478bd9Sstevel@tonic-gate 	kstat_named_t activeOpens;
364*7c478bd9Sstevel@tonic-gate 	kstat_named_t passiveOpens;
365*7c478bd9Sstevel@tonic-gate 	kstat_named_t attemptFails;
366*7c478bd9Sstevel@tonic-gate 	kstat_named_t estabResets;
367*7c478bd9Sstevel@tonic-gate 	kstat_named_t currEstab;
368*7c478bd9Sstevel@tonic-gate 	kstat_named_t inSegs;
369*7c478bd9Sstevel@tonic-gate 	kstat_named_t outSegs;
370*7c478bd9Sstevel@tonic-gate 	kstat_named_t retransSegs;
371*7c478bd9Sstevel@tonic-gate 	kstat_named_t connTableSize;
372*7c478bd9Sstevel@tonic-gate 	kstat_named_t outRsts;
373*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDataSegs;
374*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDataBytes;
375*7c478bd9Sstevel@tonic-gate 	kstat_named_t retransBytes;
376*7c478bd9Sstevel@tonic-gate 	kstat_named_t outAck;
377*7c478bd9Sstevel@tonic-gate 	kstat_named_t outAckDelayed;
378*7c478bd9Sstevel@tonic-gate 	kstat_named_t outUrg;
379*7c478bd9Sstevel@tonic-gate 	kstat_named_t outWinUpdate;
380*7c478bd9Sstevel@tonic-gate 	kstat_named_t outWinProbe;
381*7c478bd9Sstevel@tonic-gate 	kstat_named_t outControl;
382*7c478bd9Sstevel@tonic-gate 	kstat_named_t outFastRetrans;
383*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAckSegs;
384*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAckBytes;
385*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDupAck;
386*7c478bd9Sstevel@tonic-gate 	kstat_named_t inAckUnsent;
387*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataInorderSegs;
388*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataInorderBytes;
389*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataUnorderSegs;
390*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataUnorderBytes;
391*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataDupSegs;
392*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataDupBytes;
393*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataPartDupSegs;
394*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataPartDupBytes;
395*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataPastWinSegs;
396*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDataPastWinBytes;
397*7c478bd9Sstevel@tonic-gate 	kstat_named_t inWinProbe;
398*7c478bd9Sstevel@tonic-gate 	kstat_named_t inWinUpdate;
399*7c478bd9Sstevel@tonic-gate 	kstat_named_t inClosed;
400*7c478bd9Sstevel@tonic-gate 	kstat_named_t rttNoUpdate;
401*7c478bd9Sstevel@tonic-gate 	kstat_named_t rttUpdate;
402*7c478bd9Sstevel@tonic-gate 	kstat_named_t timRetrans;
403*7c478bd9Sstevel@tonic-gate 	kstat_named_t timRetransDrop;
404*7c478bd9Sstevel@tonic-gate 	kstat_named_t timKeepalive;
405*7c478bd9Sstevel@tonic-gate 	kstat_named_t timKeepaliveProbe;
406*7c478bd9Sstevel@tonic-gate 	kstat_named_t timKeepaliveDrop;
407*7c478bd9Sstevel@tonic-gate 	kstat_named_t listenDrop;
408*7c478bd9Sstevel@tonic-gate 	kstat_named_t listenDropQ0;
409*7c478bd9Sstevel@tonic-gate 	kstat_named_t halfOpenDrop;
410*7c478bd9Sstevel@tonic-gate 	kstat_named_t outSackRetransSegs;
411*7c478bd9Sstevel@tonic-gate 	kstat_named_t connTableSize6;
412*7c478bd9Sstevel@tonic-gate } tcp_named_kstat_t;
413*7c478bd9Sstevel@tonic-gate 
414*7c478bd9Sstevel@tonic-gate typedef struct tcpConnEntry_named_kstat { /* IPv4 and IPv6 unified */
415*7c478bd9Sstevel@tonic-gate 	kstat_named_t state;
416*7c478bd9Sstevel@tonic-gate 	kstat_named_t localAddress;
417*7c478bd9Sstevel@tonic-gate 	kstat_named_t localPort;
418*7c478bd9Sstevel@tonic-gate 	kstat_named_t remAddress;
419*7c478bd9Sstevel@tonic-gate 	kstat_named_t remPort;
420*7c478bd9Sstevel@tonic-gate 	kstat_named_t snxt;
421*7c478bd9Sstevel@tonic-gate 	kstat_named_t suna;
422*7c478bd9Sstevel@tonic-gate 	kstat_named_t swnd;
423*7c478bd9Sstevel@tonic-gate 	kstat_named_t rnxt;
424*7c478bd9Sstevel@tonic-gate 	kstat_named_t rack;
425*7c478bd9Sstevel@tonic-gate 	kstat_named_t rwnd;
426*7c478bd9Sstevel@tonic-gate 	kstat_named_t rto;
427*7c478bd9Sstevel@tonic-gate 	kstat_named_t mss;
428*7c478bd9Sstevel@tonic-gate 	kstat_named_t internalState;
429*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
430*7c478bd9Sstevel@tonic-gate 	kstat_named_t version;
431*7c478bd9Sstevel@tonic-gate 	kstat_named_t pid;
432*7c478bd9Sstevel@tonic-gate } tcpConnEntry_named_kstat_t;
433*7c478bd9Sstevel@tonic-gate 
434*7c478bd9Sstevel@tonic-gate typedef struct udp_named_kstat {
435*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDatagrams;
436*7c478bd9Sstevel@tonic-gate 	kstat_named_t inErrors;
437*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDatagrams;
438*7c478bd9Sstevel@tonic-gate 	kstat_named_t entrySize;
439*7c478bd9Sstevel@tonic-gate 	kstat_named_t entry6Size;
440*7c478bd9Sstevel@tonic-gate 	kstat_named_t outErrors;
441*7c478bd9Sstevel@tonic-gate } udp_named_kstat_t;
442*7c478bd9Sstevel@tonic-gate 
443*7c478bd9Sstevel@tonic-gate typedef struct udpEntry_named_kstat {
444*7c478bd9Sstevel@tonic-gate 	kstat_named_t localAddress;
445*7c478bd9Sstevel@tonic-gate 	kstat_named_t localPort;
446*7c478bd9Sstevel@tonic-gate 	kstat_named_t state;
447*7c478bd9Sstevel@tonic-gate 	kstat_named_t remoteAddress;
448*7c478bd9Sstevel@tonic-gate 	kstat_named_t remotePort;
449*7c478bd9Sstevel@tonic-gate } udpEntry_named_kstat_t;
450*7c478bd9Sstevel@tonic-gate 
451*7c478bd9Sstevel@tonic-gate 
452*7c478bd9Sstevel@tonic-gate typedef struct udp6Entry_named_kstat {
453*7c478bd9Sstevel@tonic-gate 	kstat_named_t localAddress;
454*7c478bd9Sstevel@tonic-gate 	kstat_named_t localPort;
455*7c478bd9Sstevel@tonic-gate 	kstat_named_t ifIndex;
456*7c478bd9Sstevel@tonic-gate 	kstat_named_t state;
457*7c478bd9Sstevel@tonic-gate 	kstat_named_t remoteAddress;
458*7c478bd9Sstevel@tonic-gate 	kstat_named_t remotePort;
459*7c478bd9Sstevel@tonic-gate } udp6Entry_named_kstat_t;
460*7c478bd9Sstevel@tonic-gate 
461*7c478bd9Sstevel@tonic-gate 
462*7c478bd9Sstevel@tonic-gate typedef struct rawip_named_kstat {
463*7c478bd9Sstevel@tonic-gate 	kstat_named_t inDatagrams;
464*7c478bd9Sstevel@tonic-gate 	kstat_named_t inCksumErrs;
465*7c478bd9Sstevel@tonic-gate 	kstat_named_t inErrors;
466*7c478bd9Sstevel@tonic-gate 	kstat_named_t outDatagrams;
467*7c478bd9Sstevel@tonic-gate 	kstat_named_t outErrors;
468*7c478bd9Sstevel@tonic-gate } rawip_named_kstat_t;
469*7c478bd9Sstevel@tonic-gate 
470*7c478bd9Sstevel@tonic-gate 
471*7c478bd9Sstevel@tonic-gate #define	NUM_OF_FIELDS(S)	(sizeof (S) / sizeof (kstat_named_t))
472*7c478bd9Sstevel@tonic-gate 
473*7c478bd9Sstevel@tonic-gate #ifdef	__cplusplus
474*7c478bd9Sstevel@tonic-gate }
475*7c478bd9Sstevel@tonic-gate #endif
476*7c478bd9Sstevel@tonic-gate 
477*7c478bd9Sstevel@tonic-gate #endif	/* _INET_KSTATCOM_H */
478