kstatcom.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _INET_KSTATCOM_H
#define _INET_KSTATCOM_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
#include <sys/kstat.h>
typedef struct ip_named_kstat {
kstat_named_t forwarding;
kstat_named_t defaultTTL;
kstat_named_t inReceives;
kstat_named_t inHdrErrors;
kstat_named_t inAddrErrors;
kstat_named_t forwDatagrams;
kstat_named_t inUnknownProtos;
kstat_named_t inDiscards;
kstat_named_t inDelivers;
kstat_named_t outRequests;
kstat_named_t outDiscards;
kstat_named_t outNoRoutes;
kstat_named_t reasmTimeout;
kstat_named_t reasmReqds;
kstat_named_t reasmOKs;
kstat_named_t reasmFails;
kstat_named_t fragOKs;
kstat_named_t fragFails;
kstat_named_t fragCreates;
kstat_named_t addrEntrySize;
kstat_named_t routeEntrySize;
kstat_named_t netToMediaEntrySize;
kstat_named_t routingDiscards;
kstat_named_t inErrs;
kstat_named_t noPorts;
kstat_named_t inCksumErrs;
kstat_named_t reasmDuplicates;
kstat_named_t reasmPartDups;
kstat_named_t forwProhibits;
kstat_named_t udpInCksumErrs;
kstat_named_t udpInOverflows;
kstat_named_t rawipInOverflows;
kstat_named_t ipsecInSucceeded;
kstat_named_t ipsecInFailed;
kstat_named_t memberEntrySize;
kstat_named_t inIPv6;
kstat_named_t outIPv6;
kstat_named_t outSwitchIPv6;
} ip_named_kstat_t;
typedef struct ipv6IfStatsEntry_named_kstat {
kstat_named_t ifIndex;
kstat_named_t forwarding;
kstat_named_t defaultHopLimit;
kstat_named_t ifStatsEntrySize;
kstat_named_t addrEntrySize;
kstat_named_t routeEntrySize;
kstat_named_t netToMediaEntrySize;
kstat_named_t memberEntrySize;
kstat_named_t inReceives;
kstat_named_t inHdrErrors;
kstat_named_t inTooBigErrors;
kstat_named_t InUnknownProtos;
kstat_named_t inTruncatedPkts;
kstat_named_t inDisards;
kstat_named_t inDelivers;
kstat_named_t outForwDatagrams;
kstat_named_t outRequests;
kstat_named_t outDiscards;
kstat_named_t outFragOKs;
kstat_named_t outFragFails;
kstat_named_t outFragCreates;
kstat_named_t reasmReqds;
kstat_named_t reasmOKs;
kstat_named_t reasmFails;
kstat_named_t inMcastPkts;
kstat_named_t outMcastPkts;
kstat_named_t outNoRoutes;
kstat_named_t reasmDuplicates;
kstat_named_t reasmPartDups;
kstat_named_t forwProhibits;
kstat_named_t inChksumerrs;
kstat_named_t inOverflows;
} ipv6IfStatsEntry_named_kstat_t;
typedef struct ipAddrEntry_named_kstat {
kstat_named_t addr;
kstat_named_t ifIndex;
kstat_named_t netMask;
kstat_named_t bcastAddr;
kstat_named_t reasmMaxSize;
kstat_named_t mtu;
kstat_named_t metric;
kstat_named_t broadcast_addr;
kstat_named_t pp_dst_addr;
kstat_named_t flags;
kstat_named_t ibcnt;
kstat_named_t obcnt;
kstat_named_t focnt;
kstat_named_t subnet;
kstat_named_t subnet_len;
kstat_named_t src_addr;
} ipAddrEntry_named_kstat_t;
typedef struct ipv6AddrEntry_named_kstat {
kstat_named_t ifIndex;
kstat_named_t address;
kstat_named_t pfxLength;
kstat_named_t type;
kstat_named_t anycastFlag;
kstat_named_t status;
kstat_named_t mtu;
kstat_named_t metric;
kstat_named_t pp_dst_addr;
kstat_named_t flags;
kstat_named_t ibcnt;
kstat_named_t obcnt;
kstat_named_t focnt;
kstat_named_t subnet;
kstat_named_t subnet_len;
kstat_named_t src_addr;
} ipv6AddrEntry_named_kstat_t;
typedef struct ipRouteEntry_named_kstat {
kstat_named_t dest;
kstat_named_t ifIndex;
kstat_named_t metric1;
kstat_named_t metric2;
kstat_named_t metric3;
kstat_named_t metric4;
kstat_named_t nextHop;
kstat_named_t type;
kstat_named_t proto;
kstat_named_t age;
kstat_named_t mask;
kstat_named_t metric5;
kstat_named_t max_frag;
kstat_named_t rtt;
kstat_named_t ref;
kstat_named_t frag_flag;
kstat_named_t src_addr;
kstat_named_t ire_type;
kstat_named_t obppkt;
kstat_named_t ibpkt;
kstat_named_t flags;
kstat_named_t in_ill;
kstat_named_t in_src_addr;
} ipRouteEntry_named_kstat_t;
typedef struct ipv6RouteEntry_named_kstat {
kstat_named_t dest;
kstat_named_t pfxLength;
kstat_named_t index;
kstat_named_t ifIndex;
kstat_named_t nextHop;
kstat_named_t type;
kstat_named_t protocol;
kstat_named_t policy;
kstat_named_t age;
kstat_named_t nextHopRDI;
kstat_named_t metric;
kstat_named_t weight;
kstat_named_t max_frag;
kstat_named_t rtt;
kstat_named_t ref;
kstat_named_t frag_flag;
kstat_named_t src_addr;
kstat_named_t ire_type;
kstat_named_t obpkt;
kstat_named_t ibpkt;
kstat_named_t flags;
} ipv6RouteEntry_named_kstat_t;
typedef struct ipNextToMediaEntry_named_kstat {
kstat_named_t ifIndex;
kstat_named_t physAddress;
kstat_named_t netAddress;
kstat_named_t type;
kstat_named_t mask;
kstat_named_t flags;
} ipNextToMediaEntry_named_kstat_t;
typedef struct ipv6NextToMediaEntry_named_kstat {
kstat_named_t ifIndex;
kstat_named_t netAddress;
kstat_named_t physAddress;
kstat_named_t type;
kstat_named_t state;
kstat_named_t lastUpdated;
} ipv6NextToMediaEntry_named_kstat_t;
typedef struct icmp_named_kstat {
kstat_named_t inMsgs;
kstat_named_t inErrors;
kstat_named_t inDestUnreachs;
kstat_named_t inTimeExcds;
kstat_named_t inParmProbs;
kstat_named_t inSrcQuenchs;
kstat_named_t inRedirects;
kstat_named_t inEchos;
kstat_named_t inEchoReps;
kstat_named_t inTimestamps;
kstat_named_t inTimestampReps;
kstat_named_t inAddrMasks;
kstat_named_t inAddrMaskReps;
kstat_named_t outMsgs;
kstat_named_t outErrors;
kstat_named_t outDestUnreachs;
kstat_named_t outTimeExcds;
kstat_named_t outParmProbs;
kstat_named_t outSrcQuenchs;
kstat_named_t outRedirects;
kstat_named_t outEchos;
kstat_named_t outEchoReps;
kstat_named_t outTimestamps;
kstat_named_t outTimestampReps;
kstat_named_t outAddrMasks;
kstat_named_t outAddrMaskReps;
kstat_named_t inCksumErrs;
kstat_named_t inUnknowns;
kstat_named_t inFragNeeded;
kstat_named_t outFragNeeded;
kstat_named_t outDrops;
kstat_named_t inOverflows;
kstat_named_t inBadRedirects;
} icmp_named_kstat_t;
typedef struct ipv6IfIcmpEntry_named_kstat {
kstat_named_t ifIndex;
kstat_named_t entrySize;
kstat_named_t inMsgs;
kstat_named_t inErrors;
kstat_named_t inDestUnreachs;
kstat_named_t inAdminProhibs;
kstat_named_t inTimeExcds;
kstat_named_t inParmProblems;
kstat_named_t inPktTooBigs;
kstat_named_t inEchos;
kstat_named_t inEchoReplies;
kstat_named_t inRouterSolicits;
kstat_named_t inRouterAdvertisements;
kstat_named_t inNeighborSolicits;
kstat_named_t inNeighborAdvertisements;
kstat_named_t inRedirects;
kstat_named_t inGroupMembQueries;
kstat_named_t inGroupMembResponses;
kstat_named_t inGroupMembReductions;
kstat_named_t outMsgs;
kstat_named_t outErrors;
kstat_named_t outDestUnreachs;
kstat_named_t outAdminProhibs;
kstat_named_t outTimeExcds;
kstat_named_t outParmProblems;
kstat_named_t outPktTooBigs;
kstat_named_t outEchos;
kstat_named_t outEchoReplies;
kstat_named_t outRouterSolicits;
kstat_named_t outRouterAdvertisements;
kstat_named_t outNeighborSolicits;
kstat_named_t outNeighborAdvertisements;
kstat_named_t outRedirects;
kstat_named_t outGroupMembQueries;
kstat_named_t outGroupMembResponses;
kstat_named_t outGroupMembReductions;
kstat_named_t inOverflows;
kstat_named_t badHopLimit;
kstat_named_t inBadNeighborAdvertisemets;
kstat_named_t inBadNeighborSolicitations;
kstat_named_t inBadRedirects;
kstat_named_t inGroupMembBadQueries;
kstat_named_t inGroupMembBadReports;
kstat_named_t inGroupMembOurReports;
} ipv6IfIcmpEntry_named_kstat_t;
typedef struct sctp_named_kstat {
kstat_named_t sctpRtoAlgorithm;
kstat_named_t sctpRtoMin;
kstat_named_t sctpRtoMax;
kstat_named_t sctpRtoInitial;
kstat_named_t sctpMaxAssocs;
kstat_named_t sctpValCookieLife;
kstat_named_t sctpMaxInitRetr;
kstat_named_t sctpCurrEstab;
kstat_named_t sctpActiveEstab;
kstat_named_t sctpPassiveEstab;
kstat_named_t sctpAborted;
kstat_named_t sctpShutdowns;
kstat_named_t sctpOutOfBlue;
kstat_named_t sctpChecksumError;
kstat_named_t sctpOutCtrlChunks;
kstat_named_t sctpOutOrderChunks;
kstat_named_t sctpOutUnorderChunks;
kstat_named_t sctpRetransChunks;
kstat_named_t sctpOutAck;
kstat_named_t sctpOutAckDelayed;
kstat_named_t sctpOutWinUpdate;
kstat_named_t sctpOutFastRetrans;
kstat_named_t sctpOutWinProbe;
kstat_named_t sctpInCtrlChunks;
kstat_named_t sctpInOrderChunks;
kstat_named_t sctpInUnorderChunks;
kstat_named_t sctpInAck;
kstat_named_t sctpInDupAck;
kstat_named_t sctpInAckUnsent;
kstat_named_t sctpFragUsrMsgs;
kstat_named_t sctpReasmUsrMsgs;
kstat_named_t sctpOutSCTPPkts;
kstat_named_t sctpInSCTPPkts;
kstat_named_t sctpInInvalidCookie;
kstat_named_t sctpTimRetrans;
kstat_named_t sctpTimRetransDrop;
kstat_named_t sctpTimHeartBeatProbe;
kstat_named_t sctpTimHeartBeatDrop;
kstat_named_t sctpListenDrop;
kstat_named_t sctpInClosed;
} sctp_named_kstat_t;
typedef struct tcp_named_kstat {
kstat_named_t rtoAlgorithm;
kstat_named_t rtoMin;
kstat_named_t rtoMax;
kstat_named_t maxConn;
kstat_named_t activeOpens;
kstat_named_t passiveOpens;
kstat_named_t attemptFails;
kstat_named_t estabResets;
kstat_named_t currEstab;
kstat_named_t inSegs;
kstat_named_t outSegs;
kstat_named_t retransSegs;
kstat_named_t connTableSize;
kstat_named_t outRsts;
kstat_named_t outDataSegs;
kstat_named_t outDataBytes;
kstat_named_t retransBytes;
kstat_named_t outAck;
kstat_named_t outAckDelayed;
kstat_named_t outUrg;
kstat_named_t outWinUpdate;
kstat_named_t outWinProbe;
kstat_named_t outControl;
kstat_named_t outFastRetrans;
kstat_named_t inAckSegs;
kstat_named_t inAckBytes;
kstat_named_t inDupAck;
kstat_named_t inAckUnsent;
kstat_named_t inDataInorderSegs;
kstat_named_t inDataInorderBytes;
kstat_named_t inDataUnorderSegs;
kstat_named_t inDataUnorderBytes;
kstat_named_t inDataDupSegs;
kstat_named_t inDataDupBytes;
kstat_named_t inDataPartDupSegs;
kstat_named_t inDataPartDupBytes;
kstat_named_t inDataPastWinSegs;
kstat_named_t inDataPastWinBytes;
kstat_named_t inWinProbe;
kstat_named_t inWinUpdate;
kstat_named_t inClosed;
kstat_named_t rttNoUpdate;
kstat_named_t rttUpdate;
kstat_named_t timRetrans;
kstat_named_t timRetransDrop;
kstat_named_t timKeepalive;
kstat_named_t timKeepaliveProbe;
kstat_named_t timKeepaliveDrop;
kstat_named_t listenDrop;
kstat_named_t listenDropQ0;
kstat_named_t halfOpenDrop;
kstat_named_t outSackRetransSegs;
kstat_named_t connTableSize6;
} tcp_named_kstat_t;
typedef struct tcpConnEntry_named_kstat { /* IPv4 and IPv6 unified */
kstat_named_t state;
kstat_named_t localAddress;
kstat_named_t localPort;
kstat_named_t remAddress;
kstat_named_t remPort;
kstat_named_t snxt;
kstat_named_t suna;
kstat_named_t swnd;
kstat_named_t rnxt;
kstat_named_t rack;
kstat_named_t rwnd;
kstat_named_t rto;
kstat_named_t mss;
kstat_named_t internalState;
kstat_named_t ifIndex;
kstat_named_t version;
kstat_named_t pid;
} tcpConnEntry_named_kstat_t;
typedef struct udp_named_kstat {
kstat_named_t inDatagrams;
kstat_named_t inErrors;
kstat_named_t outDatagrams;
kstat_named_t entrySize;
kstat_named_t entry6Size;
kstat_named_t outErrors;
} udp_named_kstat_t;
typedef struct udpEntry_named_kstat {
kstat_named_t localAddress;
kstat_named_t localPort;
kstat_named_t state;
kstat_named_t remoteAddress;
kstat_named_t remotePort;
} udpEntry_named_kstat_t;
typedef struct udp6Entry_named_kstat {
kstat_named_t localAddress;
kstat_named_t localPort;
kstat_named_t ifIndex;
kstat_named_t state;
kstat_named_t remoteAddress;
kstat_named_t remotePort;
} udp6Entry_named_kstat_t;
typedef struct rawip_named_kstat {
kstat_named_t inDatagrams;
kstat_named_t inCksumErrs;
kstat_named_t inErrors;
kstat_named_t outDatagrams;
kstat_named_t outErrors;
} rawip_named_kstat_t;
#define NUM_OF_FIELDS(S) (sizeof (S) / sizeof (kstat_named_t))
#ifdef __cplusplus
}
#endif
#endif /* _INET_KSTATCOM_H */