RFC1155-SMI DEFINITIONS ::= BEGIN; nullOID OBJECT IDENTIFIER ::= { ccitt 0 } internet OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 } directory OBJECT IDENTIFIER ::= { internet 1 } mgmt OBJECT IDENTIFIER ::= { internet 2 } experimental OBJECT IDENTIFIER ::= { internet 3 } private OBJECT IDENTIFIER ::= { internet 4 } enterprises OBJECT IDENTIFIER ::= { private 1 } END RFC1213-MIB DEFINITIONS ::= BEGIN IMPORTS mgmt, NetworkAddress, IpAddress, Counter, Gauge, TimeTicks FROM RFC1155-SMI OBJECT-TYPE FROM RFC-1212; -- This MIB module uses the extended OBJECT-TYPE macro as -- defined in [14]; -- MIB-II (same prefix as MIB-I) mib-2 OBJECT IDENTIFIER ::= { mgmt 1 } -- textual conventions DisplayString ::= OCTET STRING -- This data type is used to model textual information taken -- from the NVT ASCII character set. By convention, objects -- with this syntax are declared as having -- -- SIZE (0..255) PhysAddress ::= OCTET STRING -- This data type is used to model media addresses. For many -- types of media, this will be in a binary representation. -- For example, an ethernet address would be represented as -- a string of 6 octets. -- groups in MIB-II system OBJECT IDENTIFIER ::= { mib-2 1 } interfaces OBJECT IDENTIFIER ::= { mib-2 2 } at OBJECT IDENTIFIER ::= { mib-2 3 } ip OBJECT IDENTIFIER ::= { mib-2 4 } icmp OBJECT IDENTIFIER ::= { mib-2 5 } tcp OBJECT IDENTIFIER ::= { mib-2 6 } udp OBJECT IDENTIFIER ::= { mib-2 7 } egp OBJECT IDENTIFIER ::= { mib-2 8 } -- historical (some say hysterical) -- cmot OBJECT IDENTIFIER ::= { mib-2 9 } transmission OBJECT IDENTIFIER ::= { mib-2 10 } snmp OBJECT IDENTIFIER ::= { mib-2 11 } -- the System group -- Implementation of the System group is mandatory for all -- systems. If an agent is not configured to have a value -- for any of these variables, a string of length 0 is -- returned. sysDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual description of the entity. This value should include the full name and version identification of the system's hardware type, software operating-system, and networking software. It is mandatory that this only contain printable ASCII characters." ::= { system 1 } sysObjectID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "The vendor's authoritative identification of the network management subsystem contained in the entity. This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining `what kind of box' is being managed. For example, if vendor `Flintstones, Inc.' was assigned the subtree 1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'." ::= { system 2 } sysUpTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The time (in hundredths of a second) since the network management portion of the system was last re-initialized." ::= { system 3 } sysContact OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The textual identification of the contact person for this managed node, together with information on how to contact this person." ::= { system 4 } sysName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "An administratively-assigned name for this managed node. By convention, this is the node's fully-qualified domain name." ::= { system 5 } sysLocation OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-write STATUS mandatory DESCRIPTION "The physical location of this node (e.g., `telephone closet, 3rd floor')." ::= { system 6 } sysServices OBJECT-TYPE SYNTAX INTEGER (0..127) ACCESS read-only STATUS mandatory DESCRIPTION "A value which indicates the set of services that this entity primarily offers. The value is a sum. This sum initially takes the value zero, Then, for each layer, L, in the range 1 through 7, that this node performs transactions for, 2 raised to (L - 1) is added to the sum. For example, a node which performs primarily routing functions would have a value of 4 (2^(3-1)). In contrast, a node which is a host offering application services would have a value of 72 (2^(4-1) + 2^(7-1)). Note that in the context of the Internet suite of protocols, values should be calculated accordingly: layer functionality 1 physical (e.g., repeaters) 2 datalink/subnetwork (e.g., bridges) 3 internet (e.g., IP gateways) 4 end-to-end (e.g., IP hosts) 7 applications (e.g., mail relays) For systems including OSI protocols, layers 5 and 6 may also be counted." ::= { system 7 } -- the Interfaces group -- Implementation of the Interfaces group is mandatory for -- all systems. ifNumber OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of network interfaces (regardless of their current state) present on this system." ::= { interfaces 1 } -- the Interfaces table -- The Interfaces table contains information on the entity's -- interfaces. Each interface is thought of as being -- attached to a `subnetwork'. Note that this term should -- not be confused with `subnet' which refers to an -- addressing partitioning scheme used in the Internet suite -- of protocols. ifTable OBJECT-TYPE SYNTAX SEQUENCE OF IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of interface entries. The number of entries is given by the value of ifNumber." ::= { interfaces 2 } ifEntry OBJECT-TYPE SYNTAX IfEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An interface entry containing objects at the subnetwork layer and below for a particular interface." INDEX { ifIndex } ::= { ifTable 1 } IfEntry ::= SEQUENCE { ifIndex INTEGER, ifDescr DisplayString, ifType INTEGER, ifMtu INTEGER, ifSpeed Gauge, ifPhysAddress PhysAddress, ifAdminStatus INTEGER, ifOperStatus INTEGER, ifLastChange TimeTicks, ifInOctets Counter, ifInUcastPkts Counter, ifInNUcastPkts Counter, ifInDiscards Counter, ifInErrors Counter, ifInUnknownProtos Counter, ifOutOctets Counter, ifOutUcastPkts Counter, ifOutNUcastPkts Counter, ifOutDiscards Counter, ifOutErrors Counter, ifOutQLen Gauge, ifSpecific OBJECT IDENTIFIER } ifIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A unique value for each interface. Its value ranges between 1 and the value of ifNumber. The value for each interface must remain constant at least from one re-initialization of the entity's network management system to the next re- initialization." ::= { ifEntry 1 } ifDescr OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "A textual string containing information about the interface. This string should include the name of the manufacturer, the product name and the version of the hardware interface." ::= { ifEntry 2 } ifType OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following regular1822(2), hdh1822(3), ddn-x25(4), rfc877-x25(5), ethernet-csmacd(6), iso88023-csmacd(7), iso88024-tokenBus(8), iso88025-tokenRing(9), iso88026-man(10), starLan(11), proteon-10Mbit(12), proteon-80Mbit(13), hyperchannel(14), fddi(15), lapb(16), sdlc(17), ds1(18), -- T-1 e1(19), -- european equiv. of T-1 basicISDN(20), primaryISDN(21), -- proprietary serial propPointToPointSerial(22), ppp(23), softwareLoopback(24), eon(25), -- CLNP over IP [11] ethernet-3Mbit(26), nsip(27), -- XNS over IP slip(28), -- generic SLIP ultra(29), -- ULTRA technologies ds3(30), -- T-3 sip(31), -- SMDS frame-relay(32) } ACCESS read-only STATUS mandatory DESCRIPTION "The type of interface, distinguished according to the physical/link protocol(s) immediately `below' the network layer in the protocol stack." ::= { ifEntry 3 } ifMtu OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The size of the largest datagram which can be sent/received on the interface, specified in octets. For interfaces that are used for transmitting network datagrams, this is the size of the largest network datagram that can be sent on the interface." ::= { ifEntry 4 } ifSpeed OBJECT-TYPE SYNTAX Gauge ACCESS read-only STATUS mandatory DESCRIPTION "An estimate of the interface's current bandwidth in bits per second. For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth." ::= { ifEntry 5 } ifPhysAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-only STATUS mandatory DESCRIPTION "The interface's address at the protocol layer immediately `below' the network layer in the protocol stack. For interfaces which do not have such an address (e.g., a serial line), this object should contain an octet string of zero length." ::= { ifEntry 6 } ifAdminStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3) -- in some test mode } ACCESS read-write STATUS mandatory DESCRIPTION "The desired state of the interface. The testing(3) state indicates that no operational packets can be passed." ::= { ifEntry 7 } ifOperStatus OBJECT-TYPE SYNTAX INTEGER { up(1), -- ready to pass packets down(2), testing(3) -- in some test mode } ACCESS read-only STATUS mandatory DESCRIPTION "The current operational state of the interface. The testing(3) state indicates that no operational packets can be passed." ::= { ifEntry 8 } ifLastChange OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime at the time the interface entered its current operational state. If the current state was entered prior to the last re- initialization of the local network management subsystem, then this object contains a zero value." ::= { ifEntry 9 } ifInOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of octets received on the interface, including framing characters." ::= { ifEntry 10 } ifInUcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of subnetwork-unicast packets delivered to a higher-layer protocol." ::= { ifEntry 11 } ifInNUcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of non-unicast (i.e., subnetwork- broadcast or subnetwork-multicast) packets delivered to a higher-layer protocol." ::= { ifEntry 12 } ifInDiscards OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol. One possible reason for discarding such a packet could be to free up buffer space." ::= { ifEntry 13 } ifInErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol." ::= { ifEntry 14 } ifInUnknownProtos OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received via the interface which were discarded because of an unknown or unsupported protocol." ::= { ifEntry 15 } ifOutOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of octets transmitted out of the interface, including framing characters." ::= { ifEntry 16 } ifOutUcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets that higher-level protocols requested be transmitted to a subnetwork-unicast address, including those that were discarded or not sent." ::= { ifEntry 17 } ifOutNUcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets that higher-level protocols requested be transmitted to a non- unicast (i.e., a subnetwork-broadcast or subnetwork-multicast) address, including those that were discarded or not sent." ::= { ifEntry 18 } ifOutDiscards OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of outbound packets which were chosen to be discarded even though no errors had been detected to prevent their being transmitted. One possible reason for discarding such a packet could be to free up buffer space." ::= { ifEntry 19 } ifOutErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of outbound packets that could not be transmitted because of errors." ::= { ifEntry 20 } ifOutQLen OBJECT-TYPE SYNTAX Gauge ACCESS read-only STATUS mandatory DESCRIPTION "The length of the output packet queue (in packets)." ::= { ifEntry 21 } ifSpecific OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "A reference to MIB definitions specific to the particular media being used to realize the interface. For example, if the interface is realized by an ethernet, then the value of this object refers to a document defining objects specific to ethernet. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntatically valid object identifier, and any conformant implementation of ASN.1 and BER must be able to generate and recognize this value." ::= { ifEntry 22 } -- the Address Translation group -- Implementation of the Address Translation group is -- mandatory for all systems. Note however that this group -- is deprecated by MIB-II. That is, it is being included -- solely for compatibility with MIB-I nodes, and will most -- likely be excluded from MIB-III nodes. From MIB-II and -- onwards, each network protocol group contains its own -- address translation tables. -- The Address Translation group contains one table which is -- the union across all interfaces of the translation tables -- for converting a NetworkAddress (e.g., an IP address) into -- a subnetwork-specific address. For lack of a better term, -- this document refers to such a subnetwork-specific address -- as a `physical' address. -- Examples of such translation tables are: for broadcast -- media where ARP is in use, the translation table is -- equivalent to the ARP cache; or, on an X.25 network where -- non-algorithmic translation to X.121 addresses is -- required, the translation table contains the -- NetworkAddress to X.121 address equivalences. atTable OBJECT-TYPE SYNTAX SEQUENCE OF AtEntry ACCESS not-accessible STATUS deprecated DESCRIPTION "The Address Translation tables contain the NetworkAddress to `physical' address equivalences. Some interfaces do not use translation tables for determining address equivalences (e.g., DDN-X.25 has an algorithmic method); if all interfaces are of this type, then the Address Translation table is empty, i.e., has zero entries." ::= { at 1 } atEntry OBJECT-TYPE SYNTAX AtEntry ACCESS not-accessible STATUS deprecated DESCRIPTION "Each entry contains one NetworkAddress to `physical' address equivalence." INDEX { atIfIndex, atNetAddress } ::= { atTable 1 } AtEntry ::= SEQUENCE { atIfIndex INTEGER, atPhysAddress PhysAddress, atNetAddress NetworkAddress } atIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS deprecated DESCRIPTION "The interface on which this entry's equivalence is effective. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex." ::= { atEntry 1 } atPhysAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-write STATUS deprecated DESCRIPTION "The media-dependent `physical' address. Setting this object to a null string (one of zero length) has the effect of invaliding the corresponding entry in the atTable object. That is, it effectively dissasociates the interface identified with said entry from the mapping identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant atPhysAddress object." ::= { atEntry 2 } atNetAddress OBJECT-TYPE SYNTAX NetworkAddress ACCESS read-write STATUS deprecated DESCRIPTION "The NetworkAddress (e.g., the IP address) corresponding to the media-dependent `physical' address." ::= { atEntry 3 } -- the IP group -- Implementation of the IP group is mandatory for all -- systems. ipForwarding OBJECT-TYPE SYNTAX INTEGER { forwarding(1), -- acting as a gateway not-forwarding(2) -- NOT acting as a gateway } ACCESS read-write STATUS mandatory DESCRIPTION "The indication of whether this entity is acting as an IP gateway in respect to the forwarding of datagrams received by, but not addressed to, this entity. IP gateways forward datagrams. IP hosts do not (except those source-routed via the host). Note that for some managed nodes, this object may take on only a subset of the values possible. Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to change this object to an inappropriate value." ::= { ip 1 } ipDefaultTTL OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The default value inserted into the Time-To-Live field of the IP header of datagrams originated at this entity, whenever a TTL value is not supplied by the transport layer protocol." ::= { ip 2 } ipInReceives OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of input datagrams received from interfaces, including those received in error." ::= { ip 3 } ipInHdrErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of input datagrams discarded due to errors in their IP headers, including bad checksums, version number mismatch, other format errors, time-to-live exceeded, errors discovered in processing their IP options, etc." ::= { ip 4 } ipInAddrErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of input datagrams discarded because the IP address in their IP header's destination field was not a valid address to be received at this entity. This count includes invalid addresses (e.g., 0.0.0.0) and addresses of unsupported Classes (e.g., Class E). For entities which are not IP Gateways and therefore do not forward datagrams, this counter includes datagrams discarded because the destination address was not a local address." ::= { ip 5 } ipForwDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of input datagrams for which this entity was not their final IP destination, as a result of which an attempt was made to find a route to forward them to that final destination. In entities which do not act as IP Gateways, this counter will include only those packets which were Source-Routed via this entity, and the Source- Route option processing was successful." ::= { ip 6 } ipInUnknownProtos OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of locally-addressed datagrams received successfully but discarded because of an unknown or unsupported protocol." ::= { ip 7 } ipInDiscards OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of input IP datagrams for which no problems were encountered to prevent their continued processing, but which were discarded (e.g., for lack of buffer space). Note that this counter does not include any datagrams discarded while awaiting re-assembly." ::= { ip 8 } ipInDelivers OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of input datagrams successfully delivered to IP user-protocols (including ICMP)." ::= { ip 9 } ipOutRequests OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of IP datagrams which local IP user-protocols (including ICMP) supplied to IP in requests for transmission. Note that this counter does not include any datagrams counted in ipForwDatagrams." ::= { ip 10 } ipOutDiscards OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of output IP datagrams for which no problem was encountered to prevent their transmission to their destination, but which were discarded (e.g., for lack of buffer space). Note that this counter would include datagrams counted in ipForwDatagrams if any such packets met this (discretionary) discard criterion." ::= { ip 11 } ipOutNoRoutes OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP datagrams discarded because no route could be found to transmit them to their destination. Note that this counter includes any packets counted in ipForwDatagrams which meet this `no-route' criterion. Note that this includes any datagarms which a host cannot route because all of its default gateways are down." ::= { ip 12 } ipReasmTimeout OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The maximum number of seconds which received fragments are held while they are awaiting reassembly at this entity." ::= { ip 13 } ipReasmReqds OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP fragments received which needed to be reassembled at this entity." ::= { ip 14 } ipReasmOKs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP datagrams successfully re- assembled." ::= { ip 15 } ipReasmFails OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of failures detected by the IP re- assembly algorithm (for whatever reason: timed out, errors, etc). Note that this is not necessarily a count of discarded IP fragments since some algorithms (notably the algorithm in RFC 815) can lose track of the number of fragments by combining them as they are received." ::= { ip 16 } ipFragOKs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP datagrams that have been successfully fragmented at this entity." ::= { ip 17 } ipFragFails OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP datagrams that have been discarded because they needed to be fragmented at this entity but could not be, e.g., because their Don't Fragment flag was set." ::= { ip 18 } ipFragCreates OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of IP datagram fragments that have been generated as a result of fragmentation at this entity." ::= { ip 19 } -- the IP address table -- The IP address table contains this entity's IP addressing -- information. ipAddrTable OBJECT-TYPE SYNTAX SEQUENCE OF IpAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The table of addressing information relevant to this entity's IP addresses." ::= { ip 20 } ipAddrEntry OBJECT-TYPE SYNTAX IpAddrEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The addressing information for one of this entity's IP addresses." INDEX { ipAdEntAddr } ::= { ipAddrTable 1 } IpAddrEntry ::= SEQUENCE { ipAdEntAddr IpAddress, ipAdEntIfIndex INTEGER, ipAdEntNetMask IpAddress, ipAdEntBcastAddr INTEGER, ipAdEntReasmMaxSize INTEGER (0..65535) } ipAdEntAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address to which this entry's addressing information pertains." ::= { ipAddrEntry 1 } ipAdEntIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The index value which uniquely identifies the interface to which this entry is applicable. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex." ::= { ipAddrEntry 2 } ipAdEntNetMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The subnet mask associated with the IP address of this entry. The value of the mask is an IP address with all the network bits set to 1 and all the hosts bits set to 0." ::= { ipAddrEntry 3 } ipAdEntBcastAddr OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the least-significant bit in the IP broadcast address used for sending datagrams on the (logical) interface associated with the IP address of this entry. For example, when the Internet standard all-ones broadcast address is used, the value will be 1. This value applies to both the subnet and network broadcasts addresses used by the entity on this (logical) interface." ::= { ipAddrEntry 4 } ipAdEntReasmMaxSize OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The size of the largest IP datagram which this entity can re-assemble from incoming IP fragmented datagrams received on this interface." ::= { ipAddrEntry 5 } -- the IP routing table -- The IP routing table contains an entry for each route -- presently known to this entity. ipRouteTable OBJECT-TYPE SYNTAX SEQUENCE OF IpRouteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "This entity's IP Routing table." ::= { ip 21 } ipRouteEntry OBJECT-TYPE SYNTAX IpRouteEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A route to a particular destination." INDEX { ipRouteDest } ::= { ipRouteTable 1 } IpRouteEntry ::= SEQUENCE { ipRouteDest IpAddress, ipRouteIfIndex INTEGER, ipRouteMetric1 INTEGER, ipRouteMetric2 INTEGER, ipRouteMetric3 INTEGER, ipRouteMetric4 INTEGER, ipRouteNextHop IpAddress, ipRouteType INTEGER, ipRouteProto INTEGER, ipRouteAge INTEGER, ipRouteMask IpAddress, ipRouteMetric5 INTEGER, ipRouteInfo OBJECT IDENTIFIER } ipRouteDest OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "The destination IP address of this route. An entry with a value of 0.0.0.0 is considered a default route. Multiple routes to a single destination can appear in the table, but access to such multiple entries is dependent on the table- access mechanisms defined by the network management protocol in use." ::= { ipRouteEntry 1 } ipRouteIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The index value which uniquely identifies the local interface through which the next hop of this route should be reached. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex." ::= { ipRouteEntry 2 } ipRouteMetric1 OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The primary routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1." ::= { ipRouteEntry 3 } ipRouteMetric2 OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1." ::= { ipRouteEntry 4 } ipRouteMetric3 OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1." ::= { ipRouteEntry 5 } ipRouteMetric4 OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1." ::= { ipRouteEntry 6 } ipRouteNextHop OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "The IP address of the next hop of this route. (In the case of a route bound to an interface which is realized via a broadcast media, the value of this field is the agent's IP address on that interface.)" ::= { ipRouteEntry 7 } ipRouteType OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following invalid(2), -- an invalidated route -- route to directly direct(3), -- connected (sub-)network -- route to a non-local indirect(4) -- host/network/sub-network } ACCESS read-write STATUS mandatory DESCRIPTION "The type of route. Note that the values direct(3) and indirect(4) refer to the notion of direct and indirect routing in the IP architecture. Setting this object to the value invalid(2) has the effect of invalidating the corresponding entry in the ipRouteTable object. That is, it effectively dissasociates the destination identified with said entry from the route identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant ipRouteType object." ::= { ipRouteEntry 8 } ipRouteProto OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following -- non-protocol information, -- e.g., manually configured local(2), -- entries -- set via a network netmgmt(3), -- management protocol -- obtained via ICMP, icmp(4), -- e.g., Redirect -- the remaining values are -- all gateway routing -- protocols egp(5), ggp(6), hello(7), rip(8), is-is(9), es-is(10), ciscoIgrp(11), bbnSpfIgp(12), ospf(13), bgp(14) } ACCESS read-only STATUS mandatory DESCRIPTION "The routing mechanism via which this route was learned. Inclusion of values for gateway routing protocols is not intended to imply that hosts should support those protocols." ::= { ipRouteEntry 9 } ipRouteAge OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The number of seconds since this route was last updated or otherwise determined to be correct. Note that no semantics of `too old' can be implied except through knowledge of the routing protocol by which the route was learned." ::= { ipRouteEntry 10 } ipRouteMask OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "Indicate the mask to be logical-ANDed with the destination address before being compared to the value in the ipRouteDest field. For those systems that do not support arbitrary subnet masks, an agent constructs the value of the ipRouteMask by determining whether the value of the correspondent ipRouteDest field belong to a class-A, B, or C network, and then using one of: mask network 255.0.0.0 class-A 255.255.0.0 class-B 255.255.255.0 class-C If the value of the ipRouteDest is 0.0.0.0 (a default route), then the mask value is also 0.0.0.0. It should be noted that all IP routing subsystems implicitly use this mechanism." ::= { ipRouteEntry 11 } ipRouteMetric5 OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "An alternate routing metric for this route. The semantics of this metric are determined by the routing-protocol specified in the route's ipRouteProto value. If this metric is not used, its value should be set to -1." ::= { ipRouteEntry 12 } ipRouteInfo OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-only STATUS mandatory DESCRIPTION "A reference to MIB definitions specific to the particular routing protocol which is responsible for this route, as determined by the value specified in the route's ipRouteProto value. If this information is not present, its value should be set to the OBJECT IDENTIFIER { 0 0 }, which is a syntatically valid object identifier, and any conformant implementation of ASN.1 and BER must be able to generate and recognize this value." ::= { ipRouteEntry 13 } -- the IP Address Translation table -- The IP address translation table contain the IpAddress to -- `physical' address equivalences. Some interfaces do not -- use translation tables for determining address -- equivalences (e.g., DDN-X.25 has an algorithmic method); -- if all interfaces are of this type, then the Address -- Translation table is empty, i.e., has zero entries. ipNetToMediaTable OBJECT-TYPE SYNTAX SEQUENCE OF IpNetToMediaEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The IP Address Translation table used for mapping from IP addresses to physical addresses." ::= { ip 22 } ipNetToMediaEntry OBJECT-TYPE SYNTAX IpNetToMediaEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Each entry contains one IpAddress to `physical' address equivalence." INDEX { ipNetToMediaIfIndex, ipNetToMediaNetAddress } ::= { ipNetToMediaTable 1 } IpNetToMediaEntry ::= SEQUENCE { ipNetToMediaIfIndex INTEGER, ipNetToMediaPhysAddress PhysAddress, ipNetToMediaNetAddress IpAddress, ipNetToMediaType INTEGER } ipNetToMediaIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The interface on which this entry's equivalence is effective. The interface identified by a particular value of this index is the same interface as identified by the same value of ifIndex." ::= { ipNetToMediaEntry 1 } ipNetToMediaPhysAddress OBJECT-TYPE SYNTAX PhysAddress ACCESS read-write STATUS mandatory DESCRIPTION "The media-dependent `physical' address." ::= { ipNetToMediaEntry 2 } ipNetToMediaNetAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-write STATUS mandatory DESCRIPTION "The IpAddress corresponding to the media- dependent `physical' address." ::= { ipNetToMediaEntry 3 } ipNetToMediaType OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following invalid(2), -- an invalidated mapping dynamic(3), static(4) } ACCESS read-write STATUS mandatory DESCRIPTION "The type of mapping. Setting this object to the value invalid(2) has the effect of invalidating the corresponding entry in the ipNetToMediaTable. That is, it effectively dissasociates the interface identified with said entry from the mapping identified with said entry. It is an implementation-specific matter as to whether the agent removes an invalidated entry from the table. Accordingly, management stations must be prepared to receive tabular information from agents that corresponds to entries not currently in use. Proper interpretation of such entries requires examination of the relevant ipNetToMediaType object." ::= { ipNetToMediaEntry 4 } -- additional IP objects ipRoutingDiscards OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of routing entries which were chosen to be discarded even though they are valid. One possible reason for discarding such an entry could be to free-up buffer space for other routing entries." ::= { ip 23 } -- the ICMP group -- Implementation of the ICMP group is mandatory for all -- systems. icmpInMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of ICMP messages which the entity received. Note that this counter includes all those counted by icmpInErrors." ::= { icmp 1 } icmpInErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP messages which the entity received but determined as having ICMP-specific errors (bad ICMP checksums, bad length, etc.)." ::= { icmp 2 } icmpInDestUnreachs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Destination Unreachable messages received." ::= { icmp 3 } icmpInTimeExcds OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Time Exceeded messages received." ::= { icmp 4 } icmpInParmProbs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Parameter Problem messages received." ::= { icmp 5 } icmpInSrcQuenchs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Source Quench messages received." ::= { icmp 6 } icmpInRedirects OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Redirect messages received." ::= { icmp 7 } icmpInEchos OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Echo (request) messages received." ::= { icmp 8 } icmpInEchoReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Echo Reply messages received." ::= { icmp 9 } icmpInTimestamps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Timestamp (request) messages received." ::= { icmp 10 } icmpInTimestampReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Timestamp Reply messages received." ::= { icmp 11 } icmpInAddrMasks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Address Mask Request messages received." ::= { icmp 12 } icmpInAddrMaskReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Address Mask Reply messages received." ::= { icmp 13 } icmpOutMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of ICMP messages which this entity attempted to send. Note that this counter includes all those counted by icmpOutErrors." ::= { icmp 14 } icmpOutErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP messages which this entity did not send due to problems discovered within ICMP such as a lack of buffers. This value should not include errors discovered outside the ICMP layer such as the inability of IP to route the resultant datagram. In some implementations there may be no types of error which contribute to this counter's value." ::= { icmp 15 } icmpOutDestUnreachs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Destination Unreachable messages sent." ::= { icmp 16 } icmpOutTimeExcds OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Time Exceeded messages sent." ::= { icmp 17 } icmpOutParmProbs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Parameter Problem messages sent." ::= { icmp 18 } icmpOutSrcQuenchs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Source Quench messages sent." ::= { icmp 19 } icmpOutRedirects OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Redirect messages sent. For a host, this object will always be zero, since hosts do not send redirects." ::= { icmp 20 } icmpOutEchos OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Echo (request) messages sent." ::= { icmp 21 } icmpOutEchoReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Echo Reply messages sent." ::= { icmp 22 } icmpOutTimestamps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Timestamp (request) messages sent." ::= { icmp 23 } icmpOutTimestampReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Timestamp Reply messages sent." ::= { icmp 24 } icmpOutAddrMasks OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Address Mask Request messages sent." ::= { icmp 25 } icmpOutAddrMaskReps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of ICMP Address Mask Reply messages sent." ::= { icmp 26 } -- the TCP group -- Implementation of the TCP group is mandatory for all -- systems that implement the TCP. -- Note that instances of object types that represent -- information about a particular TCP connection are -- transient; they persist only as long as the connection -- in question. tcpRtoAlgorithm OBJECT-TYPE SYNTAX INTEGER { other(1), -- none of the following constant(2), -- a constant rto rsre(3), -- MIL-STD-1778, Appendix B vanj(4) -- Van Jacobson's algorithm [10] } ACCESS read-only STATUS mandatory DESCRIPTION "The algorithm used to determine the timeout value used for retransmitting unacknowledged octets." ::= { tcp 1 } tcpRtoMin OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The minimum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. In particular, when the timeout algorithm is rsre(3), an object of this type has the semantics of the LBOUND quantity described in RFC 793." ::= { tcp 2 } tcpRtoMax OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The maximum value permitted by a TCP implementation for the retransmission timeout, measured in milliseconds. More refined semantics for objects of this type depend upon the algorithm used to determine the retransmission timeout. In particular, when the timeout algorithm is rsre(3), an object of this type has the semantics of the UBOUND quantity described in RFC 793." ::= { tcp 3 } tcpMaxConn OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The limit on the total number of TCP connections the entity can support. In entities where the maximum number of connections is dynamic, this object should contain the value -1." ::= { tcp 4 } tcpActiveOpens OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of times TCP connections have made a direct transition to the SYN-SENT state from the CLOSED state." ::= { tcp 5 } tcpPassiveOpens OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of times TCP connections have made a direct transition to the SYN-RCVD state from the LISTEN state." ::= { tcp 6 } tcpAttemptFails OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of times TCP connections have made a direct transition to the CLOSED state from either the SYN-SENT state or the SYN-RCVD state, plus the number of times TCP connections have made a direct transition to the LISTEN state from the SYN-RCVD state." ::= { tcp 7 } tcpEstabResets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of times TCP connections have made a direct transition to the CLOSED state from either the ESTABLISHED state or the CLOSE-WAIT state." ::= { tcp 8 } tcpCurrEstab OBJECT-TYPE SYNTAX Gauge ACCESS read-only STATUS mandatory DESCRIPTION "The number of TCP connections for which the current state is either ESTABLISHED or CLOSE- WAIT." ::= { tcp 9 } tcpInSegs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of segments received, including those received in error. This count includes segments received on currently established connections." ::= { tcp 10 } tcpOutSegs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of segments sent, including those on current connections but excluding those containing only retransmitted octets." ::= { tcp 11 } tcpRetransSegs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of segments retransmitted - that is, the number of TCP segments transmitted containing one or more previously transmitted octets." ::= { tcp 12 } -- the TCP Connection table -- The TCP connection table contains information about this -- entity's existing TCP connections. tcpConnTable OBJECT-TYPE SYNTAX SEQUENCE OF TcpConnEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing TCP connection-specific information." ::= { tcp 13 } tcpConnEntry OBJECT-TYPE SYNTAX TcpConnEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information about a particular current TCP connection. An object of this type is transient, in that it ceases to exist when (or soon after) the connection makes the transition to the CLOSED state." INDEX { tcpConnLocalAddress, tcpConnLocalPort, tcpConnRemAddress, tcpConnRemPort } ::= { tcpConnTable 1 } TcpConnEntry ::= SEQUENCE { tcpConnState INTEGER, tcpConnLocalAddress IpAddress, tcpConnLocalPort INTEGER (0..65535), tcpConnRemAddress IpAddress, tcpConnRemPort INTEGER (0..65535) } tcpConnState OBJECT-TYPE SYNTAX INTEGER { closed(1), listen(2), synSent(3), synReceived(4), established(5), finWait1(6), finWait2(7), closeWait(8), lastAck(9), closing(10), timeWait(11), deleteTCB(12) } ACCESS read-write STATUS mandatory DESCRIPTION "The state of this TCP connection. The only value which may be set by a management station is deleteTCB(12). Accordingly, it is appropriate for an agent to return a `badValue' response if a management station attempts to set this object to any other value. If a management station sets this object to the value deleteTCB(12), then this has the effect of deleting the TCB (as defined in RFC 793) of the corresponding connection on the managed node, resulting in immediate termination of the connection. As an implementation-specific option, a RST segment may be sent from the managed node to the other TCP endpoint (note however that RST segments are not sent reliably)." ::= { tcpConnEntry 1 } tcpConnLocalAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The local IP address for this TCP connection. In the case of a connection in the listen state which is willing to accept connections for any IP interface associated with the node, the value 0.0.0.0 is used." ::= { tcpConnEntry 2 } tcpConnLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The local port number for this TCP connection." ::= { tcpConnEntry 3 } tcpConnRemAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The remote IP address for this TCP connection." ::= { tcpConnEntry 4 } tcpConnRemPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The remote port number for this TCP connection." ::= { tcpConnEntry 5 } -- additional TCP objects tcpInErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of segments received in error (e.g., bad TCP checksums)." ::= { tcp 14 } tcpOutRsts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of TCP segments sent containing the RST flag." ::= { tcp 15 } -- the UDP group -- Implementation of the UDP group is mandatory for all -- systems which implement the UDP. udpInDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of UDP datagrams delivered to UDP users." ::= { udp 1 } udpNoPorts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of received UDP datagrams for which there was no application at the destination port." ::= { udp 2 } udpInErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of received UDP datagrams that could not be delivered for reasons other than the lack of an application at the destination port." ::= { udp 3 } udpOutDatagrams OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of UDP datagrams sent from this entity." ::= { udp 4 } -- the UDP Listener table -- The UDP listener table contains information about this -- entity's UDP end-points on which a local application is -- currently accepting datagrams. udpTable OBJECT-TYPE SYNTAX SEQUENCE OF UdpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A table containing UDP listener information." ::= { udp 5 } udpEntry OBJECT-TYPE SYNTAX UdpEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information about a particular current UDP listener." INDEX { udpLocalAddress, udpLocalPort } ::= { udpTable 1 } UdpEntry ::= SEQUENCE { udpLocalAddress IpAddress, udpLocalPort INTEGER (0..65535) } udpLocalAddress OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The local IP address for this UDP listener. In the case of a UDP listener which is willing to accept datagrams for any IP interface associated with the node, the value 0.0.0.0 is used." ::= { udpEntry 1 } udpLocalPort OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The local port number for this UDP listener." ::= { udpEntry 2 } -- the EGP group -- Implementation of the EGP group is mandatory for all -- systems which implement the EGP. egpInMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP messages received without error." ::= { egp 1 } egpInErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP messages received that proved to be in error." ::= { egp 2 } egpOutMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of locally generated EGP messages." ::= { egp 3 } egpOutErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of locally generated EGP messages not sent due to resource limitations within an EGP entity." ::= { egp 4 } -- the EGP Neighbor table -- The EGP neighbor table contains information about this -- entity's EGP neighbors. egpNeighTable OBJECT-TYPE SYNTAX SEQUENCE OF EgpNeighEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "The EGP neighbor table." ::= { egp 5 } egpNeighEntry OBJECT-TYPE SYNTAX EgpNeighEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information about this entity's relationship with a particular EGP neighbor." INDEX { egpNeighAddr } ::= { egpNeighTable 1 } EgpNeighEntry ::= SEQUENCE { egpNeighState INTEGER, egpNeighAddr IpAddress, egpNeighAs INTEGER, egpNeighInMsgs Counter, egpNeighInErrs Counter, egpNeighOutMsgs Counter, egpNeighOutErrs Counter, egpNeighInErrMsgs Counter, egpNeighOutErrMsgs Counter, egpNeighStateUps Counter, egpNeighStateDowns Counter, egpNeighIntervalHello INTEGER, egpNeighIntervalPoll INTEGER, egpNeighMode INTEGER, egpNeighEventTrigger INTEGER } egpNeighState OBJECT-TYPE SYNTAX INTEGER { idle(1), acquisition(2), down(3), up(4), cease(5) } ACCESS read-only STATUS mandatory DESCRIPTION "The EGP state of the local system with respect to this entry's EGP neighbor. Each EGP state is represented by a value that is one greater than the numerical value associated with said state in RFC 904." ::= { egpNeighEntry 1 } egpNeighAddr OBJECT-TYPE SYNTAX IpAddress ACCESS read-only STATUS mandatory DESCRIPTION "The IP address of this entry's EGP neighbor." ::= { egpNeighEntry 2 } egpNeighAs OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The autonomous system of this EGP peer. Zero should be specified if the autonomous system number of the neighbor is not yet known." ::= { egpNeighEntry 3 } egpNeighInMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP messages received without error from this EGP peer." ::= { egpNeighEntry 4 } egpNeighInErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP messages received from this EGP peer that proved to be in error (e.g., bad EGP checksum)." ::= { egpNeighEntry 5 } egpNeighOutMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of locally generated EGP messages to this EGP peer." ::= { egpNeighEntry 6 } egpNeighOutErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of locally generated EGP messages not sent to this EGP peer due to resource limitations within an EGP entity." ::= { egpNeighEntry 7 } egpNeighInErrMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP-defined error messages received from this EGP peer." ::= { egpNeighEntry 8 } egpNeighOutErrMsgs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP-defined error messages sent to this EGP peer." ::= { egpNeighEntry 9 } egpNeighStateUps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP state transitions to the UP state with this EGP peer." ::= { egpNeighEntry 10 } egpNeighStateDowns OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of EGP state transitions from the UP state to any other state with this EGP peer." ::= { egpNeighEntry 11 } egpNeighIntervalHello OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The interval between EGP Hello command retransmissions (in hundredths of a second). This represents the t1 timer as defined in RFC 904." ::= { egpNeighEntry 12 } egpNeighIntervalPoll OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The interval between EGP poll command retransmissions (in hundredths of a second). This represents the t3 timer as defined in RFC 904." ::= { egpNeighEntry 13 } egpNeighMode OBJECT-TYPE SYNTAX INTEGER { active(1), passive(2) } ACCESS read-only STATUS mandatory DESCRIPTION "The polling mode of this EGP entity, either passive or active." ::= { egpNeighEntry 14 } egpNeighEventTrigger OBJECT-TYPE SYNTAX INTEGER { start(1), stop(2) } ACCESS read-write STATUS mandatory DESCRIPTION "A control variable used to trigger operator- initiated Start and Stop events. When read, this variable always returns the most recent value that egpNeighEventTrigger was set to. If it has not been set since the last initialization of the network management subsystem on the node, it returns a value of `stop'. When set, this variable causes a Start or Stop event on the specified neighbor, as specified on pages 8-10 of RFC 904. Briefly, a Start event causes an Idle peer to begin neighbor acquisition and a non-Idle peer to reinitiate neighbor acquisition. A stop event causes a non-Idle peer to return to the Idle state until a Start event occurs, either via egpNeighEventTrigger or otherwise." ::= { egpNeighEntry 15 } -- additional EGP objects egpAs OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The autonomous system number of this EGP entity." ::= { egp 6 } -- the Transmission group -- Based on the transmission media underlying each interface -- on a system, the corresponding portion of the Transmission -- group is mandatory for that system. -- When Internet-standard definitions for managing -- transmission media are defined, the transmission group is -- used to provide a prefix for the names of those objects. -- Typically, such definitions reside in the experimental -- portion of the MIB until they are "proven", then as a -- part of the Internet standardization process, the -- definitions are accordingly elevated and a new object -- identifier, under the transmission group is defined. By -- convention, the name assigned is: -- -- type OBJECT IDENTIFIER ::= { transmission number } -- -- where "type" is the symbolic value used for the media in -- the ifType column of the ifTable object, and "number" is -- the actual integer value corresponding to the symbol. -- the SNMP group -- Implementation of the SNMP group is mandatory for all -- systems which support an SNMP protocol entity. Some of -- the objects defined below will be zero-valued in those -- SNMP implementations that are optimized to support only -- those functions specific to either a management agent or -- a management station. In particular, it should be -- observed that the objects below refer to an SNMP entity, -- and there may be several SNMP entities residing on a -- managed node (e.g., if the node is hosting acting as -- a management station). snmpInPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of Messages delivered to the SNMP entity from the transport service." ::= { snmp 1 } snmpOutPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Messages which were passed from the SNMP protocol entity to the transport service." ::= { snmp 2 } snmpInBadVersions OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Messages which were delivered to the SNMP protocol entity and were for an unsupported SNMP version." ::= { snmp 3 } snmpInBadCommunityNames OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Messages delivered to the SNMP protocol entity which used a SNMP community name not known to said entity." ::= { snmp 4 } snmpInBadCommunityUses OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Messages delivered to the SNMP protocol entity which represented an SNMP operation which was not allowed by the SNMP community named in the Message." ::= { snmp 5 } snmpInASNParseErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of ASN.1 or BER errors encountered by the SNMP protocol entity when decoding received SNMP Messages." ::= { snmp 6 } -- { snmp 7 } is not used snmpInTooBigs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `tooBig'." ::= { snmp 8 } snmpInNoSuchNames OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `noSuchName'." ::= { snmp 9 } snmpInBadValues OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `badValue'." ::= { snmp 10 } snmpInReadOnlys OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number valid SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `readOnly'. It should be noted that it is a protocol error to generate an SNMP PDU which contains the value `readOnly' in the error-status field, as such this object is provided as a means of detecting incorrect implementations of the SNMP." ::= { snmp 11 } snmpInGenErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were delivered to the SNMP protocol entity and for which the value of the error-status field is `genErr'." ::= { snmp 12 } snmpInTotalReqVars OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of MIB objects which have been retrieved successfully by the SNMP protocol entity as the result of receiving valid SNMP Get-Request and Get-Next PDUs." ::= { snmp 13 } snmpInTotalSetVars OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of MIB objects which have been altered successfully by the SNMP protocol entity as the result of receiving valid SNMP Set-Request PDUs." ::= { snmp 14 } snmpInGetRequests OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Request PDUs which have been accepted and processed by the SNMP protocol entity." ::= { snmp 15 } snmpInGetNexts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Next PDUs which have been accepted and processed by the SNMP protocol entity." ::= { snmp 16 } snmpInSetRequests OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Set-Request PDUs which have been accepted and processed by the SNMP protocol entity." ::= { snmp 17 } snmpInGetResponses OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Response PDUs which have been accepted and processed by the SNMP protocol entity." ::= { snmp 18 } snmpInTraps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Trap PDUs which have been accepted and processed by the SNMP protocol entity." ::= { snmp 19 } snmpOutTooBigs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `tooBig.'" ::= { snmp 20 } snmpOutNoSuchNames OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status is `noSuchName'." ::= { snmp 21 } snmpOutBadValues OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `badValue'." ::= { snmp 22 } -- { snmp 23 } is not used snmpOutGenErrs OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP PDUs which were generated by the SNMP protocol entity and for which the value of the error-status field is `genErr'." ::= { snmp 24 } snmpOutGetRequests OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Request PDUs which have been generated by the SNMP protocol entity." ::= { snmp 25 } snmpOutGetNexts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Next PDUs which have been generated by the SNMP protocol entity." ::= { snmp 26 } snmpOutSetRequests OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Set-Request PDUs which have been generated by the SNMP protocol entity." ::= { snmp 27 } snmpOutGetResponses OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Get-Response PDUs which have been generated by the SNMP protocol entity." ::= { snmp 28 } snmpOutTraps OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of SNMP Trap PDUs which have been generated by the SNMP protocol entity." ::= { snmp 29 } snmpEnableAuthenTraps OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } ACCESS read-write STATUS mandatory DESCRIPTION "Indicates whether the SNMP agent process is permitted to generate authentication-failure traps. The value of this object overrides any configuration information; as such, it provides a means whereby all authentication-failure traps may be disabled. Note that it is strongly recommended that this object be stored in non-volatile memory so that it remains constant between re-initializations of the network management system." ::= { snmp 30 } END DEMO-MIB DEFINITIONS ::= BEGIN EXPORTS -- everything --; IMPORTS OBJECT-TYPE, OBJECT-GROUP, Counter64, Gauge32, NsapAddress FROM SMP-SMI ifIndex FROM RFC1213-MIB; mtrDemo OBJECT IDENTIFIER ::= { joint-iso-ccitt mhs(6) group(6) mtr(200) 5 } mtrDemoGroup OBJECT-GROUP OBJECTS { mtrBigNumber, mtrNsapAddress, mtrBitString, mtrColumn } DESCRIPTION "The demo group." ::= { mtrDemo 1 } mtrBigNumber OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-write STATUS mandatory DESCRIPTION "A big number. On startup, the agent initializes this to the value 18,023,456,790,123,456,789 " ::= { mtrDemoGroup 1 } mtrNsapAddress OBJECT-TYPE SYNTAX NsapAddress MAX-ACCESS read-write STATUS mandatory DESCRIPTION "An OSI Network Address. On startup, the agent initializes this to the value NS+47000580ffff000000012301230123456789ab01 " ::= { mtrDemoGroup 2 } mtrBitString OBJECT-TYPE SYNTAX BIT STRING { rejectA-A(0), rejectA-B(1), rejectA-S(2), rejectA-M(3), rejectB-A(4), rejectB-B(5), rejectB-S(6), rejectB-M(7), rejectS-A(8), rejectS-B(9), rejectS-S(10), rejectS-M(11), rejectM-A(12), rejectM-B(13), rejectM-S(14), rejectM-M(15) } MAX-ACCESS read-write STATUS mandatory DESCRIPTION "A string of bits. On startup, the agent initializes this to the value '0000000000000000'B " ::= { mtrDemoGroup 3 } mtrTable OBJECT-TYPE SYNTAX SEQUENCE OF MtrEntry MAX-ACCESS not-accessible STATUS mandatory DESCRIPTION "A mtr table used for testing..." ::= { mtrDemoGroup 4 } mtrEntry OBJECT-TYPE SYNTAX MtrEntry MAX-ACCESS not-accessible STATUS mandatory DESCRIPTION "An entry (conceptual row) in the mtrTable." INDEX { mtrIndex } ::= { mtrTable 1 } MtrEntry ::= SEQUENCE { mtrIndex INTEGER (0..50000), mtrColumn Integer32 } mtrIndex OBJECT-TYPE SYNTAX INTEGER (0..50000) MAX-ACCESS not-accessible STATUS mandatory DESCRIPTION "The auxilary variable used to identify (conceptual) rows in the mtrTable." ::= { mtrEntry 1 } mtrColumn OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS mandatory DESCRIPTION "The column." ::= { mtrEntry 2 } END SNMPv2-SMI DEFINITIONS ::= BEGIN; security OBJECT IDENTIFIER ::= { internet 5 } snmpV2 OBJECT IDENTIFIER ::= { internet 6 } -- transport domains snmpDomains OBJECT IDENTIFIER ::= { snmpV2 1 } -- transport proxies snmpProxys OBJECT IDENTIFIER ::= { snmpV2 2 } -- module identities snmpModules OBJECT IDENTIFIER ::= { snmpV2 3 } END SNMPv2-TC DEFINITIONS ::= BEGIN IMPORTS ObjectSyntax, Integer32, TimeTicks FROM SNMPv2-SMI; DisplayString ::= TEXTUAL-CONVENTION DISPLAY-HINT "255a" STATUS current DESCRIPTION "Represents textual information taken from the NVT ASCII character set, as defined in pages 4, 10-11 of RFC 854. Any object defined using this syntax may not exceed 255 characters in length." SYNTAX OCTET STRING (SIZE (0..255)) PhysAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT "1x:" STATUS current DESCRIPTION "Represents media- or physical-level addresses." SYNTAX OCTET STRING MacAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT "1x:" STATUS current DESCRIPTION "Represents an 802 MAC address represented in the 'canonical' order defined by IEEE 802.1a, i.e., as if it were transmitted least significant bit first, even though 802.5 (in contrast to other 802.x protocols) requires MAC addresses to be transmitted most significant bit first." SYNTAX OCTET STRING (SIZE (6)) TruthValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents a boolean value." SYNTAX INTEGER { true(1), false(2) } TestAndIncr ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents integer-valued information used for atomic operations. When the management protocol is used to specify that an object instance having this syntax is to be modified, the new value supplied via the management protocol must precisely match the value presently held by the instance. If not, the management protocol set operation fails with an error of 'inconsistentValue'. Otherwise, if the current value is the maximum value of 2^31-1 (2147483647 decimal), then the value held by the instance is wrapped to zero; otherwise, the value held by the instance is incremented by one. (Note that regardless of whether the management protocol set operation succeeds, the variable-binding in the request and response PDUs are identical.) The value of the ACCESS clause for objects having this syntax is either 'read-write' or 'read- create'. When an instance of a columnar object having this syntax is created, any value may be supplied via the management protocol." SYNTAX INTEGER (0..2147483647) AutonomousType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents an independently extensible type identification value. It may, for example, indicate a particular sub-tree with further MIB definitions, or define a particular type of protocol or hardware." SYNTAX OBJECT IDENTIFIER InstancePointer ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A pointer to a specific instance of a conceptual row of a MIB table in the managed device. By convention, it is the name of the particular instance of the first columnar object in the conceptual row." SYNTAX OBJECT IDENTIFIER RowStatus ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].) The status column has six defined values: - 'active', which indicates that the conceptual row is available for use by the managed device; - 'notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); - 'notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device; - 'createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have it available for use by the managed device; - 'createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row but not to have it available for use by the managed device; and, - 'destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row. Whereas five of the six values (all except 'notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management protocol retrieval operation: 'notReady', 'notInService' or 'active'. That is, when queried, an existing conceptual row has only three states: it is either available for use by the managed device (the status column has value 'active'); it is not available for use by the managed device, though the agent has sufficient information to make it so (the status column has value 'notInService'); or, it is not available for use by the managed device, because the agent lacks sufficient information (the status column has value 'notReady'). NOTE WELL This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must be 'notInService' in order for the value of some other column of the same conceptual row to be modified. To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram: STATE +--------------+-----------+-------------+------------- | A | B | C | D | |status col.|status column| |status column | is | is |status column ACTION |does not exist| notReady | notInService| is active --------------+--------------+-----------+-------------+------------- set status |noError ->D|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndGo |inconsistent- | | | | Value| | | --------------+--------------+-----------+-------------+------------- set status |noError see 1|inconsist- |inconsistent-|inconsistent- column to | or | entValue| Value| Value createAndWait |wrongValue | | | --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError column to | Value| entValue| | active | | | | | | or | | | | | | | |see 2 ->D| ->D| ->D --------------+--------------+-----------+-------------+------------- set status |inconsistent- |inconsist- |noError |noError ->C column to | Value| entValue| | notInService | | | | | | or | | or | | | | | |see 3 ->C| ->C|wrongValue --------------+--------------+-----------+-------------+------------- set status |noError |noError |noError |noError column to | | | | destroy | ->A| ->A| ->A| ->A --------------+--------------+-----------+-------------+------------- set any other |see 4 |noError |noError |noError column to some| | | | value | ->A| see 1| ->C| ->D --------------+--------------+-----------+-------------+------------- (1) goto B or C, depending on information available to the agent. (2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, then return noError and goto D. (3) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, then return noError and goto C. (4) at the discretion of the agent, either noError or inconsistentValue may be returned. NOTE: Other processing of the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc. Conceptual Row Creation There are four potential interactions when creating a conceptual row: selecting an instance- identifier which is not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device. Interaction 1: Selecting an Instance-Identifier The algorithm used to select an instance- identifier varies for each conceptual row. In some cases, the instance-identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics. In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance- identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.) Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, 'adjacent' retrievals of this object should be different. Finally, the management station could select a pseudo-random number to use as the index. In the event that this index was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation. A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used. Interaction 2: Creating the Conceptual Row Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions. Interaction 2a: Creating and Activating the Conceptual Row The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes: - a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1. - the exception 'noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read- create access, the 'noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created. - the exception 'noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to 'createAndGo'. When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information available to the agent is provided by two sources: the management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a 'noError' response is returned, the status column is set to 'active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of 'inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using 'createAndWait' in order to negotiate creation of the conceptual row. NOTE WELL Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as 'noCreation' or 'notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm. Interaction 2b: Negotiating the Creation of the Conceptual Row The management station issues a management protocol set operation which sets the desired instance of the status column to 'createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of 'wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the columns indicated by its column requirements.) Otherwise, the conceptual row is created, a 'noError' response is returned, and the status column is immediately set to either 'notInService' or 'notReady', depending on whether it has sufficient information to make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to 'notInService'; otherwise, if there is insufficient information, then the status column is set to 'notReady'. Regardless, we proceed to interaction 3. Interaction 3: Initializing non-defaulted Objects The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes: - a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read- create access, a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column. - the exception 'noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the 'noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column. - the exception 'noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column. If the value associated with the status column is 'notReady', then the management station must first deal with all 'noSuchInstance' columns, if any. Having done so, the value of the status column becomes 'notInService', and we proceed to interaction 4. Interaction 4: Making the Conceptual Row Available Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to 'active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a 'noError' response is returned). Otherwise, the management protocol set operation fails with an error of 'inconsistentValue'. NOTE WELL A conceptual row having a status column with value 'notInService' or 'notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to 'createAndWait' and the management protocol set operation which sets the status column to 'active'. In this case, when the management protocol set operation is issued to set the status column to 'active', the values held in the agent supersede those used by the managed device. If the management station is prevented from setting the status column to 'active' (e.g., due to management station or network failure) the conceptual row will be left in the 'notInService' or 'notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. This period of time should be long enough to allow for human response time (including 'think time') between the creation of the conceptual row and the setting of the status to 'active'. It is suggested that this period be approximately 5 minutes in length. Conceptual Row Suspension When a conceptual row is 'active', the management station may issue a management protocol set operation which sets the instance of the status column to 'notInService'. If the agent is unwilling to do so, the set operation fails with an error of 'wrongValue'. Otherwise, the conceptual row is taken out of service, and a 'noError' response is returned. It is the responsibility of the the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified). Conceptual Row Deletion For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to 'destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either 'notReady', 'notInService' or 'active'.) If the operation succeeds, then all instances associated with the conceptual row are immediately removed." SYNTAX INTEGER { -- the following two values are states: -- these values may be read or written active(1), notInService(2), -- the following value is a state: -- this value may be read, but not written notReady(3), -- the following three values are -- actions: these values may be written, -- but are never read createAndGo(4), createAndWait(5), destroy(6) } TimeStamp ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The value of MIB-II's sysUpTime object at which a specific occurrence happened. The specific occurrence must be defined in the description of any object defined using this type." SYNTAX TimeTicks TimeInterval ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A period of time, measured in units of 0.01 seconds." SYNTAX INTEGER (0..2147483647) DateAndTime ::= TEXTUAL-CONVENTION DISPLAY-HINT "2d-1d-1d,1d:1d:1d.1d,1a1d:1d" STATUS current DESCRIPTION "A date-time specification. field octets contents range ----- ------ -------- ----- 1 1-2 year 0..65536 2 3 month 1..12 3 4 day 1..31 4 5 hour 0..23 5 6 minutes 0..59 6 7 seconds 0..60 (use 60 for leap-second) 7 8 deci-seconds 0..9 8 9 direction from UTC '+' / '-' 9 10 hours from UTC 0..11 10 11 minutes from UTC 0..59 For example, Tuesday May 26, 1992 at 1:30:15 PM EDT would be displayed as: 1992-5-26,13:30:15.0,-4:0 Note that if only local time is known, then timezone information (fields 8-10) is not present." SYNTAX OCTET STRING (SIZE (8 | 11)) END SNMPv2-PARTY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, snmpModules, UInteger32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; partyMIB MODULE-IDENTITY LAST-UPDATED "9304010000Z" ORGANIZATION "IETF SNMP Security Working Group" CONTACT-INFO " Keith McCloghrie Postal: Hughes LAN Systems 1225 Charleston Road Mountain View, CA 94043 US Tel: +1 415 966 7934 Fax: +1 415 960 3738 E-mail: kzm@hls.com" DESCRIPTION "The MIB module describing SNMPv2 parties." ::= { snmpModules 3 } -- textual conventions Party ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a SNMPv2 party identifier. Note that agents may impose implementation limitations on the length of OIDs used to identify Parties. As such, management stations creating new parties should be aware that using an excessively long OID may result in the agent refusing to perform the set operation and instead returning the appropriate error response, e.g., noCreation." SYNTAX OBJECT IDENTIFIER TAddress ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a transport service address. For snmpUDPDomain, a TAddress is 6 octets long, the initial 4 octets containing the IP-address in network-byte order and the last 2 containing the UDP port in network-byte order. Consult [5] for further information on snmpUDPDomain." SYNTAX OCTET STRING Clock ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A party's authentication clock - a non-negative integer which is incremented as specified/allowed by the party's Authentication Protocol. For noAuth, a party's authentication clock is unused and its value is undefined. For v2md5AuthProtocol, a party's authentication clock is a relative clock with 1-second granularity." SYNTAX UInteger32 Context ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a SNMPv2 context identifier. Note that agents may impose implementation limitations on the length of OIDs used to identify Contexts. As such, management stations creating new contexts should be aware that using an excessively long OID may result in the agent refusing to perform the set operation and instead returning the appropriate error response, e.g., noCreation." SYNTAX OBJECT IDENTIFIER StorageType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Describes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is nonVolatile(3) is backed up by stable storage. A row which is permanent(4) cannot be changed nor deleted." SYNTAX INTEGER { other(1), -- eh? volatile(2), -- e.g., in RAM nonVolatile(3), -- e.g., in NVRAM permanent(4) -- e.g., in ROM } -- administrative assignments partyAdmin OBJECT IDENTIFIER ::= { partyMIB 1 } -- definitions of security protocols partyProtocols OBJECT IDENTIFIER ::= { partyAdmin 1 } -- the protocol without authentication noAuth OBJECT IDENTIFIER ::= { partyProtocols 1 } -- the protocol without privacy noPriv OBJECT IDENTIFIER ::= { partyProtocols 2 } -- the DES Privacy Protocol [4] desPrivProtocol OBJECT IDENTIFIER ::= { partyProtocols 3 } -- the MD5 Authentication Protocol [4] v2md5AuthProtocol OBJECT IDENTIFIER ::= { partyProtocols 4 } -- definitions of temporal domains temporalDomains OBJECT IDENTIFIER ::= { partyAdmin 2 } -- this temporal domain refers to management information -- at the current time currentTime OBJECT IDENTIFIER ::= { temporalDomains 1 } -- this temporal domain refers to management information -- upon the next re-initialization of the managed device restartTime OBJECT IDENTIFIER ::= { temporalDomains 2 } -- the temporal domain { cacheTime N } refers to management -- information that is cached and guaranteed to be at most -- N seconds old cacheTime OBJECT IDENTIFIER ::= { temporalDomains 3 } -- Definition of Initial Party and Context Identifiers -- When devices are installed, they need to be configured -- with an initial set of SNMPv2 parties and contexts. The -- configuration of SNMPv2 parties and contexts requires (among -- other things) the assignment of several OBJECT IDENTIFIERs. -- Any local network administration can obtain the delegated -- authority necessary to assign its own OBJECT IDENTIFIERs. -- However, to provide for those administrations who have not -- obtained the necessary authority, this document allocates a -- branch of the naming tree for use with the following -- conventions. initialPartyId OBJECT IDENTIFIER ::= { partyAdmin 3 } initialContextId OBJECT IDENTIFIER ::= { partyAdmin 4 } -- Note these are identified as "initial" party and context -- identifiers since these allow secure SNMPv2 communication -- to proceed, thereby allowing further SNMPv2 parties to be -- configured through use of the SNMPv2 itself. -- The following definitions identify a party identifier, and -- specify the initial values of various object instances -- indexed by that identifier. In addition, the SNMPv2 -- context, access control policy, and MIB view information -- assigned, by convention, are identified. -- Party Identifiers for use as initial SNMPv2 parties -- at IP address a.b.c.d -- Note that for all OBJECT IDENTIFIERs assigned under -- initialPartyId, the four sub-identifiers immediately -- following initialPartyId represent the four octets of -- an IP address. Initial party identifiers for other address -- families are assigned under a different OBJECT IDENTIFIER, -- as defined elsewhere. -- Devices which support SNMPv2 as entities acting in an -- agent role, and accessed via the snmpUDPDomain transport -- domain, are required to be configured with the appropriate -- set of the following as implicit assignments as and when -- they are configured with an IP address. The appropriate -- set is all those applicable to the authentication and -- privacy protocols supported by the device. -- a noAuth/noPriv party which executes at the agent -- partyIdentity = { initialPartyId a b c d 1 } -- partyIndex = 1 -- partyTDomain = snmpUDPDomain -- partyTAddress = a.b.c.d, 161 -- partyLocal = true (in agent's database) -- partyAuthProtocol = noAuth -- partyAuthClock = 0 -- partyAuthPrivate = ''H (the empty string) -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 0 -- partyPrivProtocol = noPriv -- partyPrivPrivate = ''H (the empty string) -- partyPrivPublic = ''H (the empty string) -- a noAuth/noPriv party which executes at a manager -- partyIdentity = { initialPartyId a b c d 2 } -- partyIndex = 2 -- partyTDomain = snmpUDPDomain -- partyTAddress = assigned by local administration -- partyLocal = false (in agent's database) -- partyAuthProtocol = noAuth -- partyAuthClock = 0 -- partyAuthPrivate = ''H (the empty string) -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 0 -- partyPrivProtocol = noPriv -- partyPrivPrivate = ''H (the empty string) -- partyPrivPublic = ''H (the empty string) -- a md5Auth/noPriv party which executes at the agent -- partyIdentity = { initialPartyId a b c d 3 } -- partyIndex = 3 -- partyTDomain = snmpUDPDomain -- partyTAddress = a.b.c.d, 161 -- partyLocal = true (in agent's database) -- partyAuthProtocol = v2md5AuthProtocol -- partyAuthClock = 0 -- partyAuthPrivate = assigned by local administration -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 300 -- partyPrivProtocol = noPriv -- partyPrivPrivate = ''H (the empty string) -- partyPrivPublic = ''H (the empty string) -- a md5Auth/noPriv party which executes at a manager -- partyIdentity = { initialPartyId a b c d 4 } -- partyIndex = 4 -- partyTDomain = snmpUDPDomain -- partyTAddress = assigned by local administration -- partyLocal = false (in agent's database) -- partyAuthProtocol = v2md5AuthProtocol -- partyAuthClock = 0 -- partyAuthPrivate = assigned by local administration -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 300 -- partyPrivProtocol = noPriv -- partyPrivPrivate = ''H (the empty string) -- partyPrivPublic = ''H (the empty string) -- a md5Auth/desPriv party which executes at the agent -- partyIdentity = { initialPartyId a b c d 5 } -- partyIndex = 5 -- partyTDomain = snmpUDPDomain -- partyTAddress = a.b.c.d, 161 -- partyLocal = true (in agent's database) -- partyAuthProtocol = v2md5AuthProtocol -- partyAuthClock = 0 -- partyAuthPrivate = assigned by local administration -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 300 -- partyPrivProtocol = desPrivProtocol -- partyPrivPrivate = assigned by local administration -- partyPrivPublic = ''H (the empty string) -- a md5Auth/desPriv party which executes at a manager -- partyIdentity = { initialPartyId a b c d 6 } -- partyIndex = 6 -- partyTDomain = snmpUDPDomain -- partyTAddress = assigned by local administration -- partyLocal = false (in agent's database) -- partyAuthProtocol = v2md5AuthProtocol -- partyAuthClock = 0 -- partyAuthPrivate = assigned by local administration -- partyAuthPublic = ''H (the empty string) -- partyAuthLifetime = 300 -- partyPrivProtocol = desPrivProtocol -- partyPrivPrivate = assigned by local administration -- partyPrivPublic = ''H (the empty string) -- the initial SNMPv2 contexts assigned, by convention, are: -- contextIdentity = { initialContextId a b c d 1 } -- contextIndex = 1 -- contextLocal = true (in agent's database) -- contextViewIndex = 1 -- contextLocalEntity = ''H (the empty string) -- contextLocalTime = currentTime -- contextProxyDstParty = { 0 0 } -- contextProxySrcParty = { 0 0 } -- contextProxyContext = { 0 0 } -- contextIdentity = { initialContextId a b c d 2 } -- contextIndex = 2 -- contextLocal = true (in agent's database) -- contextViewIndex = 2 -- contextLocalEntity = ''H (the empty string) -- contextLocalTime = currentTime -- contextProxyDstParty = { 0 0 } -- contextProxySrcParty = { 0 0 } -- contextProxyContext = { 0 0 } -- The initial access control policy assigned, by -- convention, is: -- aclTarget = 1 -- aclSubject = 2 -- aclResources = 1 -- aclPrivileges = 35 (Get, Get-Next & Get-Bulk) -- aclTarget = 2 -- aclSubject = 1 -- aclResources = 1 -- aclPrivileges = 132 (Response & SNMPv2-Trap) -- aclTarget = 3 -- aclSubject = 4 -- aclResources = 2 -- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk) -- aclTarget = 4 -- aclSubject = 3 -- aclResources = 2 -- aclPrivileges = 4 (Response) -- aclTarget = 5 -- aclSubject = 6 -- aclResources = 2 -- aclPrivileges = 43 (Get, Get-Next, Set & Get-Bulk) -- aclTarget = 6 -- aclSubject = 5 -- aclResources = 2 -- aclPrivileges = 4 (Response) -- Note that the initial context and access control -- information assigned above, by default, to the -- md5Auth/desPriv parties are identical to those assigned to -- the md5Auth/noPriv parties. However, each administration -- may choose to have different authorization policies, -- depending on whether privacy is used. -- The initial MIB views assigned, by convention, are: -- viewIndex = 1 -- viewSubtree = system -- viewMask = ''H -- viewType = included -- viewIndex = 1 -- viewSubtree = snmpStats -- viewMask = ''H -- viewType = included -- viewIndex = 1 -- viewSubtree = snmpParties -- viewMask = ''H -- viewType = included -- viewIndex = 2 -- viewSubtree = internet -- viewMask = ''H -- viewType = included -- Note that full access to the partyTable, contextTable, -- aclTable, and viewTable gives a manager the ability to -- configure any parties with any/all capabilities (the -- equivalent of "root" access). A lesser manager can be -- given access only to the partyTable so that it can -- maintain its own parties, but not increase/decrease -- their capabilities. Such a lesser manager can also -- create new parties but they are of no use to it. -- object assignments partyMIBObjects OBJECT IDENTIFIER ::= { partyMIB 2 } -- the SNMPv2 party database group snmpParties OBJECT IDENTIFIER ::= { partyMIBObjects 1 } partyTable OBJECT-TYPE SYNTAX SEQUENCE OF PartyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SNMPv2 Party database." ::= { snmpParties 1 } partyEntry OBJECT-TYPE SYNTAX PartyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally held information about a particular SNMPv2 party." INDEX { IMPLIED partyIdentity } ::= { partyTable 1 } PartyEntry ::= SEQUENCE { partyIdentity Party, partyIndex INTEGER, partyTDomain OBJECT IDENTIFIER, partyTAddress TAddress, partyMaxMessageSize INTEGER, partyLocal TruthValue, partyAuthProtocol OBJECT IDENTIFIER, partyAuthClock Clock, partyAuthPrivate OCTET STRING, partyAuthPublic OCTET STRING, partyAuthLifetime INTEGER, partyPrivProtocol OBJECT IDENTIFIER, partyPrivPrivate OCTET STRING, partyPrivPublic OCTET STRING, partyCloneFrom Party, partyStorageType StorageType, partyStatus RowStatus } partyIdentity OBJECT-TYPE SYNTAX Party MAX-ACCESS not-accessible STATUS current DESCRIPTION "A party identifier uniquely identifying a particular SNMPv2 party." ::= { partyEntry 1 } partyIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for each SNMPv2 party. The value for each SNMPv2 party must remain constant at least from one re-initialization of the entity's network management system to the next re- initialization." ::= { partyEntry 2 } partyTDomain OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates the kind of transport service by which the party receives network management traffic." DEFVAL { snmpUDPDomain } ::= { partyEntry 3 } partyTAddress OBJECT-TYPE SYNTAX TAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The transport service address by which the party receives network management traffic, formatted according to the corresponding value of partyTDomain. For snmpUDPDomain, partyTAddress is formatted as a 4-octet IP Address concatenated with a 2-octet UDP port number." DEFVAL { '000000000000'H } ::= { partyEntry 4 } partyMaxMessageSize OBJECT-TYPE SYNTAX INTEGER (484..65507) MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum length in octets of a SNMPv2 message which this party will accept. For parties which execute at an agent, the agent initializes this object to the maximum length supported by the agent, and does not let the object be set to any larger value. For parties which do not execute at the agent, the agent must allow the manager to set this object to any legal value, even if it is larger than the agent can generate." DEFVAL { 484 } ::= { partyEntry 5 } partyLocal OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "An indication of whether this party executes at this SNMPv2 entity. If this object has a value of true(1), then the SNMPv2 entity will listen for SNMPv2 messages on the partyTAddress associated with this party. If this object has the value false(2), then the SNMPv2 entity will not listen for SNMPv2 messages on the partyTAddress associated with this party." DEFVAL { false } ::= { partyEntry 6 } partyAuthProtocol OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The authentication protocol by which all messages generated by the party are authenticated as to origin and integrity. The value noAuth signifies that messages generated by the party are not authenticated. Once an instance of this object is created, its value can not be changed." DEFVAL { v2md5AuthProtocol } ::= { partyEntry 7 } partyAuthClock OBJECT-TYPE SYNTAX Clock MAX-ACCESS read-create STATUS current DESCRIPTION "The authentication clock which represents the local notion of the current time specific to the party. This value must not be decremented unless the party's private authentication key is changed simultaneously." DEFVAL { 0 } ::= { partyEntry 8 } partyAuthPrivate OBJECT-TYPE SYNTAX OCTET STRING -- for v2md5AuthProtocol: (SIZE (16)) MAX-ACCESS read-create STATUS current DESCRIPTION "An encoding of the party's private authentication key which may be needed to support the authentication protocol. Although the value of this variable may be altered by a management operation (e.g., a SNMPv2 Set-Request), its value can never be retrieved by a management operation: when read, the value of this variable is the zero length OCTET STRING. The private authentication key is NOT directly represented by the value of this variable, but rather it is represented according to an encoding. This encoding is the bitwise exclusive-OR of the old key with the new key, i.e., of the old private authentication key (prior to the alteration) with the new private authentication key (after the alteration). Thus, when processing a received protocol Set operation, the new private authentication key is obtained from the value of this variable as the result of a bitwise exclusive-OR of the variable's value and the old private authentication key. In calculating the exclusive-OR, if the old key is shorter than the new key, zero-valued padding is appended to the old key. If no value for the old key exists, a zero-length OCTET STRING is used in the calculation." DEFVAL { ''H } -- the empty string ::= { partyEntry 9 } partyAuthPublic OBJECT-TYPE SYNTAX OCTET STRING -- for v2md5AuthProtocol: (SIZE (0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "A publically-readable value for the party. Depending on the party's authentication protocol, this value may be needed to support the party's authentication protocol. Alternatively, it may be used by a manager during the procedure for altering secret information about a party. (For example, by altering the value of an instance of this object in the same SNMPv2 Set-Request used to update an instance of partyAuthPrivate, a subsequent Get-Request can determine if the Set- Request was successful in the event that no response to the Set-Request is received, see [4].) The length of the value is dependent on the party's authentication protocol. If not used by the authentication protocol, it is recommended that agents support values of any length up to and including the length of the corresponding partyAuthPrivate object." DEFVAL { ''H } -- the empty string ::= { partyEntry 10 } partyAuthLifetime OBJECT-TYPE SYNTAX INTEGER (0..2147483647) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The lifetime (in units of seconds) which represents an administrative upper bound on acceptable delivery delay for protocol messages generated by the party. Once an instance of this object is created, its value can not be changed." DEFVAL { 300 } ::= { partyEntry 11 } partyPrivProtocol OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The privacy protocol by which all protocol messages received by the party are protected from disclosure. The value noPriv signifies that messages received by the party are not protected. Once an instance of this object is created, its value can not be changed." DEFVAL { noPriv } ::= { partyEntry 12 } partyPrivPrivate OBJECT-TYPE SYNTAX OCTET STRING -- for desPrivProtocol: (SIZE (16)) MAX-ACCESS read-create STATUS current DESCRIPTION "An encoding of the party's private encryption key which may be needed to support the privacy protocol. Although the value of this variable may be altered by a management operation (e.g., a SNMPv2 Set-Request), its value can never be retrieved by a management operation: when read, the value of this variable is the zero length OCTET STRING. The private encryption key is NOT directly represented by the value of this variable, but rather it is represented according to an encoding. This encoding is the bitwise exclusive-OR of the old key with the new key, i.e., of the old private encryption key (prior to the alteration) with the new private encryption key (after the alteration). Thus, when processing a received protocol Set operation, the new private encryption key is obtained from the value of this variable as the result of a bitwise exclusive-OR of the variable's value and the old private encryption key. In calculating the exclusive-OR, if the old key is shorter than the new key, zero-valued padding is appended to the old key. If no value for the old key exists, a zero-length OCTET STRING is used in the calculation." DEFVAL { ''H } -- the empty string ::= { partyEntry 13 } partyPrivPublic OBJECT-TYPE SYNTAX OCTET STRING -- for desPrivProtocol: (SIZE (0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "A publically-readable value for the party. Depending on the party's privacy protocol, this value may be needed to support the party's privacy protocol. Alternatively, it may be used by a manager as a part of its procedure for altering secret information about a party. (For example, by altering the value of an instance of this object in the same SNMPv2 Set-Request used to update an instance of partyPrivPrivate, a subsequent Get-Request can determine if the Set- Request was successful in the event that no response to the Set-Request is received, see [4].) The length of the value is dependent on the party's privacy protocol. If not used by the privacy protocol, it is recommended that agents support values of any length up to and including the length of the corresponding partyPrivPrivate object." DEFVAL { ''H } -- the empty string ::= { partyEntry 14 } partyCloneFrom OBJECT-TYPE SYNTAX Party MAX-ACCESS read-create STATUS current DESCRIPTION "The identity of a party to clone authentication and privacy parameters from. When read, the value { 0 0 } is returned. This value must be written exactly once, when the associated instance of partyStatus either does not exist or has the value `notReady'. When written, the value identifies a party, the cloning party, whose status column has the value `active'. The cloning party is used in two ways. One, if instances of the following objects do not exist for the party being created, then they are created with values identical to those of the corresponding objects for the cloning party: partyAuthProtocol partyAuthPublic partyAuthLifetime partyPrivProtocol partyPrivPublic Two, instances of the following objects are updated using the corresponding values of the cloning party: partyAuthPrivate partyPrivPrivate (e.g., the value of the cloning party's instance of the partyAuthPrivate object is XOR'd with the value of the partyAuthPrivate instances of the party being created.)" ::= { partyEntry 15 } partyStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the partyTable." DEFVAL { nonVolatile } ::= { partyEntry 16 } partyStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the partyTable. A party is not qualified for activation until instances of all columns of its partyEntry row have an appropriate value. In particular: A value must be written to the Party's partyCloneFrom object. If the Party's partyAuthProtocol object has the value md5AuthProtocol, then the corresponding instance of partyAuthPrivate must contain a secret of the appropriate length. Further, at least one management protocol set operation updating the value of the party's partyAuthPrivate object must be successfully processed, before the partyAuthPrivate column is considered appropriately configured. If the Party's partyPrivProtocol object has the value desPrivProtocol, then the corresponding instance of partyPrivPrivate must contain a secret of the appropriate length. Further, at least one management protocol set operation updating the value of the party's partyPrivPrivate object must be successfully processed, before the partyPrivPrivate column is considered appropriately configured. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the partyStatus column is `notReady'." ::= { partyEntry 17 } -- the SNMPv2 contexts database group snmpContexts OBJECT IDENTIFIER ::= { partyMIBObjects 2 } contextTable OBJECT-TYPE SYNTAX SEQUENCE OF ContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SNMPv2 Context database." ::= { snmpContexts 1 } contextEntry OBJECT-TYPE SYNTAX ContextEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally held information about a particular SNMPv2 context." INDEX { IMPLIED contextIdentity } ::= { contextTable 1 } ContextEntry ::= SEQUENCE { contextIdentity Context, contextIndex INTEGER, contextLocal TruthValue, contextViewIndex INTEGER, contextLocalEntity OCTET STRING, contextLocalTime OBJECT IDENTIFIER, contextProxyDstParty Party, contextProxySrcParty Party, contextProxyContext OBJECT IDENTIFIER, contextStorageType StorageType, contextStatus RowStatus } contextIdentity OBJECT-TYPE SYNTAX Context MAX-ACCESS not-accessible STATUS current DESCRIPTION "A context identifier uniquely identifying a particular SNMPv2 context." ::= { contextEntry 1 } contextIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value for each SNMPv2 context. The value for each SNMPv2 context must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { contextEntry 2 } contextLocal OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "An indication of whether this context is realized by this SNMPv2 entity." DEFVAL { true } ::= { contextEntry 3 } contextViewIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of an instance of this object is zero, then this corresponding conceptual row in the contextTable refers to a SNMPv2 context which identifies a proxy relationship; the values of the corresponding instances of the contextProxyDstParty, contextProxySrcParty, and contextProxyContext objects provide further information on the proxy relationship. Otherwise, if the value of an instance of this object is greater than zero, then this corresponding conceptual row in the contextTable refers to a SNMPv2 context which identifies a MIB view of a locally accessible entity; the value of the instance identifies the particular MIB view which has the same value of viewIndex; and the value of the corresponding instances of the contextLocalEntity and contextLocalTime objects provide further information on the local entity and its temporal domain." ::= { contextEntry 4 } contextLocalEntity OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of the corresponding instance of the contextViewIndex is greater than zero, then the value of an instance of this object identifies the local entity whose management information is in the SNMPv2 context's MIB view. The empty string indicates that the MIB view contains the SNMPv2 entity's own local management information; otherwise, a non-empty string indicates that the MIB view contains management information of some other local entity, e.g., 'Repeater1'." DEFVAL { ''H } -- the empty string ::= { contextEntry 5 } contextLocalTime OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of the corresponding instance of the contextViewIndex is greater than zero, then the value of an instance of this object identifies the temporal context of the management information in the MIB view." DEFVAL { currentTime } ::= { contextEntry 6 } contextProxyDstParty OBJECT-TYPE SYNTAX Party MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of the corresponding instance of the contextViewIndex is equal to zero, then the value of an instance of this object identifies a SNMPv2 party which is the proxy destination of a proxy relationship. If the value of the corresponding instance of the contextViewIndex is greater than zero, then the value of an instance of this object is { 0 0 }." ::= { contextEntry 7 } contextProxySrcParty OBJECT-TYPE SYNTAX Party MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of the corresponding instance of the contextViewIndex is equal to zero, then the value of an instance of this object identifies a SNMPv2 party which is the proxy source of a proxy relationship. Interpretation of an instance of this object depends upon the value of the transport domain associated with the SNMPv2 party used as the proxy destination in this proxy relationship. If the value of the corresponding instance of the contextViewIndex is greater than zero, then the value of an instance of this object is { 0 0 }." ::= { contextEntry 8 } contextProxyContext OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "If the value of the corresponding instance of the contextViewIndex is equal to zero, then the value of an instance of this object identifies the context of a proxy relationship. Interpretation of an instance of this object depends upon the value of the transport domain associated with the SNMPv2 party used as the proxy destination in this proxy relationship. If the value of the corresponding instance of the contextViewIndex is greater than zero, then the value of an instance of this object is { 0 0 }." ::= { contextEntry 9 } contextStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the contextTable." DEFVAL { nonVolatile } ::= { contextEntry 10 } contextStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the contextTable. A context is not qualified for activation until instances of all corresponding columns have the appropriate value. In particular, if the context's contextViewIndex is greater than zero, then the viewStatus column of the associated conceptual row(s) in the viewTable must have the value `active'. Until instances of all corresponding columns are appropriately configured, the value of the corresponding instance of the contextStatus column is `notReady'." ::= { contextEntry 11 } -- the SNMPv2 access privileges database group snmpAccess OBJECT IDENTIFIER ::= { partyMIBObjects 3 } aclTable OBJECT-TYPE SYNTAX SEQUENCE OF AclEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The access privileges database." ::= { snmpAccess 1 } aclEntry OBJECT-TYPE SYNTAX AclEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The access privileges for a particular subject SNMPv2 party when asking a particular target SNMPv2 party to access a particular SNMPv2 context." INDEX { aclTarget, aclSubject, aclResources } ::= { aclTable 1 } AclEntry ::= SEQUENCE { aclTarget INTEGER, aclSubject INTEGER, aclResources INTEGER, aclPrivileges INTEGER, aclStorageType StorageType, aclStatus RowStatus } aclTarget OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of an instance of this object identifies a SNMPv2 party which is the target of an access control policy, and has the same value as the instance of the partyIndex object for that party." ::= { aclEntry 1 } aclSubject OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of an instance of this object identifies a SNMPv2 party which is the subject of an access control policy, and has the same value as the instance of the partyIndex object for that SNMPv2 party." ::= { aclEntry 2 } aclResources OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The value of an instance of this object identifies a SNMPv2 context in an access control policy, and has the same value as the instance of the contextIndex object for that SNMPv2 context." ::= { aclEntry 3 } aclPrivileges OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The access privileges which govern what management operations a particular target party may perform with respect to a particular SNMPv2 context when requested by a particular subject party. These privileges are specified as a sum of values, where each value specifies a SNMPv2 PDU type by which the subject party may request a permitted operation. The value for a particular PDU type is computed as 2 raised to the value of the ASN.1 context-specific tag for the appropriate SNMPv2 PDU type. The values (for the tags defined in [5]) are defined in [3] as: Get : 1 GetNext : 2 Response : 4 Set : 8 unused : 16 GetBulk : 32 Inform : 64 SNMPv2-Trap : 128 The null set is represented by the value zero." DEFVAL { 35 } -- Get, Get-Next & Get-Bulk ::= { aclEntry 4 } aclStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the aclTable." DEFVAL { nonVolatile } ::= { aclEntry 5 } aclStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the aclTable." ::= { aclEntry 6 } -- the MIB view database group snmpViews OBJECT IDENTIFIER ::= { partyMIBObjects 4 } viewTable OBJECT-TYPE SYNTAX SEQUENCE OF ViewEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally held information about the MIB views known to this SNMPv2 entity. Each SNMPv2 context which is locally accessible has a single MIB view which is defined by two collections of view subtrees: the included view subtrees, and the excluded view subtrees. Every such subtree, both included and excluded, is defined in this table. To determine if a particular object instance is in a particular MIB view, compare the object instance's OBJECT IDENTIFIER with each of the MIB view's entries in this table. If none match, then the object instance is not in the MIB view. If one or more match, then the object instance is included in, or excluded from, the MIB view according to the value of viewType in the entry whose value of viewSubtree has the most sub- identifiers. If multiple entries match and have the same number of sub-identifiers, then the lexicographically greatest instance of viewType determines the inclusion or exclusion. An object instance's OBJECT IDENTIFIER X matches an entry in this table when the number of sub- identifiers in X is at least as many as in the value of viewSubtree for the entry, and each sub- identifier in the value of viewSubtree matches its corresponding sub-identifier in X. Two sub- identifiers match either if the corresponding bit of viewMask is zero (the 'wild card' value), or if they are equal. Due to this 'wild card' capability, we introduce the term, a 'family' of view subtrees, to refer to the set of subtrees defined by a particular combination of values of viewSubtree and viewMask. In the case where no 'wild card' is defined in viewMask, the family of view subtrees reduces to a single view subtree." ::= { snmpViews 1 } viewEntry OBJECT-TYPE SYNTAX ViewEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information on a particular family of view subtrees included in or excluded from a particular SNMPv2 context's MIB view. Implementations must not restrict the number of families of view subtrees for a given MIB view, except as dictated by resource constraints on the overall number of entries in the viewTable." INDEX { viewIndex, IMPLIED viewSubtree } ::= { viewTable 1 } ViewEntry ::= SEQUENCE { viewIndex INTEGER, viewSubtree OBJECT IDENTIFIER, viewMask OCTET STRING, viewType INTEGER, viewStorageType StorageType, viewStatus RowStatus } viewIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A unique value for each MIB view. The value for each MIB view must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization." ::= { viewEntry 1 } viewSubtree OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "A MIB subtree." ::= { viewEntry 2 } viewMask OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..16)) MAX-ACCESS read-create STATUS current DESCRIPTION "The bit mask which, in combination with the corresponding instance of viewSubtree, defines a family of view subtrees. Each bit of this bit mask corresponds to a sub- identifier of viewSubtree, with the most significant bit of the i-th octet of this octet string value (extended if necessary, see below) corresponding to the (8*i - 7)-th sub-identifier, and the least significant bit of the i-th octet of this octet string corresponding to the (8*i)-th sub-identifier, where i is in the range 1 through 16. Each bit of this bit mask specifies whether or not the corresponding sub-identifiers must match when determining if an OBJECT IDENTIFIER is in this family of view subtrees; a '1' indicates that an exact match must occur; a '0' indicates 'wild card', i.e., any sub-identifier value matches. Thus, the OBJECT IDENTIFIER X of an object instance is contained in a family of view subtrees if the following criteria are met: for each sub-identifier of the value of viewSubtree, either: the i-th bit of viewMask is 0, or the i-th sub-identifier of X is equal to the i-th sub-identifier of the value of viewSubtree. If the value of this bit mask is M bits long and there are more than M sub-identifiers in the corresponding instance of viewSubtree, then the bit mask is extended with 1's to be the required length. Note that when the value of this object is the zero-length string, this extension rule results in a mask of all-1's being used (i.e., no 'wild card'), and the family of view subtrees is the one view subtree uniquely identified by the corresponding instance of viewSubtree." DEFVAL { ''H } ::= { viewEntry 3 } viewType OBJECT-TYPE SYNTAX INTEGER { included(1), excluded(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The status of a particular family of view subtrees within the particular SNMPv2 context's MIB view. The value 'included(1)' indicates that the corresponding instances of viewSubtree and viewMask define a family of view subtrees included in the MIB view. The value 'excluded(2)' indicates that the corresponding instances of viewSubtree and viewMask define a family of view subtrees excluded from the MIB view." DEFVAL { included } ::= { viewEntry 4 } viewStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row in the viewTable." DEFVAL { nonVolatile } ::= { viewEntry 5 } viewStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row in the viewTable." ::= { viewEntry 6 } -- conformance information partyMIBConformance OBJECT IDENTIFIER ::= { partyMIB 3 } partyMIBCompliances OBJECT IDENTIFIER ::= { partyMIBConformance 1 } partyMIBGroups OBJECT IDENTIFIER ::= { partyMIBConformance 2 } -- compliance statements unSecurableCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the Party MIB, but do not support any authentication or privacy protocols (i.e., only the noAuth and noPriv protocols are supported)." MODULE -- this module MANDATORY-GROUPS { partyMIBGroup } ::= { partyMIBCompliances 1 } partyNoPrivacyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the Party MIB, and support an authentication protocol, but do not support any privacy protocols (i.e., only the noAuth, v2md5AuthProtocol, and noPriv protocols are supported)." MODULE -- this module MANDATORY-GROUPS { partyMIBGroup } ::= { partyMIBCompliances 2 } partyPrivacyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the Party MIB, support an authentication protocol, and support a privacy protocol ONLY for the purpose of accessing security parameters. For all aclTable entries authorizing a subject and/or target SNMPv2 party whose privacy protocol is desPrivProtocol, to be used in accessing a SNMPv2 context, the MIB view for that SNMPv2 context shall include only those objects subordinate to partyMIBObjects, or a subset thereof, e.g., viewSubtree = { partyMIBObjects } viewMask = ''H viewType = { included } Any attempt to configure an entry in the partyTable, the contextTable, the aclTable or the viewTable such that a party using the desPrivProtocol would be authorized for use in accessing objects outside of the partyMIBObjects subtree shall result in the appropriate error response (e.g., wrongValue or inconsistentValue)." MODULE -- this module MANDATORY-GROUPS { partyMIBGroup } ::= { partyMIBCompliances 3 } fullPrivacyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the Party MIB, support an authentication protocol, and support a privacy protocol without restrictions on its use." MODULE -- this module MANDATORY-GROUPS { partyMIBGroup } ::= { partyMIBCompliances 4 } -- units of conformance partyMIBGroup OBJECT-GROUP OBJECTS { partyIndex, partyTDomain, partyTAddress, partyMaxMessageSize, partyLocal, partyAuthProtocol, partyAuthClock, partyAuthPrivate, partyAuthPublic, partyAuthLifetime, partyPrivProtocol, partyPrivPrivate, partyPrivPublic, partyStorageType, partyStatus, partyCloneFrom, contextIndex, contextLocal, contextViewIndex, contextLocalEntity, contextLocalTime, contextStorageType, contextStatus, aclTarget, aclSubject, aclPrivileges, aclStorageType, aclStatus, viewMask, viewType, viewStorageType, viewStatus } STATUS current DESCRIPTION "The collection of objects allowing the description and configuration of SNMPv2 parties. Note that objects which support proxy relationships are not included in this conformance group." ::= { partyMIBGroups 1 } END SNMPv2-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, ObjectName, Integer32, Counter32, snmpModules FROM SNMPv2-SMI TruthValue, DisplayString, TestAndIncr, TimeStamp FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF system, ifIndex, egpNeighAddr FROM RFC1213-MIB partyEntry FROM SNMPv2-PARTY-MIB; snmpMIB MODULE-IDENTITY LAST-UPDATED "9304010000Z" ORGANIZATION "IETF SNMPv2 Working Group" CONTACT-INFO " Marshall T. Rose Postal: Dover Beach Consulting, Inc. 420 Whisman Court Mountain View, CA 94043-2186 US Tel: +1 415 968 1052 Fax: +1 415 968 2510 E-mail: mrose@dbc.mtview.ca.us" DESCRIPTION "The MIB module for SNMPv2 entities." ::= { snmpModules 1 } snmpMIBObjects OBJECT IDENTIFIER ::= { snmpMIB 1 } -- the SNMPv2 statistics group -- -- a collection of objects providing basic instrumentation of -- the SNMPv2 entity. -- A Case diagram[4] relating these objects is: -- -- \v/ transport service -- | -- ==+== snmpStatsPackets -- | -- +==> snmpStats30Something -- | -- +==> snmpStatsEncodingErrors -- | -- +==> snmpStatsUnknownDstParties -- | -- +==> snmpStatsDstPartyMismatches -- | -- +==> snmpStatsUnknownSrcParties -- | -- +==> snmpStatsBadAuths -- | -- +==> snmpStatsNotInLifetimes -- | -- +==> snmpStatsWrongDigestValues -- | -- +==> snmpStatsUnknownContexts -- | -- +==> snmpStatsBadOperations -- | -- +==> snmpStatsSilentDrops -- | -- ===== sink snmpStats OBJECT IDENTIFIER ::= { snmpMIBObjects 1 } snmpStatsPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMPv2 entity from the transport service." REFERENCE "Derived from RFC1213-MIB.snmpInPkts." ::= { snmpStats 1 } snmpStats30Something OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets which had an initial octet with a value of 30 hexadecimal received by a SNMPv2 entity which does not support SNMPv1. (Such packets are possibly misdirected SNMPv1 Messages.)" REFERENCE "Derived from RFC1213-MIB.snmpInASNParseErrs." ::= { snmpStats 2 } snmpStatsEncodingErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of packets received by the SNMPv2 entity which were improperly encoded or had invalid syntax." REFERENCE "Derived from RFC1213-MIB.snmpInASNParseErrs." ::= { snmpStats 3 } snmpStatsUnknownDstParties OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpPrivMsgs delivered to the SNMPv2 entity for which the privDst field was not a known local party." ::= { snmpStats 4 } snmpStatsDstPartyMismatches OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpPrivMsgs delivered to the SNMPv2 entity which contained a SnmpAuthMsg for which the authData.dstParty field did not match the privDst field in the SnmpPrivMsg." ::= { snmpStats 5 } snmpStatsUnknownSrcParties OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpAuthMsgs delivered to the SNMPv2 entity for which the authData.srcParty field was not a known remote party." ::= { snmpStats 6 } snmpStatsBadAuths OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpAuthMsgs delivered to the SNMPv2 entity which contained an authInfo field which was inconsistent with the authentication protocol associated with the source party." ::= { snmpStats 7 } snmpStatsNotInLifetimes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpAuthMsgs delivered to the SNMPv2 entity which were deemed unauthentic due to their authInfo.authSrcTimestamp field being less than the source party's clock plus lifetime." ::= { snmpStats 8 } snmpStatsWrongDigestValues OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpAuthMsgs delivered to the SNMPv2 entity which were deemed unauthentic due to their authInfo.authDigest field being unequal to the expected digest value." ::= { snmpStats 9 } snmpStatsUnknownContexts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SnmpMgmtComs delivered to the SNMPv2 entity for which the context field was not a known SNMPv2 context." ::= { snmpStats 10 } snmpStatsBadOperations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages delivered to the SNMPv2 entity which were silently dropped because the PDU type referred to an operation not allowed in the aclTable[5]." ::= { snmpStats 11 } snmpStatsSilentDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of GetRequest-PDUs, GetNextRequest-PDUs, GetBulkRequest-PDUs, SetRequest-PDUs, and InformRequest-PDUs delivered to the SNMPv2 entity which were silently dropped because the size of an reply containing an alternate Response-PDU with an empty variable- bindings field was greater than either a local constraint or the maximum message size of the request's source party." ::= { snmpStats 12 } -- the SNMPv1 statistics group -- -- a collection of objects providing basic instrumentation of -- a SNMPv2 entity which also implements SNMPv1. -- A Case diagram[4] relating these objects -- (and those applicable objects in the snmpStats group) -- is: -- -- \v/ transport service -- | -- ==+== snmpStatsPackets -- | -- +==> snmpStatsEncodingErrors -- | -- +==> snmpV1BadCommunityNames -- | -- +==> snmpV1BadCommunityUses -- | -- ===== sink snmpV1 OBJECT IDENTIFIER ::= { snmpMIBObjects 2 } snmpV1BadCommunityNames OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SNMPv1 Messages delivered to the SNMPv2 entity which used a community name not known to the SNMPv2 entity." REFERENCE "Derived from RFC1213- MIB.snmpInBadCommunityNames." ::= { snmpV1 1 } snmpV1BadCommunityUses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of SNMPv1 Messages delivered to SNMPv2 entity containing an operation which was not allowed for the community named in the Message." REFERENCE "Derived from RFC1213-MIB.snmpInBadCommunityUses." ::= { snmpV1 2 } -- the object resource group -- -- a collection of objects allowing a SNMPv2 entity acting in -- an agent role to describe its dynamically-configurable -- object resources. snmpOR OBJECT IDENTIFIER ::= { snmpMIBObjects 3 } snmpORLastChange OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time of the most recent change in state or value of any instance of snmpORID." ::= { snmpOR 1 } snmpORTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpOREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the dynamically- configurable object resources in a SNMPv2 entity acting in an agent role. SNMPv2 entities which do not support dynamically-configurable object resources will never have any instances of the columnar objects in this table." ::= { snmpOR 2 } snmpOREntry OBJECT-TYPE SYNTAX SnmpOREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the snmpORTable." INDEX { snmpORIndex } ::= { snmpORTable 1 } SnmpOREntry ::= SEQUENCE { snmpORIndex Integer32, snmpORID OBJECT IDENTIFIER, snmpORDescr DisplayString } snmpORIndex OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The auxiliary variable used for identifying instances of the columnar objects in the snmpORTable." ::= { snmpOREntry 1 } snmpORID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "An authoritative identification of one of the dynamically-configurable object resources in a SNMPv2 entity acting in an agent role. This is analogous to the sysObjectID object in MIB-II." ::= { snmpOREntry 2 } snmpORDescr OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of one of the dynamically- configurable object resources in a SNMPv2 entity acting in an agent role. This is analogous to the sysDescr object in MIB-II." ::= { snmpOREntry 3 } -- the traps group -- -- a collection of objects which allow the SNMPv2 entity, when -- acting in an agent role, to be configured to generate -- SNMPv2-Trap-PDUs. snmpTrap OBJECT IDENTIFIER ::= { snmpMIBObjects 4 } snmpTrapOID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The authoritative identification of the trap currently being sent. This variable occurs as the second varbind of a SNMPv2-Trap-PDU." ::= { snmpTrap 1 } snmpTrapTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpTrapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table which keeps track of how many traps have been sent to each SNMPv2 entity." ::= { snmpTrap 2 } snmpTrapEntry OBJECT-TYPE SYNTAX SnmpTrapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry which keeps track of how many traps have been sent to a particular SNMPv2 entity." AUGMENTS { partyEntry } ::= { snmpTrapTable 1 } SnmpTrapEntry ::= SEQUENCE { snmpTrapNumbers Counter32 } snmpTrapNumbers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of traps which have been sent to a particular SNMPv2 party, since the last initialization of the SNMPv2 entity, or the creation of the SNMPv2 party, whichever occurred most recently." ::= { snmpTrapEntry 1 } snmpTrapEnterprise OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The authoritative identification of the enterprise associated with the trap currently being sent. When a SNMPv2 proxy agent is mapping an RFC1157 Trap-PDU into a SNMPv2-Trap-PDU, this variable occurs as the last varbind." ::= { snmpTrap 3 } snmpV2EnableAuthenTraps OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether the SNMPv2 entity, when acting in an agent role, is permitted to generate authenticationFailure traps. The value of this object overrides any configuration information; as such, it provides a means whereby all authenticationFailure traps may be disabled. Note that it is strongly recommended that this object be stored in non-volatile memory so that it remains constant between re-initializations of the network management system." REFERENCE "Derived from RFC1213-MIB.snmpEnableAuthenTraps." ::= { snmpTrap 4 } -- well-known traps snmpTraps OBJECT IDENTIFIER ::= { snmpMIBObjects 5 } coldStart NOTIFICATION-TYPE STATUS current DESCRIPTION "A coldStart trap signifies that the SNMPv2 entity, acting in an agent role, is reinitializing itself such that its configuration may be altered." ::= { snmpTraps 1 } warmStart NOTIFICATION-TYPE STATUS current DESCRIPTION "A warmStart trap signifies that the SNMPv2 entity, acting in an agent role, is reinitializing itself such that its configuration is unaltered." ::= { snmpTraps 2 } linkDown NOTIFICATION-TYPE OBJECTS { ifIndex } STATUS current DESCRIPTION "A linkDown trap signifies that the SNMPv2 entity, acting in an agent role, recognizes a failure in one of the communication links represented in its configuration." ::= { snmpTraps 3 } linkUp NOTIFICATION-TYPE OBJECTS { ifIndex } STATUS current DESCRIPTION "A linkUp trap signifies that the SNMPv2 entity, acting in an agent role, recognizes that one of the communication links represented in its configuration has come up." ::= { snmpTraps 4 } authenticationFailure NOTIFICATION-TYPE STATUS current DESCRIPTION "An authenticationFailure trap signifies that the SNMPv2 entity, acting in an agent role, has received a protocol message that is not properly authenticated. While all implementations of the SNMPv2 must be capable of generating this trap, the snmpV2EnableAuthenTraps object indicates whether this trap will be generated." ::= { snmpTraps 5 } egpNeighborLoss NOTIFICATION-TYPE OBJECTS { egpNeighAddr } STATUS current DESCRIPTION "An egpNeighborLoss trap signifies that an EGP neighbor has been marked down and the EGP peer relationship no longer obtains." ::= { snmpTraps 6 } -- the set group -- -- a collection of objects which allow several cooperating -- SNMPv2 entities, all acting in a manager role, to -- coordinate their use of the SNMPv2 set operation. snmpSet OBJECT IDENTIFIER ::= { snmpMIBObjects 6 } snmpSetSerialNo OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "An advisory lock used to allow several cooperating SNMPv2 entities, all acting in a manager role, to coordinate their use of the SNMPv2 set operation. This object is used for coarse-grain coordination. To achieve fine-grain coordination, one or more similar objects might be defined within each MIB group, as appropriate." ::= { snmpSet 1 } -- conformance information snmpMIBConformance OBJECT IDENTIFIER ::= { snmpMIB 2 } snmpMIBCompliances OBJECT IDENTIFIER ::= { snmpMIBConformance 1 } snmpMIBGroups OBJECT IDENTIFIER ::= { snmpMIBConformance 2 } -- compliance statements snmpMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the SNMPv2 MIB." MODULE RFC1213-MIB MANDATORY-GROUPS { system } MODULE -- this module MANDATORY-GROUPS { snmpStatsGroup, snmpORGroup, snmpTrapGroup, snmpSetGroup } GROUP snmpV1Group DESCRIPTION "The snmpV1 group is mandatory only for those SNMPv2 entities which also implement SNMPv1." ::= { snmpMIBCompliances 1 } -- units of conformance snmpStatsGroup OBJECT-GROUP OBJECTS { snmpStatsPackets, snmpStats30Something, snmpStatsEncodingErrors, snmpStatsUnknownDstParties, snmpStatsDstPartyMismatches, snmpStatsUnknownSrcParties, snmpStatsBadAuths, snmpStatsNotInLifetimes, snmpStatsWrongDigestValues, snmpStatsUnknownContexts, snmpStatsBadOperations, snmpStatsSilentDrops } STATUS current DESCRIPTION "A collection of objects providing basic instrumentation of the SNMPv2 entity." ::= { snmpMIBGroups 1 } snmpV1Group OBJECT-GROUP OBJECTS { snmpV1BadCommunityNames, snmpV1BadCommunityUses } STATUS current DESCRIPTION "A collection of objects providing basic instrumentation of a SNMPv2 entity which also implements SNMPv1." ::= { snmpMIBGroups 2 } snmpORGroup OBJECT-GROUP OBJECTS { snmpORLastChange, snmpORID, snmpORDescr } STATUS current DESCRIPTION "A collection of objects allowing a SNMPv2 entity acting in an agent role to describe its dynamically-configurable object resources." ::= { snmpMIBGroups 3 } snmpTrapGroup OBJECT-GROUP OBJECTS { snmpTrapNumbers, snmpV2EnableAuthenTraps } STATUS current DESCRIPTION "A collection of objects which allow the SNMPv2 entity, when acting in an agent role, to be configured to generate SNMPv2-Trap-PDUs." ::= { snmpMIBGroups 4 } snmpSetGroup OBJECT-GROUP OBJECTS { snmpSetSerialNo } STATUS current DESCRIPTION "A collection of objects which allow several cooperating SNMPv2 entities, all acting in a manager role, to coordinate their use of the SNMPv2 set operation." ::= { snmpMIBGroups 5 } END SNMPv2-M2M-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, Counter32, snmpModules FROM SNMPv2-SMI DisplayString, InstancePointer, RowStatus, TimeStamp FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF contextIdentity FROM SNMPv2-PARTY-MIB; snmpM2M MODULE-IDENTITY LAST-UPDATED "9304010000Z" ORGANIZATION "IETF SNMPv2 Working Group" CONTACT-INFO " Steven Waldbusser Postal: Carnegie Mellon University 4910 Forbes Ave Pittsburgh, PA 15213 Tel: +1 412 268 6628 Fax: +1 412 268 4987 E-mail: waldbusser@cmu.edu" DESCRIPTION "The Manager-to-Manager MIB module." ::= { snmpModules 2 } snmpM2MObjects OBJECT IDENTIFIER ::= { snmpM2M 1 } -- the alarm group -- -- a collection of objects allowing the description and -- configuration of threshold alarms from a SNMPv2 entity -- acting in a dual role. snmpAlarm OBJECT IDENTIFIER ::= { snmpM2MObjects 1 } -- This Alarm mechanism periodically takes statistical samples -- from variables available via SNMPv2 and compares them to -- thresholds that have been configured. The alarm table -- stores configuration entries that each define a variable, -- polling period, and threshold parameters. If a sample is -- found to cross the threshold values, an event is generated. -- Only variables that resolve to an ASN.1 primitive type of -- INTEGER (Integer32, Counter32, Gauge32, TimeTicks, -- Counter64, or UInteger32) may be monitored in this way. -- -- This function has a hysteresis mechanism to limit the -- generation of events. This mechanism generates one event -- as a threshold is crossed in the appropriate direction. No -- more events are generated for that threshold until the -- opposite threshold is crossed. -- -- In the case of sampling a deltaValue, an entity may -- implement this mechanism with more precision if it takes a -- delta sample twice per period, each time comparing the sum -- of the latest two samples to the threshold. This allows -- the detection of threshold crossings that span the sampling -- boundary. Note that this does not require any special -- configuration of the threshold value. It is suggested that -- entities implement this more precise algorithm. -- snmpAlarmNextIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The index number of the next appropriate unassigned entry in the snmpAlarmTable. The value 0 indicates that no unassigned entries are available. A management station should create new entries in the snmpAlarmTable using this algorithm: first, issue a management protocol retrieval operation to determine the value of snmpAlarmNextIndex; and, second, issue a management protocol set operation to create an instance of the snmpAlarmStatus object setting its value to `createAndGo' or `createAndWait' (as specified in the description of the RowStatus textual convention)." ::= { snmpAlarm 1 } snmpAlarmTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of snmpAlarm entries." ::= { snmpAlarm 2 } snmpAlarmEntry OBJECT-TYPE SYNTAX SnmpAlarmEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of parameters that set up a periodic sampling query to check for alarm conditions. The contextIdentity included in the INDEX clause is the context to which the sampling queries are directed." INDEX { contextIdentity, snmpAlarmIndex } ::= { snmpAlarmTable 1 } SnmpAlarmEntry ::= SEQUENCE { snmpAlarmIndex INTEGER, snmpAlarmVariable InstancePointer, snmpAlarmInterval Integer32, snmpAlarmSampleType INTEGER, snmpAlarmValue Integer32, snmpAlarmStartupAlarm INTEGER, snmpAlarmRisingThreshold Integer32, snmpAlarmFallingThreshold Integer32, snmpAlarmRisingEventIndex INTEGER, snmpAlarmFallingEventIndex INTEGER, snmpAlarmUnavailableEventIndex INTEGER, snmpAlarmStatus RowStatus } snmpAlarmIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the snmpAlarm table for a particular sampling context. Each such entry defines a diagnostic sample at a particular interval for a variable in the particular context's object resources." ::= { snmpAlarmEntry 1 } snmpAlarmVariable OBJECT-TYPE SYNTAX InstancePointer MAX-ACCESS read-create STATUS current DESCRIPTION "The object identifier of the particular variable to be sampled. Only variables that resolve to an ASN.1 primitive type of INTEGER (Integer32, Counter32, Gauge32, TimeTicks, Counter64, or UInteger32) may be sampled. If it is detected by an error response of authorizationError, noSuchObject, or noSuchInstance that the variable name of an established snmpAlarmEntry is no longer available in the sampling context, a single snmpObjectUnavailableAlarm event is generated and the status of this snmpAlarmEntry is set to `destroy'. Likewise, if the syntax of the variable retrieved by the query is not Integer32, Counter32, Gauge32, TimeTicks, Counter64, or UInteger32, the same actions will be taken. If the SNMPv2 entity acting in a dual role detects that the sampled value can not be obtained due to lack of response to management queries, it should either: 1) Set the status of this snmpAlarmEntry to `destroy', if it is determined that further communication is not possible; or, 2) Delete the associated snmpAlarmValue instance (but not the entire conceptual row), and continue to attempt to sample the variable and recreate the associated snmpAlarmValue instance should communication be reestablished. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 2 } snmpAlarmInterval OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The interval in seconds over which the data is sampled and compared with the rising and falling thresholds. When setting this object and the sampling type is `deltaValue', care should be taken to ensure that the change during this interval of the variable being sampled will not exceed the (-2^31...2^31-1) range of the snmpAlarmValue. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 3 } snmpAlarmSampleType OBJECT-TYPE SYNTAX INTEGER { absoluteValue(1), deltaValue(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "The method of sampling the selected variable and calculating the value to be compared against the thresholds. If the value of this object is `absoluteValue', the value of the selected variable at the end of the sampling interval will be compared directly with both the snmpAlarmRisingThreshold and the snmpAlarmFallingThreshold values. If the value of this object is `deltaValue', the value of the selected variable at the end of the sampling interval will be subtracted from its value at the end of the previous sampling interval, and the difference compared with both the snmpAlarmRisingThreshold and the snmpAlarmFallingThreshold values. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." DEFVAL { deltaValue } ::= { snmpAlarmEntry 4 } snmpAlarmValue OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The value of the statistic during the last sampling period. The value during the current sampling period is not made available until the period is completed. If the value of the statistic does not fit in the signed 32 bit representation of this object, it should be truncated in an implementation specific manner. Note that if the associated snmpAlarmSampleType is set to `deltaValue', the value of this object is the difference in the sampled variable since the last sample. This object will be created by the SNMPv2 entity acting in a dual role when this entry is set to `active', and the first sampling period has completed. It may be created and deleted at other times by the SNMPv2 entity acting in a dual role when the sampled value can not be obtained, as specified in the snmpAlarmVariable object." ::= { snmpAlarmEntry 5 } snmpAlarmStartupAlarm OBJECT-TYPE SYNTAX INTEGER { risingAlarm(1), fallingAlarm(2), risingOrFallingAlarm(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "The alarm that may be sent when this entry is first set to `active'. If the first sample after this entry becomes active is greater than or equal to the risingThreshold and snmpAlarmStartupAlarm is equal to `risingAlarm' or `risingOrFallingAlarm', then a single rising alarm will be generated. If the first sample after this entry becomes active is less than or equal to the fallingThreshold and snmpAlarmStartupAlarm is equal to `fallingAlarm' or `risingOrFallingAlarm', then a single falling alarm will be generated. Note that a snmpObjectUnavailableAlarm is sent upon startup whenever it is applicable, independent of the setting of snmpAlarmStartupAlarm. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." DEFVAL { risingOrFallingAlarm } ::= { snmpAlarmEntry 6 } snmpAlarmRisingThreshold OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "A threshold for the sampled statistic. When the current sampled value is greater than or equal to this threshold, and the value at the last sampling interval was less than this threshold, a single event will be generated. A single event will also be generated if the first sample after this entry becomes active is greater than or equal to this threshold and the associated snmpAlarmStartupAlarm is equal to `risingAlarm' or `risingOrFallingAlarm'. After a rising event is generated, another such event will not be generated until the sampled value falls below this threshold and reaches the snmpAlarmFallingThreshold. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 7 } snmpAlarmFallingThreshold OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "A threshold for the sampled statistic. When the current sampled value is less than or equal to this threshold, and the value at the last sampling interval was greater than this threshold, a single event will be generated. A single event will also be generated if the first sample after this entry becomes active is less than or equal to this threshold and the associated snmpAlarmStartupAlarm is equal to `fallingAlarm' or `risingOrFallingAlarm'. After a falling event is generated, another such event will not be generated until the sampled value rises above this threshold and reaches the snmpAlarmRisingThreshold. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 8 } snmpAlarmRisingEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The index of the snmpEventEntry that is used when a rising threshold is crossed. The snmpEventEntry identified by a particular value of this index is the same as identified by the same value of the snmpEventIndex object. If there is no corresponding entry in the snmpEventTable, then no association exists. In particular, if this value is zero, no associated event will be generated, as zero is not a valid snmpEventIndex. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 9 } snmpAlarmFallingEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The index of the snmpEventEntry that is used when a falling threshold is crossed. The snmpEventEntry identified by a particular value of this index is the same as identified by the same value of the snmpEventIndex object. If there is no corresponding entry in the snmpEventTable, then no association exists. In particular, if this value is zero, no associated event will be generated, as zero is not a valid snmpEventIndex. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 10 } snmpAlarmUnavailableEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "The index of the snmpEventEntry that is used when a variable becomes unavailable. The snmpEventEntry identified by a particular value of this index is the same as identified by the same value of the snmpEventIndex object. If there is no corresponding entry in the snmpEventTable, then no association exists. In particular, if this value is zero, no associated event will be generated, as zero is not a valid snmpEventIndex. An attempt to modify this object will fail with an `inconsistentValue' error if the associated snmpAlarmStatus object would be equal to `active' both before and after the modification attempt." ::= { snmpAlarmEntry 11 } snmpAlarmStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this snmpAlarm entry. This object may not be set to `active' unless the following columnar objects exist in this row: snmpAlarmVariable, snmpAlarmInterval, snmpAlarmSampleType, snmpAlarmStartupAlarm, snmpAlarmRisingThreshold, snmpAlarmFallingThreshold, snmpAlarmRisingEventIndex, snmpAlarmFallingEventIndex, and snmpAlarmUnavailableEventIndex." ::= { snmpAlarmEntry 12 } -- alarm-related notifications snmpAlarmNotifications OBJECT IDENTIFIER ::= { snmpAlarm 3 } snmpRisingAlarm NOTIFICATION-TYPE OBJECTS { snmpAlarmVariable, snmpAlarmSampleType, snmpAlarmValue, snmpAlarmRisingThreshold } STATUS current DESCRIPTION "An event that is generated when an alarm entry crosses its rising threshold. The instances of those objects contained within the varbind list are those of the alarm entry which generated this event." ::= { snmpAlarmNotifications 1 } snmpFallingAlarm NOTIFICATION-TYPE OBJECTS { snmpAlarmVariable, snmpAlarmSampleType, snmpAlarmValue, snmpAlarmFallingThreshold } STATUS current DESCRIPTION "An event that is generated when an alarm entry crosses its falling threshold. The instances of those objects contained within the varbind list are those of the alarm entry which generated this event." ::= { snmpAlarmNotifications 2 } snmpObjectUnavailableAlarm NOTIFICATION-TYPE OBJECTS { snmpAlarmVariable } STATUS current DESCRIPTION "An event that is generated when a variable monitored by an alarm entry becomes unavailable. The instance of snmpAlarmVariable contained within the varbind list is the one associated with the alarm entry which generated this event." ::= { snmpAlarmNotifications 3 } -- the event group -- -- a collection of objects allowing the description and -- configuration of events from a SNMPv2 entity acting -- in a dual role. snmpEvent OBJECT IDENTIFIER ::= { snmpM2MObjects 2 } -- The snmpEvent table defines the set of events generated on -- a SNMPv2 entity acting in a dual role. Each entry in the -- snmpEventTable associates an event type with the -- notification method and associated parameters. Some -- snmpEvent entries are fired by an associated condition in -- the snmpAlarmTable. Others are fired on behalf of -- conditions defined in the NOTIFICATION-TYPE macro. The -- snmpNotificationTable defines notifications that should -- occur when an associated event is fired. snmpEventNextIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The index number of the next appropriate unassigned entry in the snmpEventTable. The value 0 indicates that no unassigned entries are available. A management station should create new entries in the snmpEventTable using this algorithm: first, issue a management protocol retrieval operation to determine the value of snmpEventNextIndex; and, second, issue a management protocol set operation to create an instance of the snmpEventStatus object setting its value to `createAndWait' or 'createAndGo'." ::= { snmpEvent 1 } snmpEventTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpEventEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of events." ::= { snmpEvent 2 } snmpEventEntry OBJECT-TYPE SYNTAX SnmpEventEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of parameters that describe an event that is generated when certain conditions are met." INDEX { snmpEventIndex } ::= { snmpEventTable 1 } SnmpEventEntry ::= SEQUENCE { snmpEventIndex INTEGER, snmpEventID OBJECT IDENTIFIER, snmpEventDescription DisplayString, snmpEventEvents Counter32, snmpEventLastTimeSent TimeStamp, snmpEventStatus RowStatus } snmpEventIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that uniquely identifies an entry in the snmpEvent table. Each such entry defines an event generated when the appropriate conditions occur." ::= { snmpEventEntry 1 } snmpEventID OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-create STATUS current DESCRIPTION "The authoritative identification of the event type generated by this entry. This variable occurs as the second varbind of an InformRequest- PDU. If this OBJECT IDENTIFIER maps to a NOTIFICATION-TYPE the sender will place the objects listed in the NOTIFICATION-TYPE in the varbind list." ::= { snmpEventEntry 2 } snmpEventDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) MAX-ACCESS read-create STATUS current DESCRIPTION "A comment describing this snmpEvent entry." ::= { snmpEventEntry 3 } snmpEventEvents OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of events caused by event generators associated with this snmpEvent entry." ::= { snmpEventEntry 4 } snmpEventLastTimeSent OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time this snmpEvent entry last generated an event. If this entry has not generated any events, this value will be zero." DEFVAL { 0 } ::= { snmpEventEntry 5 } snmpEventStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this snmpEvent entry. This object may not be set to `active' unless the following columnar objects exist in this row: snmpEventID, snmpEventDescription, snmpEventEvents, and snmpEventLastTimeSent. Setting an instance of this object to the value 'destroy' has the effect of invalidating any/all entries in the snmpEventTable, and the snmpEventNotifyTable which reference the corresponding snmpEventEntry." ::= { snmpEventEntry 6 } snmpEventNotifyMinInterval OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum interval that the SNMPv2 entity acting in a dual role will wait before retransmitting an InformRequest-PDU. This object specifies the minimal value supported by the SNMPv2 entity acting in a dual role, based on resource or implementation constraints. For a particular entry in the snmpEventNotifyTable, if the associated snmpEventNotifyIntervalRequested variable is greater than this object, the snmpEventNotifyIntervalRequested value shall be used as the minimum interval for retransmissions of InformRequest-PDUs sent on behalf of that entry." ::= { snmpEvent 3 } snmpEventNotifyMaxRetransmissions OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The maximum number of time that the SNMPv2 entity acting in a dual role will retransmit an InformRequest-PDU. This object specifies the maximal value supported by the SNMPv2 entity acting in a dual role, based on resource or implementation constraints. For a particular entry in the snmpEventNotifyTable, if the associated snmpEventNotifyRetransmissionsRequested variable is less than this object, the snmpEventNotifyRetransmissionsRequested value shall be used as the retransmission count for InformRequest-PDUs sent on behalf of that entry." ::= { snmpEvent 4 } -- The snmpEventNotifyTable is used to configure the -- destination and type of notifications sent by a SNMPv2 -- entity acting in a manager role when a particular event -- is triggered. snmpEventNotifyTable OBJECT-TYPE SYNTAX SEQUENCE OF SnmpEventNotifyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A list of protocol configuration entries for event notifications from this entity." ::= { snmpEvent 5 } snmpEventNotifyEntry OBJECT-TYPE SYNTAX SnmpEventNotifyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A set of parameters that describe the type and destination of InformRequest-PDUs sent for a particular event. The snmpEventIndex in this entry's INDEX clause identifies the snmpEventEntry which, when triggered, will generate a notification as configured in this entry. The contextIdentity in this entry's INDEX clause identifies the context to which a notification will be sent." INDEX { snmpEventIndex, contextIdentity } ::= { snmpEventNotifyTable 1 } SnmpEventNotifyEntry ::= SEQUENCE { snmpEventNotifyIntervalRequested Integer32, snmpEventNotifyRetransmissionsRequested Integer32, snmpEventNotifyLifetime Integer32, snmpEventNotifyStatus RowStatus } snmpEventNotifyIntervalRequested OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The requested interval for retransmission of Inform PDUs generated on the behalf of this entry. This variable will be the actual interval used unless the snmpEventNotifyMinInterval is greater than this object, in which case the interval shall be equal to snmpEventNotifyMinInterval." DEFVAL { 30 } ::= { snmpEventNotifyEntry 1 } snmpEventNotifyRetransmissionsRequested OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-create STATUS current DESCRIPTION "The requested number of retransmissions of an InformRequest-PDU generated on behalf of this entry. This variable will be the actual number of retransmissions used unless the snmpEventNotifyMaxRetransmissions is less than this object, in which case the retransmission count shall be equal to snmpEventNotifyMaxRetransmissions." DEFVAL { 5 } ::= { snmpEventNotifyEntry 2 } snmpEventNotifyLifetime OBJECT-TYPE SYNTAX Integer32 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of seconds this entry shall live until the corresponding instance of snmpEventNotifyStatus is set to 'destroy'. This value shall count down to zero, at which time the corresponding instance of snmpEventNotifyStatus will be set to 'destroy'. Any management station that is using this entry must periodically refresh this value to ensure the continued delivery of events." DEFVAL { 86400 } ::= { snmpEventNotifyEntry 3 } snmpEventNotifyStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The state of this snmpEventNotifyEntry. This object may not be set to `active' unless the following columnar objects exist in this row: snmpEventNotifyIntervalRequested, snmpEventNotifyRetransmissionsRequested, and snmpEventNotifyLifetime." ::= { snmpEventNotifyEntry 4 } -- conformance information snmpM2MConformance OBJECT IDENTIFIER ::= { snmpM2M 2 } snmpM2MCompliances OBJECT IDENTIFIER ::= { snmpM2MConformance 1 } snmpM2MGroups OBJECT IDENTIFIER ::= { snmpM2MConformance 2 } -- compliance statements snmpM2MCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for SNMPv2 entities which implement the Manager-to-Manager MIB." MODULE -- this module MANDATORY-GROUPS { snmpAlarmGroup, snmpEventGroup } ::= { snmpM2MCompliances 1 } -- units of conformance snmpAlarmGroup OBJECT-GROUP OBJECTS { snmpAlarmNextIndex, snmpAlarmVariable, snmpAlarmInterval, snmpAlarmSampleType, snmpAlarmValue, snmpAlarmStartupAlarm, snmpAlarmRisingThreshold, snmpAlarmFallingThreshold, snmpAlarmRisingEventIndex, snmpAlarmFallingEventIndex, snmpAlarmUnavailableEventIndex, snmpAlarmStatus } STATUS current DESCRIPTION "A collection of objects allowing the description and configuration of threshold alarms from a SNMPv2 entity acting in a dual role." ::= { snmpM2MGroups 1 } snmpEventGroup OBJECT-GROUP OBJECTS { snmpEventNextIndex, snmpEventID, snmpEventDescription, snmpEventEvents, snmpEventLastTimeSent, snmpEventStatus, snmpEventNotifyMinInterval, snmpEventNotifyMaxRetransmissions, snmpEventNotifyIntervalRequested, snmpEventNotifyRetransmissionsRequested, snmpEventNotifyLifetime, snmpEventNotifyStatus } STATUS current DESCRIPTION "A collection of objects allowing the description and configuration of events from a SNMPv2 entity acting in a dual role." ::= { snmpM2MGroups 2 } END SNMPv2-TM DEFINITIONS ::= BEGIN IMPORTS snmpDomains, snmpProxys FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; -- SNMPv2 over UDP snmpUDPDomain OBJECT IDENTIFIER ::= { snmpDomains 1 } -- for a SnmpUDPAddress of length 6: -- -- octets contents encoding -- 1-4 IP-address network-byte order -- 5-6 UDP-port network-byte order -- SnmpUDPAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT "1d.1d.1d.1d/2d" STATUS current DESCRIPTION "Represents a UDP address." SYNTAX OCTET STRING (SIZE (6)) -- SNMPv2 over OSI snmpCLNSDomain OBJECT IDENTIFIER ::= { snmpDomains 2 } snmpCONSDomain OBJECT IDENTIFIER ::= { snmpDomains 3 } -- for a SnmpOSIAddress of length m: -- -- octets contents encoding -- 1 length of NSAP "n" as an unsigned-integer -- (either 0 or from 3 to 20) -- 2..(n+1) NSAP concrete binary representation -- (n+2)..m TSEL string of (up to 64) octets -- SnmpOSIAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT "*1x:/1x:" STATUS current DESCRIPTION "Represents an OSI transport-address." SYNTAX OCTET STRING (SIZE (1 | 4..85)) -- SNMPv2 over DDP snmpDDPDomain OBJECT IDENTIFIER ::= { snmpDomains 4 } -- for a SnmpNBPAddress of length m: -- -- octets contents encoding -- 1 length of object "n" as an unsigned integer -- 2..(n+1) object string of (up to 32) octets -- n+2 length of type "p" as an unsigned integer -- (n+3)..(n+2+p) type string of (up to 32) octets -- n+3+p length of zone "q" as an unsigned integer -- (n+4+p)..m zone string of (up to 32) octets -- -- for comparison purposes, strings are case-insensitive -- -- all strings may contain any octet other than 255 (hex ff) -- SnmpNBPAddress ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Represents an NBP name." SYNTAX OCTET STRING (SIZE (3..99)) -- SNMPv2 over IPX snmpIPXDomain OBJECT IDENTIFIER ::= { snmpDomains 5 } -- for a SnmpIPXAddress of length 12: -- -- octets contents encoding -- 1-4 network-number network-byte order -- 5-10 physical-address network-byte order -- 11-12 socket-number network-byte order -- SnmpIPXAddress ::= TEXTUAL-CONVENTION DISPLAY-HINT "4x.1x:1x:1x:1x:1x:1x.2d" STATUS current DESCRIPTION "Represents an IPX address." SYNTAX OCTET STRING (SIZE (12)) -- for proxy to community-based SNMPv1 (RFC 1157) rfc1157Proxy OBJECT IDENTIFIER ::= { snmpProxys 1 } -- uses SnmpUDPAddress rfc1157Domain OBJECT IDENTIFIER ::= { rfc1157Proxy 1 } -- the community-based noAuth rfc1157noAuth OBJECT IDENTIFIER ::= { rfc1157Proxy 2 } END RFC1271-MIB DEFINITIONS ::= BEGIN IMPORTS Counter FROM RFC1155-SMI DisplayString FROM RFC1158-MIB mib-2 FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212; -- This MIB module uses the extended OBJECT-TYPE macro as -- defined in [9]. -- Remote Network Monitoring MIB rmon OBJECT IDENTIFIER ::= { mib-2 16 } -- textual conventions OwnerString ::= OCTET STRING -- This data type is used to model an administratively -- assigned name of the owner of a resource. This -- information is taken from the NVT ASCII character set. -- It is suggested that this name contain one or more -- of the following: -- IP address, management station name, network manager's -- name, location, or phone number. -- In some cases the agent itself will be the owner of -- an entry. In these cases, this string shall be set -- to a string starting with 'monitor'. -- -- SNMP access control is articulated entirely in terms of -- the contents of MIB views; access to a particular SNMP -- object instance depends only upon its presence or -- absence in a particular MIB view and never upon its -- value or the value of related object instances. Thus, -- objects of this type afford resolution of resource -- contention only among cooperating managers; they -- realize no access control function with respect -- to uncooperative parties. -- -- By convention, objects with this syntax are declared -- as having -- -- SIZE (0..127) EntryStatus ::= INTEGER { valid(1), createRequest(2), underCreation(3), invalid(4) } -- The status of a table entry. -- -- Setting this object to the value invalid(4) has the -- effect of invalidating the corresponding entry. -- That is, it effectively disassociates the mapping -- identified with said entry. -- It is an implementation-specific matter as to whether -- the agent removes an invalidated entry from the table. -- Accordingly, management stations must be prepared to -- receive tabular information from agents that corresponds -- to entries currently not in use. Proper -- interpretation of such entries requires examination -- of the relevant EntryStatus object. -- -- An existing instance of this object cannot be set to -- createRequest(2). This object may only be set to -- createRequest(2) when this instance is created. When -- this object is created, the agent may wish to create -- supplemental object instances to complete a conceptual -- row in this table. Immediately after completing the -- create operation, the agent must set this object to -- underCreation(3). -- -- Entries shall exist in the underCreation(3) state until -- the management station is finished configuring the -- entry and sets this object to valid(1) or aborts, -- setting this object to invalid(4). If the agent -- determines that an entry has been in the -- underCreation(3) state for an abnormally long time, -- it may decide that the management station has -- crashed. If the agent makes this decision, -- it may set this object to invalid(4) to reclaim the -- entry. A prudent agent will understand that the -- management station may need to wait for human input -- and will allow for that possibility in its -- determination of this abnormally long period. statistics OBJECT IDENTIFIER ::= { rmon 1 } history OBJECT IDENTIFIER ::= { rmon 2 } alarm OBJECT IDENTIFIER ::= { rmon 3 } hosts OBJECT IDENTIFIER ::= { rmon 4 } hostTopN OBJECT IDENTIFIER ::= { rmon 5 } matrix OBJECT IDENTIFIER ::= { rmon 6 } filter OBJECT IDENTIFIER ::= { rmon 7 } capture OBJECT IDENTIFIER ::= { rmon 8 } event OBJECT IDENTIFIER ::= { rmon 9 } -- The Statistics Group -- -- Implementation of the Statistics group is optional. -- -- The statistics group contains statistics measured by the -- probe for each monitored interface on this device. These -- statistics take the form of free running counters that -- start from zero when a valid entry is created. -- -- This group currently has statistics defined only for -- Ethernet interfaces. Each etherStatsEntry contains -- statistics for one Ethernet interface. The probe must -- create one etherStats entry for each monitored Ethernet -- interface on the device. etherStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF EtherStatsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of Ethernet statistics entries." ::= { statistics 1 } etherStatsEntry OBJECT-TYPE SYNTAX EtherStatsEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A collection of statistics kept for a particular Ethernet interface." INDEX { etherStatsIndex } ::= { etherStatsTable 1 } EtherStatsEntry ::= SEQUENCE { etherStatsIndex INTEGER (1..65535), etherStatsDataSource OBJECT IDENTIFIER, etherStatsDropEvents Counter, etherStatsOctets Counter, etherStatsPkts Counter, etherStatsBroadcastPkts Counter, etherStatsMulticastPkts Counter, etherStatsCRCAlignErrors Counter, etherStatsUndersizePkts Counter, etherStatsOversizePkts Counter, etherStatsFragments Counter, etherStatsJabbers Counter, etherStatsCollisions Counter, etherStatsPkts64Octets Counter, etherStatsPkts65to127Octets Counter, etherStatsPkts128to255Octets Counter, etherStatsPkts256to511Octets Counter, etherStatsPkts512to1023Octets Counter, etherStatsPkts1024to1518Octets Counter, etherStatsOwner OwnerString, etherStatsStatus INTEGER } etherStatsIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The value of this object uniquely identifies this etherStats entry." ::= { etherStatsEntry 1 } etherStatsDataSource OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "This object identifies the source of the data that this etherStats entry is configured to analyze. This source can be any ethernet interface on this device. In order to identify a particular interface, this object shall identify the instance of the ifIndex object, defined in [4,6], for the desired interface. For example, if an entry were to receive data from interface #1, this object would be set to ifIndex.1. The statistics in this group reflect all packets on the local network segment attached to the identified interface. This object may not be modified if the associated etherStatsStatus object is equal to valid(1)." ::= { etherStatsEntry 2 } etherStatsDropEvents OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of events in which packets were dropped by the probe due to lack of resources. Note that this number is not necessarily the number of packets dropped; it is just the number of times this condition has been detected." ::= { etherStatsEntry 3 } etherStatsOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of octets of data (including those in bad packets) received on the network (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 4 } etherStatsPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received." ::= { etherStatsEntry 5 } etherStatsBroadcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of good packets received that were directed to the broadcast address." ::= { etherStatsEntry 6 } etherStatsMulticastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of good packets received that were directed to a multicast address. Note that this number does not include packets directed to the broadcast address." ::= { etherStatsEntry 7 } etherStatsCRCAlignErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received that had a length (excluding framing bits, but including FCS octets) of between 64 and 1518 octets, inclusive, but were not an integral number of octets in length or had a bad Frame Check Sequence (FCS)." ::= { etherStatsEntry 8 } etherStatsUndersizePkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received that were less than 64 octets long (excluding framing bits, but including FCS octets) and were otherwise well formed." ::= { etherStatsEntry 9 } etherStatsOversizePkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received that were longer than 1518 octets (excluding framing bits, but including FCS octets) and were otherwise well formed." ::= { etherStatsEntry 10 } etherStatsFragments OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received that were not an integral number of octets in length or that had a bad Frame Check Sequence (FCS), and were less than 64 octets in length (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 11 } etherStatsJabbers OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received that were longer than 1518 octets (excluding framing bits, but including FCS octets), and were not an integral number of octets in length or had a bad Frame Check Sequence (FCS)." ::= { etherStatsEntry 12 } etherStatsCollisions OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The best estimate of the total number of collisions on this Ethernet segment." ::= { etherStatsEntry 13 } etherStatsPkts64Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were 64 octets in length (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 14 } etherStatsPkts65to127Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were between 65 and 127 octets in length inclusive (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 15 } etherStatsPkts128to255Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were between 128 and 255 octets in length inclusive (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 16 } etherStatsPkts256to511Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were between 256 and 511 octets in length inclusive (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 17 } etherStatsPkts512to1023Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were between 512 and 1023 octets in length inclusive (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 18 } etherStatsPkts1024to1518Octets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets (including error packets) received that were between 1024 and 1518 octets in length inclusive (excluding framing bits but including FCS octets)." ::= { etherStatsEntry 19 } etherStatsOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { etherStatsEntry 20 } etherStatsStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this etherStats entry." ::= { etherStatsEntry 21 } -- The History Group -- Implementation of the History group is optional. -- -- The history group records periodic statistical samples from -- a network and stores them for later retrieval. The -- historyControl table stores configuration entries that each -- define an interface, polling period, and other parameters. -- Once samples are taken, their data is stored in an entry -- in a media-specific table. Each such entry defines one -- sample, and is associated with the historyControlEntry that -- caused the sample to be taken. Currently the only media- -- specific table defined is the etherHistoryTable, for -- Ethernet networks. -- -- If the probe keeps track of the time of day, it should -- start the first sample of the history at a time such that -- when the next hour of the day begins, a sample is -- started at that instant. This tends to make more -- user-friendly reports, and enables comparison of reports -- from different probes that have relatively accurate time -- of day. -- -- The monitor is encouraged to add two history control entries -- per monitored interface upon initialization that describe -- a short term and a long term polling period. Suggested -- parameters are 30 seconds for the short term polling -- period and 30 minutes for the long term period. historyControlTable OBJECT-TYPE SYNTAX SEQUENCE OF HistoryControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of history control entries." ::= { history 1 } historyControlEntry OBJECT-TYPE SYNTAX HistoryControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of parameters that set up a periodic sampling of statistics." INDEX { historyControlIndex } ::= { historyControlTable 1 } HistoryControlEntry ::= SEQUENCE { historyControlIndex INTEGER (1..65535), historyControlDataSource OBJECT IDENTIFIER, historyControlBucketsRequested INTEGER (1..65535), historyControlBucketsGranted INTEGER (1..65535), historyControlInterval INTEGER (1..3600), historyControlOwner OwnerString, historyControlStatus INTEGER } historyControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the historyControl table. Each such entry defines a set of samples at a particular interval for an interface on the device." ::= { historyControlEntry 1 } historyControlDataSource OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "This object identifies the source of the data for which historical data was collected and placed in a media-specific table on behalf of this historyControlEntry. This source can be any interface on this device. In order to identify a particular interface, this object shall identify the instance of the ifIndex object, defined in [4,6], for the desired interface. For example, if an entry were to receive data from interface #1, this object would be set to ifIndex.1. The statistics in this group reflect all packets on the local network segment attached to the identified interface. This object may not be modified if the associated historyControlStatus object is equal to valid(1)." ::= { historyControlEntry 2 } historyControlBucketsRequested OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The requested number of discrete time intervals over which data is to be saved in the part of the media-specific table associated with this historyControl entry. When this object is created or modified, the probe should set historyControlBucketsGranted as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 50 } ::= { historyControlEntry 3 } historyControlBucketsGranted OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The number of discrete sampling intervals over which data shall be saved in the part of the media-specific table associated with this historyControl entry. When the associated historyControlBucketsRequested object is created or modified, the probe should set this object as closely to the requested value as is possible for the particular probe implementation and available resources. The probe must not lower this value except as a result of a modification to the associated historyControlBucketsRequested object. There will be times when the actual number of buckets associated with this entry is less than the value of this object. In this case, at the end of each sampling interval, a new bucket will be added to the media-specific table. When the number of buckets reaches the value of this object and a new bucket is to be added to the media-specific table, the oldest bucket associated with this historyControlEntry shall be deleted by the agent so that the new bucket can be added. When the value of this object changes to a value less than the current value, entries are deleted from the media-specific table associated with this historyControlEntry. Enough of the oldest of these entries shall be deleted by the agent so that their number remains less than or equal to the new value of this object. When the value of this object changes to a value greater than the current value, the number of associated media-specific entries may be allowed to grow." ::= { historyControlEntry 4 } historyControlInterval OBJECT-TYPE SYNTAX INTEGER (1..3600) ACCESS read-write STATUS mandatory DESCRIPTION "The interval in seconds over which the data is sampled for each bucket in the part of the media-specific table associated with this historyControl entry. This interval can be set to any number of seconds between 1 and 3600 (1 hour). Because the counters in a bucket may overflow at their maximum value with no indication, a prudent manager will take into account the possibility of overflow in any of the associated counters. It is important to consider the minimum time in which any counter could overflow on a particular media type and set the historyControlInterval object to a value less than this interval. This is typically most important for the 'octets' counter in any media-specific table. For example, on an Ethernet network, the etherHistoryOctets counter could overflow in about one hour at the Ethernet's maximum utilization. This object may not be modified if the associated historyControlStatus object is equal to valid(1)." DEFVAL { 1800 } ::= { historyControlEntry 5 } historyControlOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { historyControlEntry 6 } historyControlStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this historyControl entry. Each instance of the media-specific table associated with this historyControlEntry will be deleted by the agent if this historyControlEntry is not equal to valid(1)." ::= { historyControlEntry 7 } -- Ether History table etherHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF EtherHistoryEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of Ethernet history entries." ::= { history 2 } etherHistoryEntry OBJECT-TYPE SYNTAX EtherHistoryEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "An historical sample of Ethernet statistics on a particular Ethernet interface. This sample is associated with the historyControlEntry which set up the parameters for a regular collection of these samples." INDEX { etherHistoryIndex , etherHistorySampleIndex } ::= { etherHistoryTable 1 } EtherHistoryEntry ::= SEQUENCE { etherHistoryIndex INTEGER (1..65535), etherHistorySampleIndex INTEGER, etherHistoryIntervalStart TimeTicks, etherHistoryDropEvents Counter, etherHistoryOctets Counter, etherHistoryPkts Counter, etherHistoryBroadcastPkts Counter, etherHistoryMulticastPkts Counter, etherHistoryCRCAlignErrors Counter, etherHistoryUndersizePkts Counter, etherHistoryOversizePkts Counter, etherHistoryFragments Counter, etherHistoryJabbers Counter, etherHistoryCollisions Counter, etherHistoryUtilization INTEGER (0..10000) } etherHistoryIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The history of which this entry is a part. The history identified by a particular value of this index is the same history as identified by the same value of historyControlIndex." ::= { etherHistoryEntry 1 } etherHistorySampleIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies the particular sample this entry represents among all samples associated with the same historyControlEntry. This index starts at 1 and increases by one as each new sample is taken." ::= { etherHistoryEntry 2 } etherHistoryIntervalStart OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime at the start of the interval over which this sample was measured. If the probe keeps track of the time of day, it should start the first sample of the history at a time such that when the next hour of the day begins, a sample is started at that instant. Note that following this rule may require the probe to delay collecting the first sample of the history, as each sample must be of the same interval. Also note that the sample which is currently being collected is not accessible in this table until the end of its interval." ::= { etherHistoryEntry 3 } etherHistoryDropEvents OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of events in which packets were dropped by the probe due to lack of resources during this interval. Note that this number is not necessarily the number of packets dropped, it is just the number of times this condition has been detected." ::= { etherHistoryEntry 4 } etherHistoryOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of octets of data (including those in bad packets) received on the network (excluding framing bits but including FCS octets)." ::= { etherHistoryEntry 5 } etherHistoryPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets (including error packets) received during this sampling interval." ::= { etherHistoryEntry 6 } etherHistoryBroadcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets received during this sampling interval that were directed to the broadcast address." ::= { etherHistoryEntry 7 } etherHistoryMulticastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets received during this sampling interval that were directed to a multicast address. Note that this number does not include packets addressed to the broadcast address." ::= { etherHistoryEntry 8 } etherHistoryCRCAlignErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received during this sampling interval that had a length (excluding framing bits but including FCS octets) between 64 and 1518 octets, inclusive, but were not an integral number of octets in length or had a bad Frame Check Sequence (FCS)." ::= { etherHistoryEntry 9 } etherHistoryUndersizePkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received during this interval that were less than 64 octets long (excluding framing bits but including FCS octets) and were otherwise well formed." ::= { etherHistoryEntry 10 } etherHistoryOversizePkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received during this interval that were longer than 1518 octets (excluding framing bits but including FCS octets) but were otherwise well formed." ::= { etherHistoryEntry 11 } etherHistoryFragments OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The total number of packets received during this sampling interval that were not an integral number of octets in length or that had a bad Frame Check Sequence (FCS), and were less than 64 octets in length (excluding framing bits but including FCS octets)." ::= { etherHistoryEntry 12 } etherHistoryJabbers OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets received during this interval that were longer than 1518 octets (excluding framing bits but including FCS octets), and were not an integral number of octets in length or had a bad Frame Check Sequence (FCS)." ::= { etherHistoryEntry 13 } etherHistoryCollisions OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The best estimate of the total number of collisions on this Ethernet segment during this interval." ::= { etherHistoryEntry 14 } etherHistoryUtilization OBJECT-TYPE SYNTAX INTEGER (0..10000) ACCESS read-only STATUS mandatory DESCRIPTION "The best estimate of the mean physical layer network utilization on this interface during this interval, in hundredths of a percent." ::= { etherHistoryEntry 15 } -- The Alarm Group -- Implementation of the Alarm group is optional. -- -- The Alarm Group requires the implementation of the Event -- group. -- -- The Alarm group periodically takes statistical samples from -- variables in the probe and compares them to thresholds -- that have been configured. The alarm table stores -- configuration entries that each define a variable, -- polling period, and threshold parameters. If a sample is -- found to cross the threshold values, an event is -- generated. Only variables that resolve to an ASN.1 -- primitive type of INTEGER (INTEGER, Counter, -- Gauge, or TimeTicks) may be monitored in this way. -- -- This function has a hysteresis mechanism to limit the -- generation of events. This mechanism generates one event -- as a threshold is crossed in the appropriate direction. -- No more events are generated for that threshold until the -- opposite threshold is crossed. -- -- In the case of a sampling a deltaValue, a probe may -- implement this mechanism with more precision if it takes -- a delta sample twice per period, each time comparing the -- sum of the latest two samples to the threshold. This -- allows the detection of threshold crossings -- that span the sampling boundary. Note that this does not -- require any special configuration of the threshold value. -- It is suggested that probes implement this more precise -- algorithm. alarmTable OBJECT-TYPE SYNTAX SEQUENCE OF AlarmEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of alarm entries." ::= { alarm 1 } alarmEntry OBJECT-TYPE SYNTAX AlarmEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of parameters that set up a periodic checking for alarm conditions." INDEX { alarmIndex } ::= { alarmTable 1 } AlarmEntry ::= SEQUENCE { alarmIndex INTEGER (1..65535), alarmInterval INTEGER, alarmVariable OBJECT IDENTIFIER, alarmSampleType INTEGER, alarmValue INTEGER, alarmStartupAlarm INTEGER, alarmRisingThreshold INTEGER, alarmFallingThreshold INTEGER, alarmRisingEventIndex INTEGER (1..65535), alarmFallingEventIndex INTEGER (1..65535), alarmOwner OwnerString, alarmStatus INTEGER } alarmIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the alarm table. Each such entry defines a diagnostic sample at a particular interval for an object on the device." ::= { alarmEntry 1 } alarmInterval OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The interval in seconds over which the data is sampled and compared with the rising and falling thresholds. When setting this variable, care should be given to ensure that the variable being monitored will not exceed 2^31 - 1 and roll over the alarmValue object during the interval. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 2 } alarmVariable OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "The object identifier of the particular variable to be sampled. Only variables that resolve to an ASN.1 primitive type of INTEGER (INTEGER, Counter, Gauge, or TimeTicks) may be sampled. Because SNMP access control is articulated entirely in terms of the contents of MIB views, no access control mechanism exists that can restrict the value of this object to identify only those objects that exist in a particular MIB view. Because there is thus no acceptable means of restricting the read access that could be obtained through the alarm mechanism, the probe must only grant write access to this object in those views that have read access to all objects on the probe. During a set operation, if the supplied variable name is not available in the selected MIB view, a badValue error must be returned. If at any time the variable name of an established alarmEntry is no longer available in the selected MIB view, the probe must change the status of this alarmEntry to invalid(4). This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 3 } alarmSampleType OBJECT-TYPE SYNTAX INTEGER { absoluteValue(1), deltaValue(2) } ACCESS read-write STATUS mandatory DESCRIPTION "The method of sampling the selected variable and calculating the value to be compared against the thresholds. If the value of this object is absoluteValue(1), the value of the selected variable will be compared directly with the thresholds at the end of the sampling interval. If the value of this object is deltaValue(2), the value of the selected variable at the last sample will be subtracted from the current value, and the difference compared with the thresholds. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 4 } alarmValue OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the statistic during the last sampling period. The value during the current sampling period is not made available until the period is completed." ::= { alarmEntry 5 } alarmStartupAlarm OBJECT-TYPE SYNTAX INTEGER { risingAlarm(1), fallingAlarm(2), risingOrFallingAlarm(3) } ACCESS read-write STATUS mandatory DESCRIPTION "The alarm that may be sent when this entry is first set to valid. If the first sample after this entry becomes valid is greater than or equal to the risingThreshold and alarmStartupAlarm is equal to risingAlarm(1) or risingOrFallingAlarm(3), then a single rising alarm will be generated. If the first sample after this entry becomes valid is less than or equal to the fallingThreshold and alarmStartupAlarm is equal to fallingAlarm(2) or risingOrFallingAlarm(3), then a single falling alarm will be generated. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 6 } alarmRisingThreshold OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A threshold for the sampled statistic. When the current sampled value is greater than or equal to this threshold, and the value at the last sampling interval was less than this threshold, a single event will be generated. A single event will also be generated if the first sample after this entry becomes valid is greater than or equal to this threshold and the associated alarmStartupAlarm is equal to risingAlarm(1) or risingOrFallingAlarm(3). After a rising event is generated, another such event will not be generated until the sampled value falls below this threshold and reaches the alarmFallingThreshold. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 7 } alarmFallingThreshold OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "A threshold for the sampled statistic. When the current sampled value is less than or equal to this threshold, and the value at the last sampling interval was greater than this threshold, a single event will be generated. A single event will also be generated if the first sample after this entry becomes valid is less than or equal to this threshold and the associated alarmStartupAlarm is equal to fallingAlarm(2) or risingOrFallingAlarm(3). After a falling event is generated, another such event will not be generated until the sampled value rises above this threshold and reaches the alarmRisingThreshold. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 8 } alarmRisingEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The index of the eventEntry that is used when a rising threshold is crossed. The eventEntry identified by a particular value of this index is the same as identified by the same value of the eventIndex object. If there is no corresponding entry in the eventTable, then no association exists. In particular, if this value is zero, no associated event will be generated, as zero is not a valid event index. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 9 } alarmFallingEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The index of the eventEntry that is used when a falling threshold is crossed. The eventEntry identified by a particular value of this index is the same as identified by the same value of the eventIndex object. If there is no corresponding entry in the eventTable, then no association exists. In particular, if this value is zero, no associated event will be generated, as zero is not a valid event index. This object may not be modified if the associated alarmStatus object is equal to valid(1)." ::= { alarmEntry 10 } alarmOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { alarmEntry 11 } alarmStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this alarm entry." ::= { alarmEntry 12 } -- The Host Group -- Implementation of the Host group is optional. -- -- The host group discovers new hosts on the network by -- keeping a list of source and destination MAC Addresses seen -- in good packets. For each of these addresses, the host -- group keeps a set of statistics. The hostControlTable -- controls which interfaces this function is performed on, -- and contains some information about the process. On -- behalf of each hostControlEntry, data is collected on an -- interface and placed both the hostTable and the -- hostTimeTable. If the monitoring device finds itself -- short of resources, it may delete entries as needed. It -- is suggested that the device delete the least recently -- used entries first. -- The hostTable contains entries for each address -- discovered on a particular interface. Each entry -- contains statistical data about that host. This table -- is indexed by the MAC address of the host, through -- which a random access may be achieved. -- The hostTimeTable contains data in the same format as the -- hostTable, and must contain the same set of hosts, but is -- indexed using hostTimeCreationOrder rather than hostAddress. -- The hostTimeCreationOrder is an integer which reflects -- the relative order in which a particular entry was -- discovered and thus inserted into the table. As this -- order, and thus index, is among those entries currently -- in the table, the index for a particular entry may change -- if an (earlier) entry is deleted. Thus the association -- between hostTimeCreationOrder and hostTimeEntry may be -- broken at any time. -- The hostTimeTable has two important uses. The first is the -- fast download of this potentially large table. Because the -- index of this table runs from 1 to the size of the table, -- inclusive, its values are predictable. This allows very -- efficient packing of variables into SNMP PDU's and allows -- a table transfer to have multiple packets outstanding. -- These benefits increase transfer rates tremendously. -- The second use of the hostTimeTable is the efficient -- discovery by the management station of new entries added -- to the table. After the management station has -- downloaded the entire table, it knows that new entries -- will be added immediately after the end of the current -- table. It can thus detect new entries there -- and retrieve them easily. -- Because the association between hostTimeCreationOrder and -- hostTimeEntry may be broken at any time, the management -- station must monitor the related hostControlLastDeleteTime -- object. When the management station thus detects a deletion, -- it must assume that any such associations have been broken, -- and invalidate any it has stored locally. This includes -- restarting any download of the hostTimeTable that may have -- been in progress, as well as rediscovering the end of the -- hostTimeTable so that it may detect new entries. If the -- management station does not detect the broken association, -- it may continue to refer to a particular host by its -- creationOrder while unwittingly retrieving the data -- associated with another host entirely. If this happens -- while downloading the host table, the management station -- may fail to download all of the entries in the table. hostControlTable OBJECT-TYPE SYNTAX SEQUENCE OF HostControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of host table control entries." ::= { hosts 1 } hostControlEntry OBJECT-TYPE SYNTAX HostControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of parameters that set up the discovery of hosts on a particular interface and the collection of statistics about these hosts." INDEX { hostControlIndex } ::= { hostControlTable 1 } HostControlEntry ::= SEQUENCE { hostControlIndex INTEGER (1..65535), hostControlDataSource OBJECT IDENTIFIER, hostControlTableSize INTEGER, hostControlLastDeleteTime TimeTicks, hostControlOwner OwnerString, hostControlStatus INTEGER } hostControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the hostControl table. Each such entry defines a function that discovers hosts on a particular interface and places statistics about them in the hostTable and the hostTimeTable on behalf of this hostControlEntry." ::= { hostControlEntry 1 } hostControlDataSource OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "This object identifies the source of the data for this instance of the host function. This source can be any interface on this device. In order to identify a particular interface, this object shall identify the instance of the ifIndex object, defined in [4,6], for the desired interface. For example, if an entry were to receive data from interface #1, this object would be set to ifIndex.1. The statistics in this group reflect all packets on the local network segment attached to the identified interface. This object may not be modified if the associated hostControlStatus object is equal to valid(1)." ::= { hostControlEntry 2 } hostControlTableSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of hostEntries in the hostTable and the hostTimeTable associated with this hostControlEntry." ::= { hostControlEntry 3 } hostControlLastDeleteTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when the last entry was deleted from the portion of the hostTable associated with this hostControlEntry. If no deletions have occurred, this value shall be zero." ::= { hostControlEntry 4 } hostControlOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { hostControlEntry 5 } hostControlStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this hostControl entry. If this object is not equal to valid(1), all associated entries in the hostTable, hostTimeTable, and the hostTopNTable shall be deleted by the agent." ::= { hostControlEntry 6 } hostTable OBJECT-TYPE SYNTAX SEQUENCE OF HostEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of host entries." ::= { hosts 2 } hostEntry OBJECT-TYPE SYNTAX HostEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A collection of statistics for a particular host that has been discovered on an interface of this device." INDEX { hostIndex, hostAddress } ::= { hostTable 1 } HostEntry ::= SEQUENCE { hostAddress OCTET STRING, hostCreationOrder INTEGER (1..65535), hostIndex INTEGER (1..65535), hostInPkts Counter, hostOutPkts Counter, hostInOctets Counter, hostOutOctets Counter, hostOutErrors Counter, hostOutBroadcastPkts Counter, hostOutMulticastPkts Counter } hostAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The physical address of this host." ::= { hostEntry 1 } hostCreationOrder OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that defines the relative ordering of the creation time of hosts captured for a particular hostControlEntry. This index shall be between 1 and N, where N is the value of the associated hostControlTableSize. The ordering of the indexes is based on the order of each entry's insertion into the table, in which entries added earlier have a lower index value than entries added later. It is important to note that the order for a particular entry may change as an (earlier) entry is deleted from the table. Because this order may change, management stations should make use of the hostControlLastDeleteTime variable in the hostControlEntry associated with the relevant portion of the hostTable. By observing this variable, the management station may detect the circumstances where a previous association between a value of hostCreationOrder and a hostEntry may no longer hold." ::= { hostEntry 2 } hostIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The set of collected host statistics of which this entry is a part. The set of hosts identified by a particular value of this index is associated with the hostControlEntry as identified by the same value of hostControlIndex." ::= { hostEntry 3 } hostInPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets without errors transmitted to this address since it was added to the hostTable." ::= { hostEntry 4 } hostOutPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets including errors transmitted by this address since it was added to the hostTable." ::= { hostEntry 5 } hostInOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets transmitted to this address since it was added to the hostTable (excluding framing bits but including FCS octets), except for those octets in packets that contained errors." ::= { hostEntry 6 } hostOutOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets transmitted by this address since it was added to the hostTable (excluding framing bits but including FCS octets), including those octets in packets that contained errors." ::= { hostEntry 7 } hostOutErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of error packets transmitted by this address since this host was added to the hostTable." ::= { hostEntry 8 } hostOutBroadcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets transmitted by this address that were directed to the broadcast address since this host was added to the hostTable." ::= { hostEntry 9 } hostOutMulticastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets transmitted by this address that were directed to a multicast address since this host was added to the hostTable. Note that this number does not include packets directed to the broadcast address." ::= { hostEntry 10 } -- host Time Table hostTimeTable OBJECT-TYPE SYNTAX SEQUENCE OF HostTimeEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of time-ordered host table entries." ::= { hosts 3 } hostTimeEntry OBJECT-TYPE SYNTAX HostTimeEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A collection of statistics for a particular host that has been discovered on an interface of this device. This collection includes the relative ordering of the creation time of this object." INDEX { hostTimeIndex, hostTimeCreationOrder } ::= { hostTimeTable 1 } HostTimeEntry ::= SEQUENCE { hostTimeAddress OCTET STRING, hostTimeCreationOrder INTEGER (1..65535), hostTimeIndex INTEGER (1..65535), hostTimeInPkts Counter, hostTimeOutPkts Counter, hostTimeInOctets Counter, hostTimeOutOctets Counter, hostTimeOutErrors Counter, hostTimeOutBroadcastPkts Counter, hostTimeOutMulticastPkts Counter } hostTimeAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The physical address of this host." ::= { hostTimeEntry 1 } hostTimeCreationOrder OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the hostTime table among those entries associated with the same hostControlEntry. This index shall be between 1 and N, where N is the value of the associated hostControlTableSize. The ordering of the indexes is based on the order of each entry's insertion into the table, in which entries added earlier have a lower index value than entries added later. Thus the management station has the ability to learn of new entries added to this table without downloading the entire table. It is important to note that the index for a particular entry may change as an (earlier) entry is deleted from the table. Because this order may change, management stations should make use of the hostControlLastDeleteTime variable in the hostControlEntry associated with the relevant portion of the hostTimeTable. By observing this variable, the management station may detect the circumstances where a download of the table may have missed entries, and where a previous association between a value of hostTimeCreationOrder and a hostTimeEntry may no longer hold." ::= { hostTimeEntry 2 } hostTimeIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The set of collected host statistics of which this entry is a part. The set of hosts identified by a particular value of this index is associated with the hostControlEntry as identified by the same value of hostControlIndex." ::= { hostTimeEntry 3 } hostTimeInPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets without errors transmitted to this address since it was added to the hostTimeTable." ::= { hostTimeEntry 4 } hostTimeOutPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets including errors transmitted by this address since it was added to the hostTimeTable." ::= { hostTimeEntry 5 } hostTimeInOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets transmitted to this address since it was added to the hostTimeTable (excluding framing bits but including FCS octets), except for those octets in packets that contained errors." ::= { hostTimeEntry 6 } hostTimeOutOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets transmitted by this address since it was added to the hostTimeTable (excluding framing bits but including FCS octets), including those octets in packets that contained errors." ::= { hostTimeEntry 7 } hostTimeOutErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of error packets transmitted by this address since this host was added to the hostTimeTable." ::= { hostTimeEntry 8 } hostTimeOutBroadcastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets transmitted by this address that were directed to the broadcast address since this host was added to the hostTimeTable." ::= { hostTimeEntry 9 } hostTimeOutMulticastPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of good packets transmitted by this address that were directed to a multicast address since this host was added to the hostTimeTable. Note that this number does not include packets directed to the broadcast address." ::= { hostTimeEntry 10 } -- The Host Top "N" Group -- Implementation of the Host Top N group is optional. -- -- The Host Top N group requires the implementation of the -- host group. -- -- The Host Top N group is used to prepare reports that -- describe the hosts that top a list ordered by one of -- their statistics. The available statistics are samples -- of one of their base statistics, over an interval -- specified by the management station. Thus, these -- statistics are rate based. The management -- station also selects how many such hosts are reported. -- The hostTopNControlTable is used to initiate the generation -- of such a report. The management station may select the -- parameters of such a report, such as which interface, -- which statistic, how many hosts, and the start and stop -- times of the sampling. When the report is prepared, -- entries are created in the hostTopNTable associated with -- the relevant hostTopNControlEntry. These entries are -- static for each report after it has been prepared. hostTopNControlTable OBJECT-TYPE SYNTAX SEQUENCE OF HostTopNControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of top N host control entries." ::= { hostTopN 1 } hostTopNControlEntry OBJECT-TYPE SYNTAX HostTopNControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of parameters that control the creation of a report of the top N hosts according to several metrics." INDEX { hostTopNControlIndex } ::= { hostTopNControlTable 1 } HostTopNControlEntry ::= SEQUENCE { hostTopNControlIndex INTEGER (1..65535), hostTopNHostIndex INTEGER (1..65535), hostTopNRateBase INTEGER, hostTopNTimeRemaining INTEGER, hostTopNDuration INTEGER, hostTopNRequestedSize INTEGER, hostTopNGrantedSize INTEGER, hostTopNStartTime TimeTicks, hostTopNOwner OwnerString, hostTopNStatus INTEGER } hostTopNControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the hostTopNControl table. Each such entry defines one top N report prepared for one interface." ::= { hostTopNControlEntry 1 } hostTopNHostIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The host table for which a top N report will be prepared on behalf of this entry. The host table identified by a particular value of this index is associated with the same host table as identified by the same value of hostIndex. This object may not be modified if the associated hostTopNStatus object is equal to valid(1)." ::= { hostTopNControlEntry 2 } hostTopNRateBase OBJECT-TYPE SYNTAX INTEGER { hostTopNInPkts(1), hostTopNOutPkts(2), hostTopNInOctets(3), hostTopNOutOctets(4), hostTopNOutErrors(5), hostTopNOutBroadcastPkts(6), hostTopNOutMulticastPkts(7) } ACCESS read-write STATUS mandatory DESCRIPTION "The variable for each host that the hostTopNRate variable is based upon. This object may not be modified if the associated hostTopNStatus object is equal to valid(1)." ::= { hostTopNControlEntry 3 } hostTopNTimeRemaining OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The number of seconds left in the report currently being collected. When this object is modified by the management station, a new collection is started, possibly aborting a currently running report. The new value is used as the requested duration of this report, which is loaded into the associated hostTopNDuration object. When this object is set to a non-zero value, any associated hostTopNEntries shall be made inaccessible by the monitor. While the value of this object is non-zero, it decrements by one per second until it reaches zero. During this time, all associated hostTopNEntries shall remain inaccessible. At the time that this object decrements to zero, the report is made accessible in the hostTopNTable. Thus, the hostTopN table needs to be created only at the end of the collection interval." DEFVAL { 0 } ::= { hostTopNControlEntry 4 } hostTopNDuration OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of seconds that this report has collected during the last sampling interval, or if this report is currently being collected, the number of seconds that this report is being collected during this sampling interval. When the associated hostTopNTimeRemaining object is set, this object shall be set by the probe to the same value and shall not be modified until the next time the hostTopNTimeRemaining is set. This value shall be zero if no reports have been requested for this hostTopNControlEntry." DEFVAL { 0 } ::= { hostTopNControlEntry 5 } hostTopNRequestedSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The maximum number of hosts requested for the top N table. When this object is created or modified, the probe should set hostTopNGrantedSize as closely to this object as is possible for the particular probe implementation and available resources." DEFVAL { 10 } ::= { hostTopNControlEntry 6 } hostTopNGrantedSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The maximum number of hosts in the top N table. When the associated hostTopNRequestedSize object is created or modified, the probe should set this object as closely to the requested value as is possible for the particular implementation and available resources. The probe must not lower this value except as a result of a set to the associated hostTopNRequestedSize object. Hosts with the highest value of hostTopNRate shall be placed in this table in decreasing order of this rate until there is no more room or until there are no more hosts." ::= { hostTopNControlEntry 7 } hostTopNStartTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when this top N report was last started. In other words, this is the time that the associated hostTopNTimeRemaining object was modified to start the requested report." ::= { hostTopNControlEntry 8 } hostTopNOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { hostTopNControlEntry 9 } hostTopNStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this hostTopNControl entry. If this object is not equal to valid(1), all associated hostTopNEntries shall be deleted by the agent." ::= { hostTopNControlEntry 10 } hostTopNTable OBJECT-TYPE SYNTAX SEQUENCE OF HostTopNEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of top N host entries." ::= { hostTopN 2 } hostTopNEntry OBJECT-TYPE SYNTAX HostTopNEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of statistics for a host that is part of a top N report." INDEX { hostTopNReport, hostTopNIndex } ::= { hostTopNTable 1 } HostTopNEntry ::= SEQUENCE { hostTopNReport INTEGER (1..65535), hostTopNIndex INTEGER (1..65535), hostTopNAddress OCTET STRING, hostTopNRate INTEGER } hostTopNReport OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "This object identifies the top N report of which this entry is a part. The set of hosts identified by a particular value of this object is part of the same report as identified by the same value of the hostTopNControlIndex object." ::= { hostTopNEntry 1 } hostTopNIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the hostTopN table among those in the same report. This index is between 1 and N, where N is the number of entries in this table. Increasing values of hostTopNIndex shall be assigned to entries with decreasing values of hostTopNRate until index N is assigned to the entry with the lowest value of hostTopNRate or there are no more hostTopNEntries." ::= { hostTopNEntry 2 } hostTopNAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The physical address of this host." ::= { hostTopNEntry 3 } hostTopNRate OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The amount of change in the selected variable during this sampling interval. The selected variable is this host's instance of the object selected by hostTopNRateBase." ::= { hostTopNEntry 4 } -- The Matrix Group -- Implementation of the Matrix group is optional. -- -- The Matrix group consists of the matrixControlTable, -- matrixSDTable and the matrixDSTable. These tables -- store statistics for a particular conversation between -- two addresses. As the device detects a new conversation, -- including those to a non-unicast address, it creates a -- new entry in both of the matrix tables. -- It must only create new entries based on information -- received in good packets. If the monitoring device finds -- itself short of resources, it may delete entries as needed. -- It is suggested that the device delete the least recently -- used entries first. matrixControlTable OBJECT-TYPE SYNTAX SEQUENCE OF MatrixControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of information entries for the traffic matrix on each interface." ::= { matrix 1 } matrixControlEntry OBJECT-TYPE SYNTAX MatrixControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "Information about a traffic matrix on a particular interface." INDEX { matrixControlIndex } ::= { matrixControlTable 1 } MatrixControlEntry ::= SEQUENCE { matrixControlIndex INTEGER (1..65535), matrixControlDataSource OBJECT IDENTIFIER, matrixControlTableSize INTEGER, matrixControlLastDeleteTime TimeTicks, matrixControlOwner OwnerString, matrixControlStatus INTEGER } matrixControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the matrixControl table. Each such entry defines a function that discovers conversations on a particular interface and places statistics about them in the matrixSDTable and the matrixDSTable on behalf of this matrixControlEntry." ::= { matrixControlEntry 1 } matrixControlDataSource OBJECT-TYPE SYNTAX OBJECT IDENTIFIER ACCESS read-write STATUS mandatory DESCRIPTION "This object identifies the source of the data from which this entry creates a traffic matrix. This source can be any interface on this device. In order to identify a particular interface, this object shall identify the instance of the ifIndex object, defined in [4,6], for the desired interface. For example, if an entry were to receive data from interface #1, this object would be set to ifIndex.1. The statistics in this group reflect all packets on the local network segment attached to the identified interface. This object may not be modified if the associated matrixControlStatus object is equal to valid(1)." ::= { matrixControlEntry 2 } matrixControlTableSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of matrixSDEntries in the matrixSDTable for this interface. This must also be the value of the number of entries in the matrixDSTable for this interface." ::= { matrixControlEntry 3 } matrixControlLastDeleteTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when the last entry was deleted from the portion of the matrixSDTable or matrixDSTable associated with this matrixControlEntry. If no deletions have occurred, this value shall be zero." ::= { matrixControlEntry 4 } matrixControlOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { matrixControlEntry 5 } matrixControlStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this matrixControl entry. If this object is not equal to valid(1), all associated entries in the matrixSDTable and the matrixDSTable shall be deleted by the agent." ::= { matrixControlEntry 6 } matrixSDTable OBJECT-TYPE SYNTAX SEQUENCE OF MatrixSDEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of traffic matrix entries indexed by source and destination MAC address." ::= { matrix 2 } matrixSDEntry OBJECT-TYPE SYNTAX MatrixSDEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A collection of statistics for communications between two addresses on a particular interface." INDEX { matrixSDIndex, matrixSDSourceAddress, matrixSDDestAddress } ::= { matrixSDTable 1 } MatrixSDEntry ::= SEQUENCE { matrixSDSourceAddress OCTET STRING, matrixSDDestAddress OCTET STRING, matrixSDIndex INTEGER (1..65535), matrixSDPkts Counter, matrixSDOctets Counter, matrixSDErrors Counter } matrixSDSourceAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The source physical address." ::= { matrixSDEntry 1 } matrixSDDestAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The destination physical address." ::= { matrixSDEntry 2 } matrixSDIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The set of collected matrix statistics of which this entry is a part. The set of matrix statistics identified by a particular value of this index is associated with the same matrixControlEntry as identified by the same value of matrixControlIndex." ::= { matrixSDEntry 3 } matrixSDPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets transmitted from the source address to the destination address (this number includes error packets)." ::= { matrixSDEntry 4 } matrixSDOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets (excluding framing bits but including FCS octets) contained in all packets transmitted from the source address to the destination address." ::= { matrixSDEntry 5 } matrixSDErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of error packets transmitted from the source address to the destination address." ::= { matrixSDEntry 6 } -- Traffic matrix tables from destination to source matrixDSTable OBJECT-TYPE SYNTAX SEQUENCE OF MatrixDSEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of traffic matrix entries indexed by destination and source MAC address." ::= { matrix 3 } matrixDSEntry OBJECT-TYPE SYNTAX MatrixDSEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A collection of statistics for communications between two address on a particular interface." INDEX { matrixDSIndex, matrixDSDestAddress, matrixDSSourceAddress } ::= { matrixDSTable 1 } MatrixDSEntry ::= SEQUENCE { matrixDSSourceAddress OCTET STRING, matrixDSDestAddress OCTET STRING, matrixDSIndex INTEGER (1..65535), matrixDSPkts Counter, matrixDSOctets Counter, matrixDSErrors Counter } matrixDSSourceAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The source physical address." ::= { matrixDSEntry 1 } matrixDSDestAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The destination physical address." ::= { matrixDSEntry 2 } matrixDSIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The set of collected matrix statistics of which this entry is a part. The set of matrix statistics identified by a particular value of this index is associated with the same matrixControlEntry as identified by the same value of matrixControlIndex." ::= { matrixDSEntry 3 } matrixDSPkts OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets transmitted from the source address to the destination address (this number includes error packets)." ::= { matrixDSEntry 4 } matrixDSOctets OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of octets (excluding framing bits but including FCS octets) contained in all packets transmitted from the source address to the destination address." ::= { matrixDSEntry 5 } matrixDSErrors OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of error packets transmitted from the source address to the destination address." ::= { matrixDSEntry 6 } -- The Filter Group -- Implementation of the Filter group is optional. -- -- The Filter group allows packets to be captured with an -- arbitrary filter expression. A logical data and -- event stream or "channel" is formed by the packets -- that match the filter expression. -- -- This filter mechanism allows the creation of an arbitrary -- logical expression with which to filter packets. Each -- filter associated with a channel is OR'ed with the others. -- Within a filter, any bits checked in the data and status are -- AND'ed with respect to other bits in the same filter. The -- NotMask also allows for checking for inequality. Finally, -- the channelAcceptType object allows for inversion of the -- whole equation. -- -- The channel can be turned on or off, and can also -- generate events when packets pass through it. filterTable OBJECT-TYPE SYNTAX SEQUENCE OF FilterEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of packet filter entries." ::= { filter 1 } filterEntry OBJECT-TYPE SYNTAX FilterEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of parameters for a packet filter applied on a particular interface." INDEX { filterIndex } ::= { filterTable 1 } FilterEntry ::= SEQUENCE { filterIndex INTEGER (1..65535), filterChannelIndex INTEGER (1..65535), filterPktDataOffset INTEGER, filterPktData OCTET STRING, filterPktDataMask OCTET STRING, filterPktDataNotMask OCTET STRING, filterPktStatus INTEGER, filterPktStatusMask INTEGER, filterPktStatusNotMask INTEGER, filterOwner OwnerString, filterStatus INTEGER } filterIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the filter table. Each such entry defines one filter that is to be applied to every packet received on an interface." ::= { filterEntry 1 } filterChannelIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "This object identifies the channel of which this filter is a part. The filters identified by a particular value of this object are associated with the same channel as identified by the same value of the channelIndex object." ::= { filterEntry 2 } filterPktDataOffset OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The offset from the beginning of each packet where a match of packet data will be attempted. This offset is measured from the point in the physical layer packet after the framing bits, if any. For example, in an Ethernet frame, this point is at the beginning of the destination MAC address. This object may not be modified if the associated filterStatus object is equal to valid(1)." DEFVAL { 0 } ::= { filterEntry 3 } filterPktData OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write STATUS mandatory DESCRIPTION "The data that is to be matched with the input packet. For each packet received, this filter and the accompanying filterPktDataMask and filterPktDataNotMask will be adjusted for the offset. The only bits relevant to this match algorithm are those that have the corresponding filterPktDataMask bit equal to one. The following three rules are then applied to every packet: (1) If the packet is too short and does not have data corresponding to part of the filterPktData, the packet will fail this data match. (2) For each relevant bit from the packet with the corresponding filterPktDataNotMask bit set to zero, if the bit from the packet is not equal to the corresponding bit from the filterPktData, then the packet will fail this data match. (3) If for every relevant bit from the packet with the corresponding filterPktDataNotMask bit set to one, the bit from the packet is equal to the corresponding bit from the filterPktData, then the packet will fail this data match. Any packets that have not failed any of the three matches above have passed this data match. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 4 } filterPktDataMask OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write STATUS mandatory DESCRIPTION "The mask that is applied to the match process. After adjusting this mask for the offset, only those bits in the received packet that correspond to bits set in this mask are relevant for further processing by the match algorithm. The offset is applied to filterPktDataMask in the same way it is applied to the filter. For the purposes of the matching algorithm, if the associated filterPktData object is longer than this mask, this mask is conceptually extended with '1' bits until it reaches the length of the filterPktData object. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 5 } filterPktDataNotMask OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write STATUS mandatory DESCRIPTION "The inversion mask that is applied to the match process. After adjusting this mask for the offset, those relevant bits in the received packet that correspond to bits cleared in this mask must all be equal to their corresponding bits in the filterPktData object for the packet to be accepted. In addition, at least one of those relevant bits in the received packet that correspond to bits set in this mask must be different to its corresponding bit in the filterPktData object. For the purposes of the matching algorithm, if the associated filterPktData object is longer than this mask, this mask is conceptually extended with '0' bits until it reaches the length of the filterPktData object. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 6 } filterPktStatus OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The status that is to be matched with the input packet. The only bits relevant to this match algorithm are those that have the corresponding filterPktStatusMask bit equal to one. The following two rules are then applied to every packet: (1) For each relevant bit from the packet status with the corresponding filterPktStatusNotMask bit set to zero, if the bit from the packet status is not equal to the corresponding bit from the filterPktStatus, then the packet will fail this status match. (2) If for every relevant bit from the packet status with the corresponding filterPktStatusNotMask bit set to one, the bit from the packet status is equal to the corresponding bit from the filterPktStatus, then the packet will fail this status match. Any packets that have not failed either of the two matches above have passed this status match. The value of the packet status is a sum. This sum initially takes the value zero. Then, for each error, E, that has been discovered in this packet, 2 raised to a value representing E is added to the sum. The errors and the bits that represent them are dependent on the media type of the interface that this channel is receiving packets from. The errors defined for a packet captured off of an Ethernet interface are as follows: bit # Error 0 Packet is longer than 1518 octets 1 Packet is shorter than 64 octets 2 Packet experienced a CRC or Alignment error For example, an Ethernet fragment would have a value of 6 (2^1 + 2^2). As this MIB is expanded to new media types, this object will have other media-specific errors defined. For the purposes of this status matching algorithm, if the packet status is longer than this object, filterPktStatus this object is conceptually extended with '0' bits until it reaches the size of the packet status. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 7 } filterPktStatusMask OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The mask that is applied to the status match process. Only those bits in the received packet that correspond to bits set in this mask are relevant for further processing by the status match algorithm. For the purposes of the matching algorithm, if the associated filterPktStatus object is longer than this mask, this mask is conceptually extended with '1' bits until it reaches the size of the filterPktStatus. In addition, if a packet status is longer than this mask, this mask is conceptually extended with '0' bits until it reaches the size of the packet status. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 8 } filterPktStatusNotMask OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The inversion mask that is applied to the status match process. Those relevant bits in the received packet status that correspond to bits cleared in this mask must all be equal to their corresponding bits in the filterPktStatus object for the packet to be accepted. In addition, at least one of those relevant bits in the received packet status that correspond to bits set in this mask must be different to its corresponding bit in the filterPktStatus object for the packet to be accepted. For the purposes of the matching algorithm, if the associated filterPktStatus object or a packet status is longer than this mask, this mask is conceptually extended with '0' bits until it reaches the longer of the lengths of the filterPktStatus object and the packet status. This object may not be modified if the associated filterStatus object is equal to valid(1)." ::= { filterEntry 9 } filterOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { filterEntry 10 } filterStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this filter entry." ::= { filterEntry 11 } channelTable OBJECT-TYPE SYNTAX SEQUENCE OF ChannelEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of packet channel entries." ::= { filter 2 } channelEntry OBJECT-TYPE SYNTAX ChannelEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of parameters for a packet channel applied on a particular interface." INDEX { channelIndex } ::= { channelTable 1 } ChannelEntry ::= SEQUENCE { channelIndex INTEGER (1..65535), channelIfIndex INTEGER (1..65535), channelAcceptType INTEGER, channelDataControl INTEGER, channelTurnOnEventIndex INTEGER (0..65535), channelTurnOffEventIndex INTEGER (0..65535), channelEventIndex INTEGER (0..65535), channelEventStatus INTEGER, channelMatches Counter, channelDescription DisplayString (SIZE (0..127)), channelOwner OwnerString, channelStatus INTEGER } channelIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the channel table. Each such entry defines one channel, a logical data and event stream." ::= { channelEntry 1 } channelIfIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The value of this object uniquely identifies the interface on this remote network monitoring device to which the associated filters are applied to allow data into this channel. The interface identified by a particular value of this object is the same interface as identified by the same value of the ifIndex object, defined in [4,6]. The filters in this group are applied to all packets on the local network segment attached to the identified interface. This object may not be modified if the associated channelStatus object is equal to valid(1)." ::= { channelEntry 2 } channelAcceptType OBJECT-TYPE SYNTAX INTEGER { acceptMatched(1), acceptFailed(2) } ACCESS read-write STATUS mandatory DESCRIPTION "This object controls the action of the filters associated with this channel. If this object is equal to acceptMatched(1), packets will be accepted to this channel if they are accepted by both the packet data and packet status matches of an associated filter. If this object is equal to acceptFailed(2), packets will be accepted to this channel only if they fail either the packet data match or the packet status match of each of the associated filters. This object may not be modified if the associated channelStatus object is equal to valid(1)." ::= { channelEntry 3 } channelDataControl OBJECT-TYPE SYNTAX INTEGER { on(1), off(2) } ACCESS read-write STATUS mandatory DESCRIPTION "This object controls the flow of data through this channel. If this object is on(1), data, status and events flow through this channel. If this object is off(2), data, status and events will not flow through this channel." DEFVAL { off } ::= { channelEntry 4 } channelTurnOnEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The value of this object identifies the event that is configured to turn the associated channelDataControl from off to on when the event is generated. The event identified by a particular value of this object is the same event as identified by the same value of the eventIndex object. If there is no corresponding entry in the eventTable, then no association exists. In fact, if no event is intended for this channel, channelTurnOnEventIndex must be set to zero, a non-existent event index. This object may not be modified if the associated channelStatus object is equal to valid(1)." ::= { channelEntry 5 } channelTurnOffEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The value of this object identifies the event that is configured to turn the associated channelDataControl from on to off when the event is generated. The event identified by a particular value of this object is the same event as identified by the same value of the eventIndex object. If there is no corresponding entry in the eventTable, then no association exists. In fact, if no event is intended for this channel, channelTurnOffEventIndex must be set to zero, a non-existent event index. This object may not be modified if the associated channelStatus object is equal to valid(1)." ::= { channelEntry 6 } channelEventIndex OBJECT-TYPE SYNTAX INTEGER (0..65535) ACCESS read-write STATUS mandatory DESCRIPTION "The value of this object identifies the event that is configured to be generated when the associated channelDataControl is on and a packet is matched. The event identified by a particular value of this object is the same event as identified by the same value of the eventIndex object. If there is no corresponding entry in the eventTable, then no association exists. In fact, if no event is intended for this channel, channelEventIndex must be set to zero, a non-existent event index. This object may not be modified if the associated channelStatus object is equal to valid(1)." ::= { channelEntry 7 } channelEventStatus OBJECT-TYPE SYNTAX INTEGER { eventReady(1), eventFired(2), eventAlwaysReady(3) } ACCESS read-write STATUS mandatory DESCRIPTION "The event status of this channel. If this channel is configured to generate events when packets are matched, a means of controlling the flow of those events is often needed. When this object is equal to eventReady(1), a single event may be generated, after which this object will be set by the probe to eventFired(2). While in the eventFired(2) state, no events will be generated until the object is modified to eventReady(1) (or eventAlwaysReady(3)). The management station can thus easily respond to a notification of an event by re-enabling this object. If the management station wishes to disable this flow control and allow events to be generated at will, this object may be set to eventAlwaysReady(3). Disabling the flow control is discouraged as it can result in high network traffic or other performance problems." DEFVAL { eventReady } ::= { channelEntry 8 } channelMatches OBJECT-TYPE SYNTAX Counter ACCESS read-only STATUS mandatory DESCRIPTION "The number of times this channel has matched a packet. Note that this object is updated even when channelDataControl is set to off." ::= { channelEntry 9 } channelDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "A comment describing this channel." ::= { channelEntry 10 } channelOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { channelEntry 11 } channelStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this channel entry." ::= { channelEntry 12 } -- The Packet Capture Group -- Implementation of the Packet Capture group is optional. -- -- The Packet Capture Group requires implementation of the -- Filter Group. -- -- The Packet Capture group allows packets to be captured -- upon a filter match. The bufferControlTable controls -- the captured packets output from a channel that is -- associated with it. The captured packets are placed -- in entries in the captureBufferTable. These entries are -- associated with the bufferControlEntry on whose behalf they -- were stored. bufferControlTable OBJECT-TYPE SYNTAX SEQUENCE OF BufferControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of buffers control entries." ::= { capture 1 } bufferControlEntry OBJECT-TYPE SYNTAX BufferControlEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of parameters that control the collection of a stream of packets that have matched filters." INDEX { bufferControlIndex } ::= { bufferControlTable 1 } BufferControlEntry ::= SEQUENCE { bufferControlIndex INTEGER (1..65535), bufferControlChannelIndex INTEGER (1..65535), bufferControlFullStatus INTEGER, bufferControlFullAction INTEGER, bufferControlCaptureSliceSize INTEGER, bufferControlDownloadSliceSize INTEGER, bufferControlDownloadOffset INTEGER, bufferControlMaxOctetsRequested INTEGER, bufferControlMaxOctetsGranted INTEGER, bufferControlCapturedPackets INTEGER, bufferControlTurnOnTime TimeTicks, bufferControlOwner OwnerString, bufferControlStatus INTEGER } bufferControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the bufferControl table. The value of this index shall never be zero. Each such entry defines one set of packets that is captured and controlled by one or more filters." ::= { bufferControlEntry 1 } bufferControlChannelIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-write STATUS mandatory DESCRIPTION "An index that identifies the channel that is the source of packets for this bufferControl table. The channel identified by a particular value of this index is the same as identified by the same value of the channelIndex object. This object may not be modified if the associated bufferControlStatus object is equal to valid(1)." ::= { bufferControlEntry 2 } bufferControlFullStatus OBJECT-TYPE SYNTAX INTEGER { spaceAvailable(1), full(2) } ACCESS read-only STATUS mandatory DESCRIPTION "This object shows whether the buffer has room to accept new packets or if it is full. If the status is spaceAvailable(1), the buffer is accepting new packets normally. If the status is full(2) and the associated bufferControlFullAction object is wrapWhenFull, the buffer is accepting new packets by deleting enough of the oldest packets to make room for new ones as they arrive. Otherwise, if the status is full(2) and the bufferControlFullAction object is lockWhenFull, then the buffer has stopped collecting packets. When this object is set to full(2) the probe must not later set it to spaceAvailable(1) except in the case of a significant gain in resources such as an increase of bufferControlOctetsGranted. In particular, the wrap-mode action of deleting old packets to make room for newly arrived packets must not affect the value of this object." ::= { bufferControlEntry 3 } bufferControlFullAction OBJECT-TYPE SYNTAX INTEGER { lockWhenFull(1), wrapWhenFull(2) -- FIFO } ACCESS read-write STATUS mandatory DESCRIPTION "Controls the action of the buffer when it reaches the full status. When in the lockWhenFull(1) state a packet is added to the buffer that fills the buffer, the bufferControlFullStatus will be set to full(2) and this buffer will stop capturing packets." ::= { bufferControlEntry 4 } bufferControlCaptureSliceSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The maximum number of octets of each packet that will be saved in this capture buffer. For example, if a 1500 octet packet is received by the probe and this object is set to 500, then only 500 octets of the packet will be stored in the associated capture buffer. If this variable is set to 0, the capture buffer will save as many octets as is possible. This object may not be modified if the associated bufferControlStatus object is equal to valid(1)." DEFVAL { 100 } ::= { bufferControlEntry 5 } bufferControlDownloadSliceSize OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The maximum number of octets of each packet in this capture buffer that will be returned in an SNMP retrieval of that packet. For example, if 500 octets of a packet have been stored in the associated capture buffer, the associated bufferControlDownloadOffset is 0, and this object is set to 100, then the captureBufferPacket object that contains the packet will contain only the first 100 octets of the packet. A prudent manager will take into account possible interoperability or fragmentation problems that may occur if the download slice size is set too large. In particular, conformant SNMP implementations are not required to accept messages whose length exceeds 484 octets, although they are encouraged to support larger datagrams whenever feasible." DEFVAL { 100 } ::= { bufferControlEntry 6 } bufferControlDownloadOffset OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The offset of the first octet of each packet in this capture buffer that will be returned in an SNMP retrieval of that packet. For example, if 500 octets of a packet have been stored in the associated capture buffer and this object is set to 100, then the captureBufferPacket object that contains the packet will contain bytes starting 100 octets into the packet." DEFVAL { 0 } ::= { bufferControlEntry 7 } bufferControlMaxOctetsRequested OBJECT-TYPE SYNTAX INTEGER ACCESS read-write STATUS mandatory DESCRIPTION "The requested maximum number of octets to be saved in this captureBuffer, including any implementation-specific overhead. If this variable is set to -1, the capture buffer will save as many octets as is possible. When this object is created or modified, the probe should set bufferControlMaxOctetsGranted as closely to this object as is possible for the particular probe implementation and available resources. However, if the object has the special value of -1, the probe must set bufferControlMaxOctetsGranted to -1." DEFVAL { -1 } ::= { bufferControlEntry 8 } bufferControlMaxOctetsGranted OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The maximum number of octets that can be saved in this captureBuffer, including overhead. If this variable is -1, the capture buffer will save as many octets as possible. When the bufferControlMaxOctetsRequested object is created or modified, the probe should set this object as closely to the requested value as is possible for the particular probe implementation and available resources. However, if the request object has the special value of -1, the probe must set this object to -1. The probe must not lower this value except as a result of a modification to the associated bufferControlMaxOctetsRequested object. When this maximum number of octets is reached and a new packet is to be added to this capture buffer and the corresponding bufferControlFullAction is set to wrapWhenFull(2), enough of the oldest packets associated with this capture buffer shall be deleted by the agent so that the new packet can be added. If the corresponding bufferControlFullAction is set to lockWhenFull(1), the new packet shall be discarded. In either case, the probe must set bufferControlFullStatus to full(2). When the value of this object changes to a value less than the current value, entries are deleted from the captureBufferTable associated with this bufferControlEntry. Enough of the oldest of these captureBufferEntries shall be deleted by the agent so that the number of octets used remains less than or equal to the new value of this object. When the value of this object changes to a value greater than the current value, the number of associated captureBufferEntries may be allowed to grow." ::= { bufferControlEntry 9 } bufferControlCapturedPackets OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of packets currently in this captureBuffer." ::= { bufferControlEntry 10 } bufferControlTurnOnTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when this capture buffer was first turned on." ::= { bufferControlEntry 11 } bufferControlOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it." ::= { bufferControlEntry 12 } bufferControlStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this buffer Control Entry." ::= { bufferControlEntry 13 } captureBufferTable OBJECT-TYPE SYNTAX SEQUENCE OF CaptureBufferEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of packets captured off of a channel." ::= { capture 2 } captureBufferEntry OBJECT-TYPE SYNTAX CaptureBufferEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A packet captured off of an attached network." INDEX { captureBufferControlIndex, captureBufferIndex } ::= { captureBufferTable 1 } CaptureBufferEntry ::= SEQUENCE { captureBufferControlIndex INTEGER (1..65535), captureBufferIndex INTEGER, captureBufferPacketID INTEGER, captureBufferPacketData OCTET STRING, captureBufferPacketLength INTEGER, captureBufferPacketTime INTEGER, captureBufferPacketStatus INTEGER } captureBufferControlIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The index of the bufferControlEntry with which this packet is associated." ::= { captureBufferEntry 1 } captureBufferIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the captureBuffer table associated with a particular bufferControlEntry. This index will start at 1 and increase by one for each new packet added with the same captureBufferControlIndex." ::= { captureBufferEntry 2 } captureBufferPacketID OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that describes the order of packets that are received on a particular interface. The packetID of a packet captured on an interface is defined to be greater than the packetID's of all packets captured previously on the same interface. As the captureBufferPacketID object has a maximum positive value of 2^31 - 1, any captureBufferPacketID object shall have the value of the associated packet's packetID mod 2^31." ::= { captureBufferEntry 3 } captureBufferPacketData OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-only STATUS mandatory DESCRIPTION "The data inside the packet, starting at the beginning of the packet plus any offset specified in the associated bufferControlDownloadOffset, including any link level headers. The length of the data in this object is the minimum of the length of the captured packet minus the offset, the length of the associated bufferControlCaptureSliceSize minus the offset, and the associated bufferControlDownloadSliceSize. If this minimum is less than zero, this object shall have a length of zero." ::= { captureBufferEntry 4 } captureBufferPacketLength OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The actual length (off the wire) of the packet stored in this entry, including FCS octets." ::= { captureBufferEntry 5 } captureBufferPacketTime OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The number of milliseconds that had passed since this capture buffer was first turned on when this packet was captured." ::= { captureBufferEntry 6 } captureBufferPacketStatus OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "A value which indicates the error status of this packet. The value of this object is defined in the same way as filterPacketStatus. The value is a sum. This sum initially takes the value zero. Then, for each error, E, that has been discovered in this packet, 2 raised to a value representing E is added to the sum. The errors defined for a packet captured off of an Ethernet interface are as follows: bit # Error 0 Packet is longer than 1518 octets 1 Packet is shorter than 64 octets 2 Packet experienced a CRC or Alignment error 3 First packet in this capture buffer after it was detected that some packets were not processed correctly. For example, an Ethernet fragment would have a value of 6 (2^1 + 2^2). As this MIB is expanded to new media types, this object will have other media-specific errors defined." ::= { captureBufferEntry 7 } -- The Event Group -- Implementation of the Event group is optional. -- -- The Event group controls the generation and notification -- of events from this device. Each entry in the eventTable -- describes the parameters of the event that can be triggered. -- Each event entry is fired by an associated condition located -- elsewhere in the MIB. An event entry may also be associated -- with a function elsewhere in the MIB that will be executed -- when the event is generated. For example, a channel may -- be turned on or off by the firing of an event. -- -- Each eventEntry may optionally specify that a log entry -- be created on its behalf whenever the event occurs. -- Each entry may also specify that notification should -- occur by way of SNMP trap messages. In this case, the -- community for the trap message is given in the associated -- eventCommunity object. The enterprise and specific trap -- fields of the trap are determined by the condition that -- triggered the event. Three traps are defined in a companion -- document: risingAlarm, fallingAlarm, and packetMatch. -- If the eventTable is triggered by a condition specified -- elsewhere, the enterprise and specific trap fields -- must be specified for traps generated for that condition. eventTable OBJECT-TYPE SYNTAX SEQUENCE OF EventEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of events to be generated." ::= { event 1 } eventEntry OBJECT-TYPE SYNTAX EventEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of parameters that describe an event to be generated when certain conditions are met." INDEX { eventIndex } ::= { eventTable 1 } EventEntry ::= SEQUENCE { eventIndex INTEGER (1..65535), eventDescription DisplayString (SIZE (0..127)), eventType INTEGER, eventCommunity OCTET STRING (SIZE (0..127)), eventLastTimeSent TimeTicks, eventOwner OwnerString, eventStatus INTEGER } eventIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the event table. Each such entry defines one event that is to be generated when the appropriate conditions occur." ::= { eventEntry 1 } eventDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "A comment describing this event entry." ::= { eventEntry 2 } eventType OBJECT-TYPE SYNTAX INTEGER { none(1), log(2), snmp-trap(3), -- send an SNMP trap log-and-trap(4) } ACCESS read-write STATUS mandatory DESCRIPTION "The type of notification that the probe will make about this event. In the case of log, an entry is made in the log table for each event. In the case of snmp-trap, an SNMP trap is sent to one or more management stations." ::= { eventEntry 3 } eventCommunity OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..127)) ACCESS read-write STATUS mandatory DESCRIPTION "If an SNMP trap is to be sent, it will be sent to the SNMP community specified by this octet string. In the future this table will be extended to include the party security mechanism. This object shall be set to a string of length zero if it is intended that that mechanism be used to specify the destination of the trap." ::= { eventEntry 4 } eventLastTimeSent OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime at the time this event entry last generated an event. If this entry has not generated any events, this value will be zero." ::= { eventEntry 5 } eventOwner OBJECT-TYPE SYNTAX OwnerString ACCESS read-write STATUS mandatory DESCRIPTION "The entity that configured this entry and is therefore using the resources assigned to it. If this object contains a string starting with 'monitor' and has associated entries in the log table, all connected management stations should retrieve those log entries, as they may have significance to all management stations connected to this device" ::= { eventEntry 6 } eventStatus OBJECT-TYPE SYNTAX EntryStatus ACCESS read-write STATUS mandatory DESCRIPTION "The status of this event entry. If this object is not equal to valid(1), all associated log entries shall be deleted by the agent." ::= { eventEntry 7 } logTable OBJECT-TYPE SYNTAX SEQUENCE OF LogEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A list of events that have been logged." ::= { event 2 } logEntry OBJECT-TYPE SYNTAX LogEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "A set of data describing an event that has been logged." INDEX { logEventIndex, logIndex } ::= { logTable 1 } LogEntry ::= SEQUENCE { logEventIndex INTEGER (1..65535), logIndex INTEGER, logTime TimeTicks, logDescription DisplayString (SIZE (0..255)) } logEventIndex OBJECT-TYPE SYNTAX INTEGER (1..65535) ACCESS read-only STATUS mandatory DESCRIPTION "The event entry that generated this log entry. The log identified by a particular value of this index is associated with the same eventEntry as identified by the same value of eventIndex." ::= { logEntry 1 } logIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "An index that uniquely identifies an entry in the log table amongst those generated by the same eventEntries. These indexes are assigned beginning with 1 and increase by one with each new log entry. The association between values of logIndex and logEntries is fixed for the lifetime of each logEntry. The agent may choose to delete the oldest instances of logEntry as required because of lack of memory. It is an implementation-specific matter as to when this deletion may occur." ::= { logEntry 2 } logTime OBJECT-TYPE SYNTAX TimeTicks ACCESS read-only STATUS mandatory DESCRIPTION "The value of sysUpTime when this log entry was created." ::= { logEntry 3 } logDescription OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) ACCESS read-only STATUS mandatory DESCRIPTION "An implementation dependent description of the event that activated this log entry." ::= { logEntry 4 } END CMU-MIB DEFINITIONS ::= BEGIN; Proteon OBJECT IDENTIFIER ::= { enterprises 1 } IBM OBJECT IDENTIFIER ::= { enterprises 2 } cmu OBJECT IDENTIFIER ::= { enterprises 3 } Unix OBJECT IDENTIFIER ::= { enterprises 4 } ACC OBJECT IDENTIFIER ::= { enterprises 5 } TWG OBJECT IDENTIFIER ::= { enterprises 6 } Cayman OBJECT IDENTIFIER ::= { enterprises 7 } PSI OBJECT IDENTIFIER ::= { enterprises 8 } Cisco OBJECT IDENTIFIER ::= { enterprises 9 } NSC OBJECT IDENTIFIER ::= { enterprises 10 } HP OBJECT IDENTIFIER ::= { enterprises 11 } Epilogue OBJECT IDENTIFIER ::= { enterprises 12 } UTK OBJECT IDENTIFIER ::= { enterprises 13 } BBN OBJECT IDENTIFIER ::= { enterprises 14 } Xylogics OBJECT IDENTIFIER ::= { enterprises 15 } Timeplex OBJECT IDENTIFIER ::= { enterprises 16 } Canstar OBJECT IDENTIFIER ::= { enterprises 17 } Wellfleet OBJECT IDENTIFIER ::= { enterprises 18 } TRW OBJECT IDENTIFIER ::= { enterprises 19 } MIT OBJECT IDENTIFIER ::= { enterprises 20 } EON OBJECT IDENTIFIER ::= { enterprises 21 } Spartacus OBJECT IDENTIFIER ::= { enterprises 22 } Excelan OBJECT IDENTIFIER ::= { enterprises 23 } Spider OBJECT IDENTIFIER ::= { enterprises 24 } NSFNET OBJECT IDENTIFIER ::= { enterprises 25 } HLS OBJECT IDENTIFIER ::= { enterprises 26 } Xyplex OBJECT IDENTIFIER ::= { enterprises 33 } Cray OBJECT IDENTIFIER ::= { enterprises 34 } Sun OBJECT IDENTIFIER ::= { enterprises 42 } Synoptics OBJECT IDENTIFIER ::= { enterprises 45 } DEC OBJECT IDENTIFIER ::= { enterprises 36 } TGV OBJECT IDENTIFIER ::= { enterprises 58 } Apple OBJECT IDENTIFIER ::= { enterprises 63 } NAT OBJECT IDENTIFIER ::= { enterprises 86 } SNMP-Research OBJECT IDENTIFIER ::= { enterprises 99 } FTP OBJECT IDENTIFIER ::= { enterprises 121 } Shiva OBJECT IDENTIFIER ::= { enterprises 166 } Transarc OBJECT IDENTIFIER ::= { enterprises 257 } Lexcel OBJECT IDENTIFIER ::= { enterprises 379 } END