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