You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
460 lines
18 KiB
460 lines
18 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
|
|
Abstract:
|
|
|
|
|
|
Author:
|
|
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __INDICES_H__
|
|
#define __INDICES_H__
|
|
|
|
//
|
|
// A bunch of defines to set up the indices for the mib variables
|
|
//
|
|
|
|
#define mi_sysDescr 0
|
|
#define mi_sysObjectID mi_sysDescr + 1
|
|
#define mi_sysUpTime mi_sysObjectID + 1
|
|
#define mi_sysContact mi_sysUpTime + 1
|
|
#define mi_sysName mi_sysContact + 1
|
|
#define mi_sysLocation mi_sysName + 1
|
|
#define mi_sysServices mi_sysLocation + 1
|
|
|
|
#define mi_ifNumber 0
|
|
#define mi_ifTable mi_ifNumber + 1
|
|
#define mi_ifEntry mi_ifTable + 1
|
|
#define mi_ifIndex mi_ifEntry + 1
|
|
#define mi_ifDescr mi_ifIndex + 1
|
|
#define mi_ifType mi_ifDescr + 1
|
|
#define mi_ifMtu mi_ifType + 1
|
|
#define mi_ifSpeed mi_ifMtu + 1
|
|
#define mi_ifPhysAddress mi_ifSpeed + 1
|
|
#define mi_ifAdminStatus mi_ifPhysAddress + 1
|
|
#define mi_ifOperStatus mi_ifAdminStatus + 1
|
|
#define mi_ifLastChange mi_ifOperStatus + 1
|
|
#define mi_ifInOctets mi_ifLastChange + 1
|
|
#define mi_ifInUcastPkts mi_ifInOctets + 1
|
|
#define mi_ifInNUcastPkts mi_ifInUcastPkts + 1
|
|
#define mi_ifInDiscards mi_ifInNUcastPkts + 1
|
|
#define mi_ifInErrors mi_ifInDiscards + 1
|
|
#define mi_ifInUnknownProtos mi_ifInErrors + 1
|
|
#define mi_ifOutOctets mi_ifInUnknownProtos + 1
|
|
#define mi_ifOutUcastPkts mi_ifOutOctets + 1
|
|
#define mi_ifOutNUcastPkts mi_ifOutUcastPkts + 1
|
|
#define mi_ifOutDiscards mi_ifOutNUcastPkts + 1
|
|
#define mi_ifOutErrors mi_ifOutDiscards + 1
|
|
#define mi_ifOutQLen mi_ifOutErrors + 1
|
|
#define mi_ifSpecific mi_ifOutQLen + 1
|
|
|
|
#define mi_ipForwarding 0
|
|
#define mi_ipDefaultTTL mi_ipForwarding + 1
|
|
#define mi_ipInReceives mi_ipDefaultTTL + 1
|
|
#define mi_ipInHdrErrors mi_ipInReceives + 1
|
|
#define mi_ipInAddrErrors mi_ipInHdrErrors + 1
|
|
#define mi_ipForwDatagrams mi_ipInAddrErrors + 1
|
|
#define mi_ipInUnknownProtos mi_ipForwDatagrams + 1
|
|
#define mi_ipInDiscards mi_ipInUnknownProtos + 1
|
|
#define mi_ipInDelivers mi_ipInDiscards + 1
|
|
#define mi_ipOutRequests mi_ipInDelivers + 1
|
|
#define mi_ipOutDiscards mi_ipOutRequests + 1
|
|
#define mi_ipOutNoRoutes mi_ipOutDiscards + 1
|
|
#define mi_ipReasmTimeout mi_ipOutNoRoutes + 1
|
|
#define mi_ipReasmReqds mi_ipReasmTimeout + 1
|
|
#define mi_ipReasmOKs mi_ipReasmReqds + 1
|
|
#define mi_ipReasmFails mi_ipReasmOKs + 1
|
|
#define mi_ipFragOKs mi_ipReasmFails + 1
|
|
#define mi_ipFragFails mi_ipFragOKs + 1
|
|
#define mi_ipFragCreates mi_ipFragFails + 1
|
|
#define mi_ipAddrTable mi_ipFragCreates + 1
|
|
#define mi_ipAddrEntry mi_ipAddrTable + 1
|
|
#define mi_ipAdEntAddr mi_ipAddrEntry + 1
|
|
#define mi_ipAdEntIfIndex mi_ipAdEntAddr + 1
|
|
#define mi_ipAdEntNetMask mi_ipAdEntIfIndex + 1
|
|
#define mi_ipAdEntBcastAddr mi_ipAdEntNetMask + 1
|
|
#define mi_ipAdEntReasmMaxSize mi_ipAdEntBcastAddr + 1
|
|
#define mi_ipRouteTable mi_ipAdEntReasmMaxSize + 1
|
|
#define mi_ipRouteEntry mi_ipRouteTable + 1
|
|
#define mi_ipRouteDest mi_ipRouteEntry + 1
|
|
#define mi_ipRouteIfIndex mi_ipRouteDest + 1
|
|
#define mi_ipRouteMetric1 mi_ipRouteIfIndex + 1
|
|
#define mi_ipRouteMetric2 mi_ipRouteMetric1 + 1
|
|
#define mi_ipRouteMetric3 mi_ipRouteMetric2 + 1
|
|
#define mi_ipRouteMetric4 mi_ipRouteMetric3 + 1
|
|
#define mi_ipRouteNextHop mi_ipRouteMetric4 + 1
|
|
#define mi_ipRouteType mi_ipRouteNextHop + 1
|
|
#define mi_ipRouteProto mi_ipRouteType + 1
|
|
#define mi_ipRouteAge mi_ipRouteProto + 1
|
|
#define mi_ipRouteMask mi_ipRouteAge + 1
|
|
#define mi_ipRouteMetric5 mi_ipRouteMask + 1
|
|
#define mi_ipRouteInfo mi_ipRouteMetric5 + 1
|
|
#define mi_ipNetToMediaTable mi_ipRouteInfo + 1
|
|
#define mi_ipNetToMediaEntry mi_ipNetToMediaTable + 1
|
|
#define mi_ipNetToMediaIfIndex mi_ipNetToMediaEntry + 1
|
|
#define mi_ipNetToMediaPhysAddress mi_ipNetToMediaIfIndex + 1
|
|
#define mi_ipNetToMediaNetAddress mi_ipNetToMediaPhysAddress + 1
|
|
#define mi_ipNetToMediaType mi_ipNetToMediaNetAddress + 1
|
|
#define mi_ipRoutingDiscards mi_ipNetToMediaType + 1
|
|
#define mi_ipForwardGroup mi_ipRoutingDiscards + 1
|
|
#define mi_ipForwardNumber mi_ipForwardGroup + 1
|
|
#define mi_ipForwardTable mi_ipForwardNumber + 1
|
|
#define mi_ipForwardEntry mi_ipForwardTable + 1
|
|
#define mi_ipForwardDest mi_ipForwardEntry + 1
|
|
#define mi_ipForwardMask mi_ipForwardDest + 1
|
|
#define mi_ipForwardPolicy mi_ipForwardMask + 1
|
|
#define mi_ipForwardNextHop mi_ipForwardPolicy + 1
|
|
#define mi_ipForwardIfIndex mi_ipForwardNextHop + 1
|
|
#define mi_ipForwardType mi_ipForwardIfIndex + 1
|
|
#define mi_ipForwardProto mi_ipForwardType + 1
|
|
#define mi_ipForwardAge mi_ipForwardProto + 1
|
|
#define mi_ipForwardInfo mi_ipForwardAge + 1
|
|
#define mi_ipForwardNextHopAS mi_ipForwardInfo + 1
|
|
#define mi_ipForwardMetric1 mi_ipForwardNextHopAS + 1
|
|
#define mi_ipForwardMetric2 mi_ipForwardMetric1 + 1
|
|
#define mi_ipForwardMetric3 mi_ipForwardMetric2 + 1
|
|
#define mi_ipForwardMetric4 mi_ipForwardMetric3 + 1
|
|
#define mi_ipForwardMetric5 mi_ipForwardMetric4 + 1
|
|
|
|
//
|
|
// These values should match the order of entries in mib_icmpGroup[]
|
|
//
|
|
typedef enum {
|
|
mi_icmpInMsgs = 0,
|
|
mi_icmpInErrors,
|
|
mi_icmpInDestUnreachs,
|
|
mi_icmpInTimeExcds,
|
|
mi_icmpInParmProbs,
|
|
mi_icmpInSrcQuenchs,
|
|
mi_icmpInRedirects,
|
|
mi_icmpInEchos,
|
|
mi_icmpInEchoReps,
|
|
mi_icmpInTimestamps,
|
|
mi_icmpInTimestampReps,
|
|
mi_icmpInAddrMasks,
|
|
mi_icmpInAddrMaskReps,
|
|
mi_icmpOutMsgs,
|
|
mi_icmpOutErrors,
|
|
mi_icmpOutDestUnreachs,
|
|
mi_icmpOutTimeExcds,
|
|
mi_icmpOutParmProbs,
|
|
mi_icmpOutSrcQuenchs,
|
|
mi_icmpOutRedirects,
|
|
mi_icmpOutEchos,
|
|
mi_icmpOutEchoReps,
|
|
mi_icmpOutTimestamps,
|
|
mi_icmpOutTimestampReps,
|
|
mi_icmpOutAddrMasks,
|
|
mi_icmpOutAddrMaskReps,
|
|
mi_inetIcmpTable,
|
|
mi_inetIcmpEntry,
|
|
mi_inetIcmpAFType,
|
|
mi_inetIcmpIfIndex,
|
|
mi_inetIcmpInMsgs,
|
|
mi_inetIcmpInErrors,
|
|
mi_inetIcmpOutMsgs,
|
|
mi_inetIcmpOutErrors,
|
|
mi_inetIcmpMsgTable,
|
|
mi_inetIcmpMsgEntry,
|
|
mi_inetIcmpMsgAFType,
|
|
mi_inetIcmpMsgIfIndex,
|
|
mi_inetIcmpMsgType,
|
|
mi_inetIcmpMsgCode,
|
|
mi_inetIcmpMsgInPkts,
|
|
mi_inetIcmpMsgOutPkts,
|
|
} MI_ICMPGROUP;
|
|
|
|
//
|
|
// These values should match the order of entries in mib_tcpGroup[]
|
|
//
|
|
#define mi_tcpRtoAlgorithm 0
|
|
#define mi_tcpRtoMin mi_tcpRtoAlgorithm + 1
|
|
#define mi_tcpRtoMax mi_tcpRtoMin + 1
|
|
#define mi_tcpMaxConn mi_tcpRtoMax + 1
|
|
#define mi_tcpActiveOpens mi_tcpMaxConn + 1
|
|
#define mi_tcpPassiveOpens mi_tcpActiveOpens + 1
|
|
#define mi_tcpAttemptFails mi_tcpPassiveOpens + 1
|
|
#define mi_tcpEstabResets mi_tcpAttemptFails + 1
|
|
#define mi_tcpCurrEstab mi_tcpEstabResets + 1
|
|
#define mi_tcpInSegs mi_tcpCurrEstab + 1
|
|
#define mi_tcpOutSegs mi_tcpInSegs + 1
|
|
#define mi_tcpRetransSegs mi_tcpOutSegs + 1
|
|
#define mi_tcpConnTable mi_tcpRetransSegs + 1
|
|
#define mi_tcpConnEntry mi_tcpConnTable + 1
|
|
#define mi_tcpConnState mi_tcpConnEntry + 1
|
|
#define mi_tcpConnLocalAddress mi_tcpConnState + 1
|
|
#define mi_tcpConnLocalPort mi_tcpConnLocalAddress + 1
|
|
#define mi_tcpConnRemAddress mi_tcpConnLocalPort + 1
|
|
#define mi_tcpConnRemPort mi_tcpConnRemAddress + 1
|
|
#define mi_tcpInErrs mi_tcpConnRemPort + 1
|
|
#define mi_tcpOutRsts mi_tcpInErrs + 1
|
|
#define mi_tcpNewConnTable mi_tcpOutRsts + 1
|
|
#define mi_tcpNewConnEntry mi_tcpNewConnTable + 1
|
|
#define mi_tcpNewConnLocalAddressType mi_tcpNewConnEntry + 1
|
|
#define mi_tcpNewConnLocalAddress mi_tcpNewConnLocalAddressType + 1
|
|
#define mi_tcpNewConnLocalPort mi_tcpNewConnLocalAddress + 1
|
|
#define mi_tcpNewConnRemAddressType mi_tcpNewConnLocalPort + 1
|
|
#define mi_tcpNewConnRemAddress mi_tcpNewConnRemAddressType + 1
|
|
#define mi_tcpNewConnRemPort mi_tcpNewConnRemAddress + 1
|
|
#define mi_tcpNewConnState mi_tcpNewConnRemPort + 1
|
|
|
|
//
|
|
// These values should match the order of entries in mib_udpGroup[]
|
|
//
|
|
#define mi_udpInDatagrams 0
|
|
#define mi_udpNoPorts mi_udpInDatagrams + 1
|
|
#define mi_udpInErrors mi_udpNoPorts + 1
|
|
#define mi_udpOutDatagrams mi_udpInErrors + 1
|
|
#define mi_udpTable mi_udpOutDatagrams + 1
|
|
#define mi_udpEntry mi_udpTable + 1
|
|
#define mi_udpLocalAddress mi_udpEntry + 1
|
|
#define mi_udpLocalPort mi_udpLocalAddress + 1
|
|
#define mi_udpListenerTable mi_udpLocalPort + 1
|
|
#define mi_udpListenerEntry mi_udpListenerTable + 1
|
|
#define mi_udpListenerLocalAddressType mi_udpListenerEntry + 1
|
|
#define mi_udpListenerLocalAddress mi_udpListenerLocalAddressType + 1
|
|
#define mi_udpListenerLocalPort mi_udpListenerLocalAddress + 1
|
|
|
|
//
|
|
// These values should match the order of entries in mib_ipv6Group[]
|
|
//
|
|
typedef enum {
|
|
mi_ipv6Forwarding = 0,
|
|
mi_ipv6DefaultHopLimit,
|
|
mi_ipv6Interfaces,
|
|
mi_ipv6IfTableLastChange,
|
|
mi_ipv6IfTable,
|
|
mi_ipv6IfEntry,
|
|
mi_ipv6IfIndex,
|
|
mi_ipv6IfDescr,
|
|
mi_ipv6IfLowerLayer,
|
|
mi_ipv6IfEffectiveMtu,
|
|
mi_ipv6IfReasmMaxSize,
|
|
mi_ipv6IfIdentifier,
|
|
mi_ipv6IfIdentifierLength,
|
|
mi_ipv6IfPhysicalAddress,
|
|
mi_ipv6IfAdminStatus,
|
|
mi_ipv6IfOperStatus,
|
|
mi_ipv6IfLastChange,
|
|
mi_ipv6IfStatsTable,
|
|
mi_ipv6IfStatsEntry,
|
|
mi_ipv6IfStatsIfIndex,
|
|
mi_ipv6IfStatsInReceives,
|
|
mi_ipv6IfStatsInHdrErrors,
|
|
mi_ipv6IfStatsInTooBigErrors,
|
|
mi_ipv6IfStatsInNoRoutes,
|
|
mi_ipv6IfStatsInAddrErrors,
|
|
mi_ipv6IfStatsInUnknownProtos,
|
|
mi_ipv6IfStatsInTruncatedPkts,
|
|
mi_ipv6IfStatsInDiscards,
|
|
mi_ipv6IfStatsInDelivers,
|
|
mi_ipv6IfStatsOutForwDatagrams,
|
|
mi_ipv6IfStatsOutRequests,
|
|
mi_ipv6IfStatsOutDiscards,
|
|
mi_ipv6IfStatsOutFragOKs,
|
|
mi_ipv6IfStatsOutFragFails,
|
|
mi_ipv6IfStatsOutFragCreates,
|
|
mi_ipv6IfStatsReasmReqds,
|
|
mi_ipv6IfStatsReasmOKs,
|
|
mi_ipv6IfStatsReasmFails,
|
|
mi_ipv6IfStatsInMcastPkts,
|
|
mi_ipv6IfStatsOutMcastPkts,
|
|
mi_ipv6AddrPrefixTable,
|
|
mi_ipv6AddrPrefixEntry,
|
|
mi_ipv6AddrPrefixIfIndex,
|
|
mi_ipv6AddrPrefix,
|
|
mi_ipv6AddrPrefixLength,
|
|
mi_ipv6AddrPrefixOnLinkFlag,
|
|
mi_ipv6AddrPrefixAutonomousFlag,
|
|
mi_ipv6AddrPrefixAdvPreferredLifetime,
|
|
mi_ipv6AddrPrefixAdvValidLifetime,
|
|
mi_ipv6AddrTable,
|
|
mi_ipv6AddrEntry,
|
|
mi_ipv6AddrIfIndex,
|
|
mi_ipv6AddrAddress,
|
|
mi_ipv6AddrPfxLength,
|
|
mi_ipv6AddrType,
|
|
mi_ipv6AddrAnycastFlag,
|
|
mi_ipv6AddrStatus,
|
|
mi_ipv6RouteNumber,
|
|
mi_ipv6DiscardedRoutes,
|
|
mi_ipv6RouteTable,
|
|
mi_ipv6RouteEntry,
|
|
mi_ipv6RouteDest,
|
|
mi_ipv6RoutePfxLength,
|
|
mi_ipv6RouteIndex,
|
|
mi_ipv6RouteIfIndex,
|
|
mi_ipv6RouteNextHop,
|
|
mi_ipv6RouteType,
|
|
mi_ipv6RouteProtocol,
|
|
mi_ipv6RoutePolicy,
|
|
mi_ipv6RouteAge,
|
|
mi_ipv6RouteNextHopRDI,
|
|
mi_ipv6RouteMetric,
|
|
mi_ipv6RouteWeight,
|
|
mi_ipv6RouteInfo,
|
|
mi_ipv6RouteValid,
|
|
mi_ipv6NetToMediaTable,
|
|
mi_ipv6NetToMediaEntry,
|
|
mi_ipv6NetToMediaIfIndex,
|
|
mi_ipv6NetToMediaNetAddress,
|
|
mi_ipv6NetToMediaPhysAddress,
|
|
mi_ipv6NetToMediaType,
|
|
mi_ipv6NetToMediaState,
|
|
mi_ipv6NetToMediaLastUpdated,
|
|
mi_ipv6NetToMediaValid,
|
|
} MI_IPV6GROUP;
|
|
|
|
//
|
|
// Now we have to set up defines to tell the Master agent the number of
|
|
// rows in each table and the number of rows that are indices for the table.
|
|
// The Agent expects the indices to be contiguous and in the beginning.
|
|
// In cases where an index includes objects that are not in the table
|
|
// themselves, the counts include such objects. That is, they count
|
|
// the number of fields in the structures in mibfuncs.h, which need
|
|
// not match the number of entries in the mib_* structures in oid.h
|
|
// in this case.
|
|
//
|
|
|
|
//
|
|
// IF Table
|
|
//
|
|
|
|
#define ne_ifEntry 22
|
|
#define ni_ifEntry 1
|
|
|
|
//
|
|
// IP Address table
|
|
//
|
|
|
|
#define ne_ipAddrEntry 5
|
|
#define ni_ipAddrEntry 1
|
|
|
|
//
|
|
// IP Route Table
|
|
//
|
|
|
|
#define ne_ipRouteEntry 13
|
|
#define ni_ipRouteEntry 1
|
|
|
|
//
|
|
// IP Net To Media Table
|
|
//
|
|
|
|
#define ne_ipNetToMediaEntry 4
|
|
#define ni_ipNetToMediaEntry 2
|
|
|
|
//
|
|
// IP Forwarding table
|
|
//
|
|
|
|
#define ne_ipForwardEntry 15
|
|
#define ni_ipForwardEntry 4
|
|
|
|
//
|
|
// ICMP table
|
|
//
|
|
|
|
#define ne_inetIcmpEntry 6
|
|
#define ni_inetIcmpEntry 2
|
|
|
|
//
|
|
// ICMP Message Table
|
|
//
|
|
|
|
#define ne_inetIcmpMsgEntry 6
|
|
#define ni_inetIcmpMsgEntry 4
|
|
|
|
//
|
|
// TCP (IPv4 only) Connection Table
|
|
//
|
|
|
|
#define ne_tcpConnEntry 5
|
|
#define ni_tcpConnEntry 4
|
|
|
|
//
|
|
// New TCP (both IPv4 and IPv6) Connection Table
|
|
//
|
|
|
|
#define ne_tcpNewConnEntry 7
|
|
#define ni_tcpNewConnEntry 6
|
|
|
|
//
|
|
// Old UDP (IPv4-only) Listener Table
|
|
//
|
|
|
|
#define ne_udpEntry 2
|
|
#define ni_udpEntry 2
|
|
|
|
//
|
|
// UDP Listener (both IPv4 and IPv6) Table
|
|
//
|
|
|
|
#define ne_udpListenerEntry 3
|
|
#define ni_udpListenerEntry 3
|
|
|
|
//
|
|
// IPv6 Interface Table
|
|
//
|
|
|
|
#define ne_ipv6IfEntry 11
|
|
#define ni_ipv6IfEntry 1
|
|
|
|
//
|
|
// IPv6 Stats Table
|
|
//
|
|
|
|
#define ne_ipv6IfStatsEntry 21
|
|
#define ni_ipv6IfStatsEntry 1 /* inc. IfIndex */
|
|
|
|
//
|
|
// IPv6 Address Prefix Table
|
|
//
|
|
|
|
#define ne_ipv6AddrPrefixEntry 7
|
|
#define ni_ipv6AddrPrefixEntry 3 /* inc. IfIndex */
|
|
|
|
//
|
|
// IPv6 Address Table
|
|
//
|
|
|
|
#define ne_ipv6AddrEntry 6
|
|
#define ni_ipv6AddrEntry 2 /* inc. IfIndex */
|
|
|
|
//
|
|
// IPv6 Route Table
|
|
//
|
|
|
|
#define ne_ipv6RouteEntry 14
|
|
#define ni_ipv6RouteEntry 3
|
|
|
|
//
|
|
// IPv6 Net To Media Table
|
|
//
|
|
|
|
#define ne_ipv6NetToMediaEntry 7
|
|
#define ni_ipv6NetToMediaEntry 2 /* inc. IfIndex */
|
|
|
|
//
|
|
// Declaration of the mib view
|
|
//
|
|
|
|
#define NUM_VIEWS 7 // sysGroup
|
|
// ifGroup
|
|
// ipGroup
|
|
// icmpGroup
|
|
// tcpGroup
|
|
// udpGroup
|
|
// ipv6Group
|
|
|
|
extern SnmpMibView v_mib2[NUM_VIEWS];
|
|
|
|
#endif
|