| IF-MIB DEFINITIONS ::= BEGIN |
| |
| IMPORTS |
| IANAifType |
| FROM IANAifType-MIB |
| snmpTraps |
| FROM SNMPv2-MIB |
| OBJECT-GROUP, MODULE-COMPLIANCE |
| FROM SNMPv2-CONF |
| TestAndIncr, AutonomousType, RowStatus, TruthValue, PhysAddress, DisplayString, |
| TEXTUAL-CONVENTION |
| FROM SNMPv2-TC |
| NOTIFICATION-TYPE, mib-2, Counter64, TimeTicks, Integer32, Gauge32, Counter32, |
| OBJECT-TYPE, MODULE-IDENTITY |
| FROM SNMPv2-SMI; |
| |
| interfaces ::= { mib-2 2 } |
| |
| ifMIB MODULE-IDENTITY |
| LAST-UPDATED "9311082155Z" |
| ORGANIZATION "IETF Interfaces MIB Working Group" |
| CONTACT-INFO |
| "Keith McCloghrie |
| |
| Postal: Hughes LAN Systems |
| 1225 Charleston Road, Mountain View, CA 94043 |
| |
| Tel: +1 415 966 7934 |
| E-Mail: kzm@hls.com |
| |
| Frank Kastenholz |
| |
| Postal: FTP Software |
| 2 High Street, North Andover, MA 01845 |
| |
| Tel: +1 508 685 4000 |
| E-Mail: kasten@ftp.com" |
| DESCRIPTION |
| "The MIB module to describe generic objects for |
| network interface sub-layers. This MIB is an updated |
| version of MIB-II's ifTable, and incorporates the |
| extensions defined in RFC 1229." |
| ::= { mib-2 31 } |
| |
| ifMIBObjects ::= { ifMIB 1 } |
| |
| OwnerString ::= TEXTUAL-CONVENTION |
| DISPLAY-HINT "255a" |
| STATUS current |
| DESCRIPTION |
| "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: ASCII form of the manager station's |
| transport address, management station name (e.g., |
| domain name), network management personnel'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 |
| 'agent'." |
| SYNTAX OCTET STRING |
| |
| InterfaceIndex ::= TEXTUAL-CONVENTION |
| DISPLAY-HINT "d" |
| STATUS current |
| DESCRIPTION |
| "A unique value, greater than zero, for each interface |
| or interface sub-layer in the managed system. It is |
| recommended that values are assigned contiguously |
| starting from 1. The value for each interface sub- |
| layer must remain constant at least from one re- |
| initialization of the entity's network management |
| system to the next re-initialization." |
| SYNTAX Integer32 |
| |
| ifNumber OBJECT-TYPE |
| SYNTAX Integer32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of network interfaces (regardless of their |
| current state) present on this system." |
| ::= { interfaces 1 } |
| |
| ifTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF IfEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "A list of interface entries. The number of entries |
| is given by the value of ifNumber." |
| ::= { interfaces 2 } |
| |
| ifEntry OBJECT-TYPE |
| SYNTAX IfEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "An entry containing management information applicable |
| to a particular interface." |
| INDEX { ifIndex } |
| ::= { ifTable 1 } |
| |
| IfEntry ::= |
| SEQUENCE { |
| ifIndex |
| InterfaceIndex, |
| |
| ifDescr |
| DisplayString, |
| |
| ifType |
| IANAifType, |
| |
| ifMtu |
| Integer32, |
| |
| ifSpeed |
| Gauge32, |
| |
| ifPhysAddress |
| PhysAddress, |
| |
| ifAdminStatus |
| INTEGER, |
| |
| ifOperStatus |
| INTEGER, |
| |
| ifLastChange |
| TimeTicks, |
| |
| ifInOctets |
| Counter32, |
| |
| ifInUcastPkts |
| Counter32, |
| |
| ifInNUcastPkts |
| Counter32, |
| |
| ifInDiscards |
| Counter32, |
| |
| ifInErrors |
| Counter32, |
| |
| ifInUnknownProtos |
| Counter32, |
| |
| ifOutOctets |
| Counter32, |
| |
| ifOutUcastPkts |
| Counter32, |
| |
| ifOutNUcastPkts |
| Counter32, |
| |
| ifOutDiscards |
| Counter32, |
| |
| ifOutErrors |
| Counter32, |
| |
| ifOutQLen |
| Gauge32, |
| |
| ifSpecific |
| OBJECT IDENTIFIER |
| } |
| |
| ifIndex OBJECT-TYPE |
| SYNTAX InterfaceIndex |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "A unique value, greater than zero, for each |
| interface. It is recommended that values are assigned |
| contiguously starting from 1. The value for each |
| interface sub-layer 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 |
| MAX-ACCESS read-only |
| STATUS current |
| 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 |
| interface hardware/software." |
| ::= { ifEntry 2 } |
| |
| ifType OBJECT-TYPE |
| SYNTAX IANAifType |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The type of interface. Additional values for ifType |
| are assigned by the Internet Assigned Numbers |
| Authority (IANA), through updating the syntax of the |
| IANAifType textual convention." |
| ::= { ifEntry 3 } |
| |
| ifMtu OBJECT-TYPE |
| SYNTAX Integer32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The size of the largest packet 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 Gauge32 |
| MAX-ACCESS read-only |
| STATUS current |
| 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. If the bandwidth of the interface is |
| greater than the maximum value reportable by this |
| object then this object should report its maximum |
| value (4,294,967,295) and ifHighSpeed must be used to |
| report the interace's speed. For a sub-layer which |
| has no concept of bandwidth, this object should be |
| zero." |
| ::= { ifEntry 5 } |
| |
| ifPhysAddress OBJECT-TYPE |
| SYNTAX PhysAddress |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The interface's address at its protocol sub-layer. |
| The interface's media-specific MIB must define the bit |
| and byte ordering and format of the value contained by |
| this object. 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), |
| down(2), |
| testing(3) |
| } |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "The desired state of the interface. The testing(3) |
| state indicates that no operational packets can be |
| passed. When a managed system initializes, all |
| interfaces start with ifAdminStatus in the down(2) |
| state. As a result of either explicit management |
| action or per configuration information retained by |
| the managed system, ifAdminStatus is then changed to |
| either the up(1) or testing(3) states (or remains in |
| the down(2) state)." |
| ::= { ifEntry 7 } |
| |
| ifOperStatus OBJECT-TYPE |
| SYNTAX INTEGER { |
| up(1), |
| down(2), |
| testing(3), |
| unknown(4), |
| dormant(5) |
| } |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The current operational state of the interface. The |
| testing(3) state indicates that no operational packets |
| can be passed. If ifAdminStatus is down(2) then |
| ifOperStatus should be down(2). If ifAdminStatus is |
| changed to up(1) then ifOperStatus should change to |
| up(1) if the interface is ready to transmit and |
| receive network traffic; it should change to |
| dormant(5) if the interface is waiting for external |
| actions (such as a serial line waiting for an |
| incomming connection); it should remain in the down(2) |
| state if and only if there is a fault that prevents if |
| from going to the up(1) state." |
| ::= { ifEntry 8 } |
| |
| ifLastChange OBJECT-TYPE |
| SYNTAX TimeTicks |
| MAX-ACCESS read-only |
| STATUS current |
| 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 Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of octets received on the interface, |
| including framing characters." |
| ::= { ifEntry 10 } |
| |
| ifInUcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were not addressed to a |
| multicast or broadcast address at this sub-layer." |
| ::= { ifEntry 11 } |
| |
| ifInNUcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS deprecated |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were addressed to a |
| multicast or broadcast address at this sub-layer. |
| This object is deprecated in favour of |
| ifInMulticastPkts and ifInBroadcastPkts." |
| ::= { ifEntry 12 } |
| |
| ifInDiscards OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| 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 Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "For packet-oriented interfaces, the number of inbound |
| packets that contained errors preventing them from |
| being deliverable to a higher-layer protocol. For |
| character-oriented or fixed-length interfaces, the |
| number of inbound transmission units that contained |
| errors preventing them from being deliverable to a |
| higher-layer protocol." |
| ::= { ifEntry 14 } |
| |
| ifInUnknownProtos OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "For packet-oriented interfaces, the number of packets |
| received via the interface which were discarded |
| because of an unknown or unsupported protocol. For |
| character-oriented or fixed-length interfaces which |
| support protocol multiplexing the number of |
| transmission units received via the interface which |
| were discarded because of an unknown or unsupported |
| protocol. For any interface which does not support |
| protocol multiplexing, this counter will always be 0." |
| ::= { ifEntry 15 } |
| |
| ifOutOctets OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of octets transmitted out of the |
| interface, including framing characters." |
| ::= { ifEntry 16 } |
| |
| ifOutUcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were not |
| addressed to a multicast or broadcast address at this |
| sub-layer, including those that were discarded or not |
| sent." |
| ::= { ifEntry 17 } |
| |
| ifOutNUcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS deprecated |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were |
| addressed to a multicast or broadcast address at this |
| sub-layer, including those that were discarded or not |
| sent. |
| |
| This object is deprecated in favour of |
| ifOutMulticastPkts and ifOutBroadcastPkts." |
| ::= { ifEntry 18 } |
| |
| ifOutDiscards OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| 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 Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "For packet-oriented interfaces, the number of |
| outbound packets that could not be transmitted because |
| of errors. For character-oriented or fixed-length |
| interfaces, the number of outbound transmission units |
| that could not be transmitted because of errors." |
| ::= { ifEntry 20 } |
| |
| ifOutQLen OBJECT-TYPE |
| SYNTAX Gauge32 |
| MAX-ACCESS read-only |
| STATUS deprecated |
| DESCRIPTION |
| "The length of the output packet queue (in packets)." |
| ::= { ifEntry 21 } |
| |
| ifSpecific OBJECT-TYPE |
| SYNTAX OBJECT IDENTIFIER |
| MAX-ACCESS read-only |
| STATUS deprecated |
| DESCRIPTION |
| "A reference to MIB definitions specific to the |
| particular media being used to realize the interface. |
| It is recommended that this value point to an instance |
| of a MIB object in the media-specific MIB, i.e., that |
| this object have the semantics associated with the |
| InstancePointer textual convention defined in RFC |
| 1443. In fact, it is recommended that the media- |
| specific MIB specify what value ifSpecific should/can |
| take for values of ifType. If no MIB definitions |
| specific to the particular media are available, the |
| value should be set to the OBJECT IDENTIFIER { 0 0 }." |
| ::= { ifEntry 22 } |
| |
| ifXTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF IfXEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "A list of interface entries. The number of entries |
| is given by the value of ifNumber. This table |
| contains additional objects for the interface table." |
| ::= { ifMIBObjects 1 } |
| |
| ifXEntry OBJECT-TYPE |
| SYNTAX IfXEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "An entry containing additional management information |
| applicable to a particular interface." |
| AUGMENTS { ifEntry } |
| ::= { ifXTable 1 } |
| |
| IfXEntry ::= |
| SEQUENCE { |
| ifName |
| DisplayString, |
| |
| ifInMulticastPkts |
| Counter32, |
| |
| ifInBroadcastPkts |
| Counter32, |
| |
| ifOutMulticastPkts |
| Counter32, |
| |
| ifOutBroadcastPkts |
| Counter32, |
| |
| ifHCInOctets |
| Counter64, |
| |
| ifHCInUcastPkts |
| Counter64, |
| |
| ifHCInMulticastPkts |
| Counter64, |
| |
| ifHCInBroadcastPkts |
| Counter64, |
| |
| ifHCOutOctets |
| Counter64, |
| |
| ifHCOutUcastPkts |
| Counter64, |
| |
| ifHCOutMulticastPkts |
| Counter64, |
| |
| ifHCOutBroadcastPkts |
| Counter64, |
| |
| ifLinkUpDownTrapEnable |
| INTEGER, |
| |
| ifHighSpeed |
| Gauge32, |
| |
| ifPromiscuousMode |
| TruthValue, |
| |
| ifConnectorPresent |
| TruthValue |
| } |
| |
| ifName OBJECT-TYPE |
| SYNTAX DisplayString |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The textual name of the interface. The value of this |
| object should be the name of the interface as assigned |
| by the local device and should be suitable for use in |
| commands entered at the device's `console'. This |
| might be a text name, such as `le0' or a simple port |
| number, such as `1', depending on the interface naming |
| syntax of the device. If several entries in the |
| ifTable together represent a single interface as named |
| by the device, then each will have the same value of |
| ifName. If there is no local name, or this object is |
| otherwise not applicable, then this object contains a |
| 0-length string." |
| ::= { ifXEntry 1 } |
| |
| ifInMulticastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were addressed to a |
| multicast address at this sub-layer. For a MAC layer |
| protocol, this includes both Group and Functional |
| addresses." |
| ::= { ifXEntry 2 } |
| |
| ifInBroadcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were addressed to a |
| broadcast address at this sub-layer." |
| ::= { ifXEntry 3 } |
| |
| ifOutMulticastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were |
| addressed to a multicast address at this sub-layer, |
| including those that were discarded or not sent. For |
| a MAC layer protocol, this includes both Group and |
| Functional addresses." |
| ::= { ifXEntry 4 } |
| |
| ifOutBroadcastPkts OBJECT-TYPE |
| SYNTAX Counter32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were |
| addressed to a broadcast address at this sub-layer, |
| including those that were discarded or not sent." |
| ::= { ifXEntry 5 } |
| |
| ifHCInOctets OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of octets received on the interface, |
| including framing characters. This object is a 64-bit |
| version of ifInOctets." |
| ::= { ifXEntry 6 } |
| |
| ifHCInUcastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were not addressed to a |
| multicast or broadcast address at this sub-layer. |
| This object is a 64-bit version of ifInUcastPkts." |
| ::= { ifXEntry 7 } |
| |
| ifHCInMulticastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were addressed to a |
| multicast address at this sub-layer. For a MAC layer |
| protocol, this includes both Group and Functional |
| addresses. This object is a 64-bit version of |
| ifInMulticastPkts." |
| ::= { ifXEntry 8 } |
| |
| ifHCInBroadcastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The number of packets, delivered by this sub-layer to |
| a higher (sub-)layer, which were addressed to a |
| broadcast address at this sub-layer. This object is a |
| 64-bit version of ifInBroadcastPkts." |
| ::= { ifXEntry 9 } |
| |
| ifHCOutOctets OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of octets transmitted out of the |
| interface, including framing characters. This object |
| is a 64-bit version of ifOutOctets." |
| ::= { ifXEntry 10 } |
| |
| ifHCOutUcastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were not |
| addressed to a multicast or broadcast address at this |
| sub-layer, including those that were discarded or not |
| sent. This object is a 64-bit version of |
| ifOutUcastPkts." |
| ::= { ifXEntry 11 } |
| |
| ifHCOutMulticastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were |
| addressed to a multicast address at this sub-layer, |
| including those that were discarded or not sent. For |
| a MAC layer protocol, this includes both Group and |
| Functional addresses. This object is a 64-bit version |
| of ifOutMulticastPkts." |
| ::= { ifXEntry 12 } |
| |
| ifHCOutBroadcastPkts OBJECT-TYPE |
| SYNTAX Counter64 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "The total number of packets that higher-level |
| protocols requested be transmitted, and which were |
| addressed to a broadcast address at this sub-layer, |
| including those that were discarded or not sent. This |
| object is a 64-bit version of ifOutBroadcastPkts." |
| ::= { ifXEntry 13 } |
| |
| ifLinkUpDownTrapEnable OBJECT-TYPE |
| SYNTAX INTEGER { |
| enabled(1), |
| disabled(2) |
| } |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "Indicates whether linkUp/linkDown traps should be |
| generated for this interface. |
| |
| By default, this object should have the value |
| enabled(1) for interfaces which do not operate on |
| 'top' of any other interface (as defined in the |
| ifStackTable), and disabled(2) otherwise." |
| ::= { ifXEntry 14 } |
| |
| ifHighSpeed OBJECT-TYPE |
| SYNTAX Gauge32 |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "An estimate of the interface's current bandwidth in |
| units of 1,000,000 bits per second. If this object |
| reports a value of `n' then the speed of the interface |
| is somewhere in the range of `n-500,000' to |
| `n+499,999'. 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. For a sub-layer which has no concept of |
| bandwidth, this object should be zero." |
| ::= { ifXEntry 15 } |
| |
| ifPromiscuousMode OBJECT-TYPE |
| SYNTAX TruthValue |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "This object has a value of false(2) if this interface |
| only accepts packets/frames that are addressed to this |
| station. This object has a value of true(1) when the |
| station accepts all packets/frames transmitted on the |
| media. The value true(1) is only legal on certain |
| types of media. If legal, setting this object to a |
| value of true(1) may require the interface to be reset |
| before becoming effective. |
| |
| The value of ifPromiscuousMode does not affect the |
| reception of broadcast and multicast packets/frames by |
| the interface." |
| ::= { ifXEntry 16 } |
| |
| ifConnectorPresent OBJECT-TYPE |
| SYNTAX TruthValue |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "This object has the value 'true(1)' if the interface |
| sublayer has a physical connector and the value |
| 'false(2)' otherwise." |
| ::= { ifXEntry 17 } |
| |
| ifStackTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF IfStackEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "The table containing information on the relationships |
| between the multiple sub-layers of network interfaces. |
| In particular, it contains information on which sub- |
| layers run 'on top of' which other sub-layers. Each |
| sub-layer corresponds to a conceptual row in the |
| ifTable." |
| ::= { ifMIBObjects 2 } |
| |
| ifStackEntry OBJECT-TYPE |
| SYNTAX IfStackEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "Information on a particular relationship between two |
| sub-layers, specifying that one sub-layer runs on |
| 'top' of the other sub-layer. Each sub-layer |
| corresponds to a conceptual row in the ifTable." |
| INDEX { ifStackHigherLayer, ifStackLowerLayer } |
| ::= { ifStackTable 1 } |
| |
| IfStackEntry ::= |
| SEQUENCE { |
| ifStackHigherLayer |
| Integer32, |
| |
| ifStackLowerLayer |
| Integer32, |
| |
| ifStackStatus |
| RowStatus |
| } |
| |
| ifStackHigherLayer OBJECT-TYPE |
| SYNTAX Integer32 |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "The value of ifIndex corresponding to the higher |
| sub-layer of the relationship, i.e., the sub-layer |
| which runs on 'top' of the sub-layer identified by the |
| corresponding instance of ifStackLowerLayer. If there |
| is no higher sub-layer (below the internetwork layer), |
| then this object has the value 0." |
| ::= { ifStackEntry 1 } |
| |
| ifStackLowerLayer OBJECT-TYPE |
| SYNTAX Integer32 |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "The value of ifIndex corresponding to the lower sub- |
| layer of the relationship, i.e., the sub-layer which |
| runs 'below' the sub-layer identified by the |
| corresponding instance of ifStackHigherLayer. If |
| there is no lower sub-layer, then this object has the |
| value 0." |
| ::= { ifStackEntry 2 } |
| |
| ifStackStatus OBJECT-TYPE |
| SYNTAX RowStatus |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "The status of the relationship between two sub- |
| layers. |
| |
| Changing the value of this object from 'active' to |
| 'notInService' or 'destroy' will likely have |
| consequences up and down the interface stack. Thus, |
| write access to this object is likely to be |
| inappropriate for some types of interfaces, and many |
| implementations will choose not to support write- |
| access for any type of interface." |
| ::= { ifStackEntry 3 } |
| |
| ifTestTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF IfTestEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "This table contains one entry per interface. It |
| defines objects which allow a network manager to |
| instruct an agent to test an interface for various |
| faults. Tests for an interface are defined in the |
| media-specific MIB for that interface. After invoking |
| a test, the object ifTestResult can be read to |
| determine the outcome. If an agent can not perform |
| the test, ifTestResult is set to so indicate. The |
| object ifTestCode can be used to provide further |
| test-specific or interface-specific (or even |
| enterprise-specific) information concerning the |
| outcome of the test. Only one test can be in progress |
| on each interface at any one time. If one test is in |
| progress when another test is invoked, the second test |
| is rejected. Some agents may reject a test when a |
| prior test is active on another interface. |
| Before starting a test, a manager-station must first |
| obtain 'ownership' of the entry in the ifTestTable for |
| the interface to be tested. This is accomplished with |
| the ifTestId and ifTestStatus objects as follows: |
| |
| try_again: |
| get (ifTestId, ifTestStatus) |
| while (ifTestStatus != notInUse) |
| /* |
| * Loop while a test is running or some other |
| * manager is configuring a test. |
| */ |
| short delay |
| get (ifTestId, ifTestStatus) |
| } |
| |
| /* |
| * Is not being used right now -- let's compete |
| * to see who gets it. |
| */ |
| lock_value = ifTestId |
| |
| if ( set(ifTestId = lock_value, ifTestStatus = inUse, |
| ifTestOwner = 'my-IP-address') == FAILURE) |
| /* |
| * Another manager got the ifTestEntry -- go |
| * try again |
| */ |
| goto try_again; |
| |
| /* |
| * I have the lock |
| */ |
| set up any test parameters. |
| |
| /* |
| * This starts the test |
| */ |
| set(ifTestType = test_to_run); |
| |
| wait for test completion by polling ifTestResult |
| |
| when test completes, agent sets ifTestResult |
| agent also sets ifTestStatus = 'notInUse' |
| |
| retrieve any additional test results, and ifTestId |
| |
| if (ifTestId == lock_value+1) results are valid |
| A manager station first retrieves the value of the |
| appropriate ifTestId and ifTestStatus objects, |
| periodically repeating the retrieval if necessary, |
| until the value of ifTestStatus is 'notInUse'. The |
| manager station then tries to set the same ifTestId |
| object to the value it just retrieved, the same |
| ifTestStatus object to 'inUse', and the corresponding |
| ifTestOwner object to a value indicating itself. If |
| the set operation succeeds then the manager has |
| obtained ownership of the ifTestEntry, and the value of |
| the ifTestId object is incremented by the agent (per |
| the semantics of TestAndIncr). Failure of the set |
| operation indicates that some other manager has |
| obtained ownership of the ifTestEntry. |
| |
| Once ownership is obtained, any test parameters can be |
| setup, and then the test is initiated by setting |
| ifTestType. On completion of the test, the agent sets |
| ifTestStatus to 'notInUse'. Once this occurs, the |
| manager can retrieve the results. In the (rare) event |
| that the invocation of tests by two network managers |
| were to overlap, then there would be a possibility that |
| the first test's results might be overwritten by the |
| second test's results prior to the first results being |
| read. This unlikely circumstance can be detected by a |
| network manager retrieving ifTestId at the same time as |
| retrieving the test results, and ensuring that the |
| results are for the desired request. |
| |
| If ifTestType is not set within an abnormally long |
| period of time after ownership is obtained, the agent |
| should time-out the manager, and reset the value of the |
| ifTestStatus object back to 'notInUse'. It is |
| suggested that this time-out period be 5 minutes. |
| |
| In general, a management station must not retransmit a |
| request to invoke a test for which it does not receive |
| a response; instead, it properly inspects an agent's |
| MIB to determine if the invocation was successful. |
| Only if the invocation was unsuccessful, is the |
| invocation request retransmitted. |
| |
| Some tests may require the interface to be taken off- |
| line in order to execute them, or may even require the |
| agent to reboot after completion of the test. In these |
| circumstances, communication with the management |
| station invoking the test may be lost until after |
| completion of the test. An agent is not required to |
| support such tests. However, if such tests are |
| supported, then the agent should make every effort to |
| transmit a response to the request which invoked the |
| test prior to losing communication. When the agent is |
| restored to normal service, the results of the test are |
| properly made available in the appropriate objects. |
| Note that this requires that the ifIndex value assigned |
| to an interface must be unchanged even if the test |
| causes a reboot. An agent must reject any test for |
| which it cannot, perhaps due to resource constraints, |
| make available at least the minimum amount of |
| information after that test completes." |
| ::= { ifMIBObjects 3 } |
| |
| ifTestEntry OBJECT-TYPE |
| SYNTAX IfTestEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "An entry containing objects for invoking tests on an |
| interface." |
| AUGMENTS { ifEntry } |
| ::= { ifTestTable 1 } |
| |
| IfTestEntry ::= |
| SEQUENCE { |
| ifTestId |
| TestAndIncr, |
| |
| ifTestStatus |
| INTEGER, |
| |
| ifTestType |
| AutonomousType, |
| |
| ifTestResult |
| INTEGER, |
| |
| ifTestCode |
| OBJECT IDENTIFIER, |
| |
| ifTestOwner |
| OwnerString |
| } |
| |
| ifTestId OBJECT-TYPE |
| SYNTAX TestAndIncr |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "This object identifies the current invocation of the |
| interface's test." |
| ::= { ifTestEntry 1 } |
| |
| ifTestStatus OBJECT-TYPE |
| SYNTAX INTEGER { |
| notInUse(1), |
| inUse(2) |
| } |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "This object indicates whether or not some manager |
| currently has the necessary 'ownership' required to |
| invoke a test on this interface. A write to this |
| object is only successful when it changes its value |
| from 'notInUse(1)' to 'inUse(2)'. After completion of |
| a test, the agent resets the value back to |
| 'notInUse(1)'." |
| ::= { ifTestEntry 2 } |
| |
| ifTestType OBJECT-TYPE |
| SYNTAX AutonomousType |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "A control variable used to start and stop operator- |
| initiated interface tests. Most OBJECT IDENTIFIER |
| values assigned to tests are defined elsewhere, in |
| association with specific types of interface. |
| However, this document assigns a value for a full- |
| duplex loopback test, and defines the special meanings |
| of the subject identifier: |
| |
| noTest OBJECT IDENTIFIER ::= { 0 0 } |
| |
| When the value noTest is written to this object, no |
| action is taken unless a test is in progress, in which |
| case the test is aborted. Writing any other value to |
| this object is only valid when no test is currently in |
| progress, in which case the indicated test is |
| initiated. |
| |
| When read, this object always returns the most recent |
| value that ifTestType was set to. If it has not been |
| set since the last initialization of the network |
| management subsystem on the agent, a value of noTest |
| is returned." |
| ::= { ifTestEntry 3 } |
| |
| ifTestResult OBJECT-TYPE |
| SYNTAX INTEGER { |
| none(1), |
| success(2), |
| inProgress(3), |
| notSupported(4), |
| unAbleToRun(5), |
| aborted(6), |
| failed(7) |
| } |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "This object contains the result of the most recently |
| requested test, or the value none(1) if no tests have |
| been requested since the last reset. Note that this |
| facility provides no provision for saving the results |
| of one test when starting another, as could be |
| required if used by multiple managers concurrently." |
| ::= { ifTestEntry 4 } |
| |
| ifTestCode OBJECT-TYPE |
| SYNTAX OBJECT IDENTIFIER |
| MAX-ACCESS read-only |
| STATUS current |
| DESCRIPTION |
| "This object contains a code which contains more |
| specific information on the test result, for example |
| an error-code after a failed test. Error codes and |
| other values this object may take are specific to the |
| type of interface and/or test. The value may have the |
| semantics of either the AutonomousType or |
| InstancePointer textual conventions as defined in RFC |
| 1443. The identifier: |
| |
| testCodeUnknown OBJECT IDENTIFIER ::= { 0 0 } |
| |
| is defined for use if no additional result code is |
| available." |
| ::= { ifTestEntry 5 } |
| |
| ifTestOwner OBJECT-TYPE |
| SYNTAX OwnerString |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "The entity which currently has the 'ownership' |
| required to invoke a test on this interface." |
| ::= { ifTestEntry 6 } |
| |
| ifRcvAddressTable OBJECT-TYPE |
| SYNTAX SEQUENCE OF IfRcvAddressEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "This table contains an entry for each address |
| (broadcast, multicast, or uni-cast) for which the |
| system will receive packets/frames on a particular |
| interface, except as follows: |
| |
| - for an interface operating in promiscuous mode, |
| entries are only required for those addresses for |
| which the system would receive frames were it not |
| operating in promiscuous mode. |
| |
| - for 802.5 functional addresses, only one entry is |
| required, for the address which has the functional |
| address bit ANDed with the bit mask of all functional |
| addresses for which the interface will accept frames." |
| ::= { ifMIBObjects 4 } |
| |
| ifRcvAddressEntry OBJECT-TYPE |
| SYNTAX IfRcvAddressEntry |
| MAX-ACCESS not-accessible |
| STATUS current |
| DESCRIPTION |
| "A list of objects identifying an address for which |
| the system will accept packets/frames on the |
| particular interface identified by the index value |
| ifIndex." |
| INDEX { ifIndex, ifRcvAddressAddress } |
| ::= { ifRcvAddressTable 1 } |
| |
| IfRcvAddressEntry ::= |
| SEQUENCE { |
| ifRcvAddressAddress |
| PhysAddress, |
| |
| ifRcvAddressStatus |
| RowStatus, |
| |
| ifRcvAddressType |
| INTEGER |
| } |
| |
| ifRcvAddressAddress OBJECT-TYPE |
| SYNTAX PhysAddress |
| MAX-ACCESS read-create |
| STATUS current |
| DESCRIPTION |
| "An address for which the system will accept |
| packets/frames on this entry's interface." |
| ::= { ifRcvAddressEntry 1 } |
| |
| ifRcvAddressStatus OBJECT-TYPE |
| SYNTAX RowStatus |
| MAX-ACCESS read-write |
| STATUS current |
| DESCRIPTION |
| "This object is used to create and delete rows in the |
| ifRcvAddressTable." |
| ::= { ifRcvAddressEntry 2 } |
| |
| ifRcvAddressType OBJECT-TYPE |
| SYNTAX INTEGER { |
| other(1), |
| volatile(2), |
| nonVolatile(3) |
| } |
| MAX-ACCESS read-create |
| STATUS current |
| DESCRIPTION |
| "This object has the value nonVolatile(3) for those |
| entries in the table which are valid and will not be |
| deleted by the next restart of the managed system. |
| Entries having the value volatile(2) are valid and |
| exist, but have not been saved, so that will not exist |
| after the next restart of the managed system. Entries |
| having the value other(1) are valid and exist but are |
| not classified as to whether they will continue to |
| exist after the next restart." |
| DEFVAL { volatile } |
| ::= { ifRcvAddressEntry 3 } |
| |
| linkDown NOTIFICATION-TYPE |
| STATUS current |
| OBJECTS { |
| ifIndex, |
| ifAdminStatus, |
| ifOperStatus |
| } |
| DESCRIPTION |
| "A linkDown trap signifies that the SNMPv2 entity, |
| acting in an agent role, has detected that the |
| ifOperStatus object for one of its communication links |
| is about to transition into the down state." |
| ::= { snmpTraps 3 } |
| |
| linkUp NOTIFICATION-TYPE |
| STATUS current |
| OBJECTS { |
| ifIndex, |
| ifAdminStatus, |
| ifOperStatus |
| } |
| DESCRIPTION |
| "A linkUp trap signifies that the SNMPv2 entity, |
| acting in an agent role, has detected that the |
| ifOperStatus object for one of its communication links |
| has transitioned out of the down state." |
| ::= { snmpTraps 4 } |
| |
| ifConformance ::= { ifMIB 2 } |
| |
| ifGroups ::= { ifConformance 1 } |
| |
| ifCompliances ::= { ifConformance 2 } |
| |
| ifCompliance MODULE-COMPLIANCE |
| STATUS current |
| DESCRIPTION |
| "The compliance statement for SNMPv2 entities which |
| have network interfaces." |
| |
| MODULE -- this module |
| MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup } |
| GROUP ifFixedLengthGroup |
| DESCRIPTION |
| "This group is mandatory for all network interfaces |
| which are character-oriented or transmit data in |
| fixed-length transmission units." |
| |
| GROUP ifHCFixedLengthGroup |
| DESCRIPTION |
| "This group is mandatory only for those network |
| interfaces which are character-oriented or transmit |
| data in fixed-length transmission units, and for which |
| the value of the corresponding instance of ifSpeed is |
| greater than 20,000,000 bits/second." |
| |
| GROUP ifPacketGroup |
| DESCRIPTION |
| "This group is mandatory for all network interfaces |
| which are packet-oriented." |
| |
| GROUP ifHCPacketGroup |
| DESCRIPTION |
| "This group is mandatory only for those network |
| interfaces which are packet-oriented and for which the |
| value of the corresponding instance of ifSpeed is |
| greater than 650,000,000 bits/second." |
| |
| GROUP ifTestGroup |
| DESCRIPTION |
| "This group is optional. Media-specific MIBs which |
| require interface tests are strongly encouraged to use |
| this group for invoking tests and reporting results. |
| A medium specific MIB which has mandatory tests may |
| make implementation of this group mandatory." |
| |
| GROUP ifRcvAddressGroup |
| DESCRIPTION |
| "The applicability of this group MUST be defined by |
| the media-specific MIBs. Media-specific MIBs must |
| define the exact meaning, use, and semantics of the |
| addresses in this group." |
| |
| OBJECT ifLinkUpDownTrapEnable |
| MIN-ACCESS read-only |
| DESCRIPTION |
| "Write access is not required." |
| |
| OBJECT ifPromiscuousMode |
| MIN-ACCESS read-only |
| DESCRIPTION |
| "Write access is not required." |
| |
| OBJECT ifStackStatus |
| SYNTAX INTEGER { |
| active(1) |
| } |
| MIN-ACCESS read-only |
| DESCRIPTION |
| "Write access is not required, and only one of the six |
| enumerated values for the RowStatus textual convention |
| need be supported, specifically: active(1)." |
| |
| OBJECT ifAdminStatus |
| SYNTAX INTEGER { |
| up(1), |
| down(2) |
| } |
| MIN-ACCESS read-only |
| DESCRIPTION |
| "Write access is not required, nor is support for the |
| value testing(3)." |
| ::= { ifCompliances 1 } |
| |
| ifGeneralGroup OBJECT-GROUP |
| OBJECTS { |
| ifDescr, |
| ifType, |
| ifSpeed, |
| ifPhysAddress, |
| ifAdminStatus, |
| ifOperStatus, |
| ifLastChange, |
| ifLinkUpDownTrapEnable, |
| ifConnectorPresent, |
| ifHighSpeed, |
| ifName |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information |
| applicable to all network interfaces." |
| ::= { ifGroups 1 } |
| |
| ifFixedLengthGroup OBJECT-GROUP |
| OBJECTS { |
| ifInOctets, |
| ifOutOctets, |
| ifInUnknownProtos, |
| ifInErrors, |
| ifOutErrors |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information |
| specific to non-high speed, character-oriented or |
| fixed-length-transmission network interfaces. (Non- |
| high speed interfaces transmit and receive at speeds |
| less than or equal to 20,000,000 bits/second.)" |
| ::= { ifGroups 2 } |
| |
| ifHCFixedLengthGroup OBJECT-GROUP |
| OBJECTS { |
| ifHCInOctets, |
| ifHCOutOctets, |
| ifInOctets, |
| ifOutOctets, |
| ifInUnknownProtos, |
| ifInErrors, |
| ifOutErrors |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information |
| specific to high speed (greater than 20,000,000 |
| bits/second) character-oriented or fixed-length- |
| transmission network interfaces." |
| ::= { ifGroups 3 } |
| |
| ifPacketGroup OBJECT-GROUP |
| OBJECTS { |
| ifInOctets, |
| ifOutOctets, |
| ifInUnknownProtos, |
| ifInErrors, |
| ifOutErrors, |
| ifMtu, |
| ifInUcastPkts, |
| ifInMulticastPkts, |
| ifInBroadcastPkts, |
| ifInDiscards, |
| ifOutUcastPkts, |
| ifOutMulticastPkts, |
| ifOutBroadcastPkts, |
| ifOutDiscards, |
| ifPromiscuousMode |
| } |
| STATUS current |
| DESCRIPTION |
| |
| "A collection of objects providing information |
| specific to non-high speed, packet-oriented network |
| interfaces. (Non-high speed interfaces transmit and |
| receive at speeds less than or equal to 20,000,000 |
| bits/second.)" |
| ::= { ifGroups 4 } |
| |
| ifHCPacketGroup OBJECT-GROUP |
| OBJECTS { |
| ifHCInOctets, |
| ifHCOutOctets, |
| ifInOctets, |
| ifOutOctets, |
| ifInUnknownProtos, |
| ifInErrors, |
| ifOutErrors, |
| ifMtu, |
| ifInUcastPkts, |
| ifInMulticastPkts, |
| ifInBroadcastPkts, |
| ifInDiscards, |
| ifOutUcastPkts, |
| ifOutMulticastPkts, |
| ifOutBroadcastPkts, |
| ifOutDiscards, |
| ifPromiscuousMode |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information |
| specific to high speed (greater than 20,000,000 |
| bits/second but less than or equal to 650,000,000 |
| bits/second) packet-oriented network interfaces." |
| ::= { ifGroups 5 } |
| |
| ifVHCPacketGroup OBJECT-GROUP |
| OBJECTS { |
| ifHCInUcastPkts, |
| ifHCInMulticastPkts, |
| ifHCInBroadcastPkts, |
| ifHCOutUcastPkts, |
| ifHCOutMulticastPkts, |
| ifHCOutBroadcastPkts, |
| ifHCInOctets, |
| ifHCOutOctets, |
| ifInOctets, |
| ifOutOctets, |
| ifInUnknownProtos, |
| ifInErrors, |
| ifOutErrors, |
| ifMtu, |
| ifInUcastPkts, |
| ifInMulticastPkts, |
| ifInBroadcastPkts, |
| ifInDiscards, |
| ifOutUcastPkts, |
| ifOutMulticastPkts, |
| ifOutBroadcastPkts, |
| ifOutDiscards, |
| ifPromiscuousMode |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information |
| specific to higher speed (greater than 650,000,000 |
| bits/second) packet-oriented network interfaces." |
| ::= { ifGroups 6 } |
| |
| ifRcvAddressGroup OBJECT-GROUP |
| OBJECTS { ifRcvAddressStatus, ifRcvAddressType } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information on the |
| multiple addresses which an interface receives." |
| ::= { ifGroups 7 } |
| |
| ifTestGroup OBJECT-GROUP |
| OBJECTS { |
| ifTestId, |
| ifTestStatus, |
| ifTestType, |
| ifTestResult, |
| ifTestCode, |
| ifTestOwner |
| } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing the ability to |
| invoke tests on an interface." |
| ::= { ifGroups 8 } |
| |
| ifStackGroup OBJECT-GROUP |
| OBJECTS { ifStackStatus } |
| STATUS current |
| DESCRIPTION |
| "A collection of objects providing information on the |
| layering of MIB-II interfaces." |
| ::= { ifGroups 9 } |
| |
| END |