home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 August / PCWorld_2001-08_cd.bin / Komunikace / phptriad / phptriadsetup2-11.exe / php / mibs / IF-MIB.txt < prev    next >
Text File  |  1999-07-23  |  63KB  |  1,754 lines

  1. IF-MIB DEFINITIONS ::= BEGIN
  2.  
  3. IMPORTS
  4.     MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32, Counter64,
  5.     Integer32, TimeTicks, mib-2,
  6.     NOTIFICATION-TYPE                        FROM SNMPv2-SMI
  7.     TEXTUAL-CONVENTION, DisplayString,
  8.     PhysAddress, TruthValue, RowStatus,
  9.     TimeStamp, AutonomousType, TestAndIncr   FROM SNMPv2-TC
  10.     MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
  11.     snmpTraps                                FROM SNMPv2-MIB
  12.     IANAifType                               FROM IANAifType-MIB;
  13.  
  14.  
  15. ifMIB MODULE-IDENTITY
  16.     LAST-UPDATED "9611031355Z"
  17.     ORGANIZATION "IETF Interfaces MIB Working Group"
  18.     CONTACT-INFO
  19.         "   Keith McCloghrie
  20.         Cisco Systems, Inc.
  21.         170 West Tasman Drive
  22.         San Jose, CA  95134-1706
  23.         US
  24.  
  25.         408-526-5260
  26.         kzm@cisco.com"
  27.     DESCRIPTION
  28.         "The MIB module to describe generic objects for
  29.         network interface sub-layers.  This MIB is an updated
  30.         version of MIB-II's ifTable, and incorporates the
  31.         extensions defined in RFC 1229."
  32.     REVISION      "9602282155Z"
  33.     DESCRIPTION
  34.         "Revisions made by the Interfaces MIB WG."
  35.     REVISION      "9311082155Z"
  36.     DESCRIPTION
  37.         "Initial revision, published as part of RFC 1573."
  38.     ::= { mib-2 31 }
  39.  
  40.  
  41. ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }
  42.  
  43. interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }
  44.  
  45.  
  46. OwnerString ::= TEXTUAL-CONVENTION
  47.     DISPLAY-HINT "255a"
  48.     STATUS       current
  49.     DESCRIPTION
  50.         "This data type is used to model an administratively
  51.         assigned name of the owner of a resource.  This
  52.         information is taken from the NVT ASCII character set.
  53.         It is suggested that this name contain one or more of
  54.         the following: ASCII form of the manager station's
  55.         transport address, management station name (e.g.,
  56.         domain name), network management personnel's name,
  57.         location, or phone number.  In some cases the agent
  58.         itself will be the owner of an entry.  In these cases,
  59.         this string shall be set to a string starting with
  60.         'agent'."
  61.     SYNTAX       OCTET STRING (SIZE(0..255))
  62.  
  63.  
  64. -- InterfaceIndex contains the semantics of ifIndex and
  65. -- should be used for any objects defined on other mib
  66. -- modules that need these semantics.
  67.  
  68. InterfaceIndex ::= TEXTUAL-CONVENTION
  69.     DISPLAY-HINT "d"
  70.     STATUS       current
  71.     DESCRIPTION
  72.         "A unique value, greater than zero, for each interface
  73.         or interface sub-layer in the managed system.  It is
  74.         recommended that values are assigned contiguously
  75.         starting from 1.  The value for each interface sub-
  76.         layer must remain constant at least from one re-
  77.         initialization of the entity's network management
  78.         system to the next re-initialization."
  79.     SYNTAX       Integer32 (1..2147483647)
  80.  
  81.  
  82. InterfaceIndexOrZero ::= TEXTUAL-CONVENTION
  83.     DISPLAY-HINT "d"
  84.     STATUS       current
  85.     DESCRIPTION
  86.         "This textual convention is an extension of the
  87.         InterfaceIndex convention.  The latter defines a
  88.         greater than zero value used to identify an interface
  89.         or interface sub-layer in the managed system.  This
  90.         extension permits the additional value of zero.  the
  91.         value zero is object-specific and must therefore be
  92.         defined as part of the description of any object which
  93.         uses this syntax.  Examples of the usage of zero might
  94.         include situations where interface was unknown, or
  95.         when none or all interfaces need to be referenced."
  96.     SYNTAX       Integer32 (0..2147483647)
  97.  
  98.  
  99. ifNumber  OBJECT-TYPE
  100.     SYNTAX      Integer32
  101.     MAX-ACCESS  read-only
  102.     STATUS      current
  103.     DESCRIPTION
  104.         "The number of network interfaces (regardless of their
  105.         current state) present on this system."
  106.     ::= { interfaces 1 }
  107.  
  108.  
  109. ifTableLastChange  OBJECT-TYPE
  110.     SYNTAX      TimeTicks
  111.     MAX-ACCESS  read-only
  112.     STATUS      current
  113.     DESCRIPTION
  114.         "The value of sysUpTime at the time of the last
  115.         creation or deletion of an entry in the ifTable.  If
  116.         the number of entries has been unchanged since the
  117.         last re-initialization of the local network management
  118.         subsystem, then this object contains a zero value."
  119.     ::= { ifMIBObjects 5 }
  120.  
  121.  
  122. -- the Interfaces table
  123.  
  124. -- The Interfaces table contains information on the entity's
  125. -- interfaces.  Each sub-layer below the internetwork-layer
  126. -- of a network interface is considered to be an interface.
  127.  
  128. ifTable OBJECT-TYPE
  129.     SYNTAX      SEQUENCE OF IfEntry
  130.     MAX-ACCESS  not-accessible
  131.     STATUS      current
  132.     DESCRIPTION
  133.         "A list of interface entries.  The number of entries
  134.         is given by the value of ifNumber."
  135.     ::= { interfaces 2 }
  136.  
  137. ifEntry OBJECT-TYPE
  138.     SYNTAX      IfEntry
  139.     MAX-ACCESS  not-accessible
  140.     STATUS      current
  141.     DESCRIPTION
  142.         "An entry containing management information applicable
  143.         to a particular interface."
  144.     INDEX   { ifIndex }
  145.     ::= { ifTable 1 }
  146.  
  147. IfEntry ::=
  148.     SEQUENCE {
  149.     ifIndex                 InterfaceIndex,
  150.     ifDescr                 DisplayString,
  151.     ifType                  IANAifType,
  152.     ifMtu                   Integer32,
  153.     ifSpeed                 Gauge32,
  154.     ifPhysAddress           PhysAddress,
  155.     ifAdminStatus           INTEGER,
  156.     ifOperStatus            INTEGER,
  157.     ifLastChange            TimeTicks,
  158.     ifInOctets              Counter32,
  159.     ifInUcastPkts           Counter32,
  160.     ifInNUcastPkts          Counter32,  -- deprecated
  161.     ifInDiscards            Counter32,
  162.     ifInErrors              Counter32,
  163.     ifInUnknownProtos       Counter32,
  164.     ifOutOctets             Counter32,
  165.     ifOutUcastPkts          Counter32,
  166.     ifOutNUcastPkts         Counter32,  -- deprecated
  167.     ifOutDiscards           Counter32,
  168.     ifOutErrors             Counter32,
  169.     ifOutQLen               Gauge32,    -- deprecated
  170.     ifSpecific              OBJECT IDENTIFIER -- deprecated
  171.     }
  172.  
  173. ifIndex OBJECT-TYPE
  174.     SYNTAX      InterfaceIndex
  175.     MAX-ACCESS  read-only
  176.     STATUS      current
  177.     DESCRIPTION
  178.         "A unique value, greater than zero, for each
  179.         interface.  It is recommended that values are assigned
  180.         contiguously starting from 1.  The value for each
  181.         interface sub-layer must remain constant at least from
  182.         one re-initialization of the entity's network
  183.         management system to the next re-initialization."
  184.     ::= { ifEntry 1 }
  185.  
  186. ifDescr OBJECT-TYPE
  187.     SYNTAX      DisplayString (SIZE (0..255))
  188.     MAX-ACCESS  read-only
  189.     STATUS      current
  190.     DESCRIPTION
  191.         "A textual string containing information about the
  192.         interface.  This string should include the name of the
  193.         manufacturer, the product name and the version of the
  194.         interface hardware/software."
  195.     ::= { ifEntry 2 }
  196.  
  197. ifType OBJECT-TYPE
  198.     SYNTAX      IANAifType
  199.     MAX-ACCESS  read-only
  200.     STATUS      current
  201.     DESCRIPTION
  202.         "The type of interface.  Additional values for ifType
  203.         are assigned by the Internet Assigned Numbers
  204.         Authority (IANA), through updating the syntax of the
  205.         IANAifType textual convention."
  206.     ::= { ifEntry 3 }
  207.  
  208. ifMtu OBJECT-TYPE
  209.     SYNTAX      Integer32
  210.     MAX-ACCESS  read-only
  211.     STATUS      current
  212.     DESCRIPTION
  213.         "The size of the largest packet which can be
  214.         sent/received on the interface, specified in octets.
  215.         For interfaces that are used for transmitting network
  216.         datagrams, this is the size of the largest network
  217.         datagram that can be sent on the interface."
  218.     ::= { ifEntry 4 }
  219.  
  220. ifSpeed OBJECT-TYPE
  221.     SYNTAX      Gauge32
  222.     MAX-ACCESS  read-only
  223.     STATUS      current
  224.     DESCRIPTION
  225.         "An estimate of the interface's current bandwidth in
  226.         bits per second.  For interfaces which do not vary in
  227.         bandwidth or for those where no accurate estimation
  228.         can be made, this object should contain the nominal
  229.         bandwidth.  If the bandwidth of the interface is
  230.         greater than the maximum value reportable by this
  231.         object then this object should report its maximum
  232.         value (4,294,967,295) and ifHighSpeed must be used to
  233.         report the interace's speed.  For a sub-layer which
  234.         has no concept of bandwidth, this object should be
  235.         zero."
  236.     ::= { ifEntry 5 }
  237.  
  238. ifPhysAddress OBJECT-TYPE
  239.     SYNTAX      PhysAddress
  240.     MAX-ACCESS  read-only
  241.     STATUS      current
  242.     DESCRIPTION
  243.         "The interface's address at its protocol sub-layer.
  244.         For example, for an 802.x interface, this object
  245.         normally contains a MAC address.  The interface's
  246.         media-specific MIB must define the bit and byte
  247.         ordering and the format of the value of this object.
  248.         For interfaces which do not have such an address
  249.         (e.g., a serial line), this object should contain an
  250.         octet string of zero length."
  251.     ::= { ifEntry 6 }
  252.  
  253. ifAdminStatus OBJECT-TYPE
  254.     SYNTAX  INTEGER {
  255.         up(1),       -- ready to pass packets
  256.         down(2),
  257.         testing(3)   -- in some test mode
  258.         }
  259.     MAX-ACCESS  read-write
  260.     STATUS      current
  261.     DESCRIPTION
  262.         "The desired state of the interface.  The testing(3)
  263.         state indicates that no operational packets can be
  264.         passed.  When a managed system initializes, all
  265.         interfaces start with ifAdminStatus in the down(2)
  266.         state.  As a result of either explicit management
  267.         action or per configuration information retained by
  268.         the managed system, ifAdminStatus is then changed to
  269.         either the up(1) or testing(3) states (or remains in
  270.         the down(2) state)."
  271.     ::= { ifEntry 7 }
  272.  
  273. ifOperStatus OBJECT-TYPE
  274.     SYNTAX  INTEGER {
  275.         up(1),        -- ready to pass packets
  276.         down(2),
  277.         testing(3),   -- in some test mode
  278.         unknown(4),   -- status can not be determined
  279.                   -- for some reason.
  280.         dormant(5),
  281.         notPresent(6),    -- some component is missing
  282.         lowerLayerDown(7) -- down due to state of
  283.                   -- lower-layer interface(s)
  284.         }
  285.     MAX-ACCESS  read-only
  286.     STATUS      current
  287.     DESCRIPTION
  288.         "The current operational state of the interface.  The
  289.         testing(3) state indicates that no operational packets
  290.         can be passed.  If ifAdminStatus is down(2) then
  291.         ifOperStatus should be down(2).  If ifAdminStatus is
  292.         changed to up(1) then ifOperStatus should change to
  293.         up(1) if the interface is ready to transmit and
  294.         receive network traffic; it should change to
  295.         dormant(5) if the interface is waiting for external
  296.         actions (such as a serial line waiting for an incoming
  297.         connection); it should remain in the down(2) state if
  298.         and only if there is a fault that prevents it from
  299.         going to the up(1) state; it should remain in the
  300.         notPresent(6) state if the interface has missing
  301.         (typically, hardware) components."
  302.     ::= { ifEntry 8 }
  303.  
  304. ifLastChange OBJECT-TYPE
  305.     SYNTAX      TimeTicks
  306.     MAX-ACCESS  read-only
  307.     STATUS      current
  308.     DESCRIPTION
  309.         "The value of sysUpTime at the time the interface
  310.         entered its current operational state.  If the current
  311.         state was entered prior to the last re-initialization
  312.         of the local network management subsystem, then this
  313.         object contains a zero value."
  314.     ::= { ifEntry 9 }
  315.  
  316. ifInOctets OBJECT-TYPE
  317.     SYNTAX      Counter32
  318.     MAX-ACCESS  read-only
  319.     STATUS      current
  320.     DESCRIPTION
  321.         "The total number of octets received on the interface,
  322.         including framing characters.
  323.  
  324.         Discontinuities in the value of this counter can occur
  325.         at re-initialization of the management system, and at
  326.         other times as indicated by the value of
  327.         ifCounterDiscontinuityTime."
  328.     ::= { ifEntry 10 }
  329.  
  330. ifInUcastPkts OBJECT-TYPE
  331.     SYNTAX      Counter32
  332.     MAX-ACCESS  read-only
  333.     STATUS      current
  334.     DESCRIPTION
  335.         "The number of packets, delivered by this sub-layer to
  336.         a higher (sub-)layer, which were not addressed to a
  337.         multicast or broadcast address at this sub-layer.
  338.  
  339.         Discontinuities in the value of this counter can occur
  340.         at re-initialization of the management system, and at
  341.         other times as indicated by the value of
  342.         ifCounterDiscontinuityTime."
  343.     ::= { ifEntry 11 }
  344.  
  345. ifInNUcastPkts OBJECT-TYPE
  346.     SYNTAX  Counter32
  347.     MAX-ACCESS  read-only
  348.     STATUS      deprecated
  349.     DESCRIPTION
  350.         "The number of packets, delivered by this sub-layer to
  351.         a higher (sub-)layer, which were addressed to a
  352.         multicast or broadcast address at this sub-layer.
  353.  
  354.         Discontinuities in the value of this counter can occur
  355.         at re-initialization of the management system, and at
  356.         other times as indicated by the value of
  357.         ifCounterDiscontinuityTime.
  358.  
  359.         This object is deprecated in favour of
  360.         ifInMulticastPkts and ifInBroadcastPkts."
  361.     ::= { ifEntry 12 }
  362.  
  363. ifInDiscards OBJECT-TYPE
  364.     SYNTAX      Counter32
  365.     MAX-ACCESS  read-only
  366.     STATUS      current
  367.     DESCRIPTION
  368.         "The number of inbound packets which were chosen to be
  369.         discarded even though no errors had been detected to
  370.         prevent their being deliverable to a higher-layer
  371.         protocol.  One possible reason for discarding such a
  372.         packet could be to free up buffer space.
  373.  
  374.         Discontinuities in the value of this counter can occur
  375.         at re-initialization of the management system, and at
  376.         other times as indicated by the value of
  377.         ifCounterDiscontinuityTime."
  378.     ::= { ifEntry 13 }
  379.  
  380. ifInErrors OBJECT-TYPE
  381.     SYNTAX      Counter32
  382.     MAX-ACCESS  read-only
  383.     STATUS      current
  384.     DESCRIPTION
  385.         "For packet-oriented interfaces, the number of inbound
  386.         packets that contained errors preventing them from
  387.         being deliverable to a higher-layer protocol.  For
  388.         character-oriented or fixed-length interfaces, the
  389.         number of inbound transmission units that contained
  390.         errors preventing them from being deliverable to a
  391.         higher-layer protocol.
  392.  
  393.         Discontinuities in the value of this counter can occur
  394.         at re-initialization of the management system, and at
  395.         other times as indicated by the value of
  396.         ifCounterDiscontinuityTime."
  397.     ::= { ifEntry 14 }
  398.  
  399. ifInUnknownProtos OBJECT-TYPE
  400.     SYNTAX      Counter32
  401.     MAX-ACCESS  read-only
  402.     STATUS      current
  403.     DESCRIPTION
  404.         "For packet-oriented interfaces, the number of packets
  405.         received via the interface which were discarded
  406.         because of an unknown or unsupported protocol.  For
  407.         character-oriented or fixed-length interfaces that
  408.         support protocol multiplexing the number of
  409.         transmission units received via the interface which
  410.         were discarded because of an unknown or unsupported
  411.         protocol.  For any interface that does not support
  412.         protocol multiplexing, this counter will always be 0.
  413.  
  414.         Discontinuities in the value of this counter can occur
  415.         at re-initialization of the management system, and at
  416.         other times as indicated by the value of
  417.         ifCounterDiscontinuityTime."
  418.     ::= { ifEntry 15 }
  419.  
  420. ifOutOctets OBJECT-TYPE
  421.     SYNTAX      Counter32
  422.     MAX-ACCESS  read-only
  423.     STATUS      current
  424.     DESCRIPTION
  425.         "The total number of octets transmitted out of the
  426.         interface, including framing characters.
  427.  
  428.         Discontinuities in the value of this counter can occur
  429.         at re-initialization of the management system, and at
  430.         other times as indicated by the value of
  431.         ifCounterDiscontinuityTime."
  432.     ::= { ifEntry 16 }
  433.  
  434. ifOutUcastPkts OBJECT-TYPE
  435.     SYNTAX      Counter32
  436.     MAX-ACCESS  read-only
  437.     STATUS      current
  438.     DESCRIPTION
  439.         "The total number of packets that higher-level
  440.         protocols requested be transmitted, and which were not
  441.         addressed to a multicast or broadcast address at this
  442.         sub-layer, including those that were discarded or not
  443.         sent.
  444.  
  445.         Discontinuities in the value of this counter can occur
  446.         at re-initialization of the management system, and at
  447.         other times as indicated by the value of
  448.         ifCounterDiscontinuityTime."
  449.     ::= { ifEntry 17 }
  450.  
  451. ifOutNUcastPkts OBJECT-TYPE
  452.     SYNTAX      Counter32
  453.     MAX-ACCESS  read-only
  454.     STATUS      deprecated
  455.     DESCRIPTION
  456.         "The total number of packets that higher-level
  457.         protocols requested be transmitted, and which were
  458.         addressed to a multicast or broadcast address at this
  459.         sub-layer, including those that were discarded or not
  460.         sent.
  461.  
  462.         Discontinuities in the value of this counter can occur
  463.         at re-initialization of the management system, and at
  464.         other times as indicated by the value of
  465.         ifCounterDiscontinuityTime.
  466.         This object is deprecated in favour of
  467.         ifOutMulticastPkts and ifOutBroadcastPkts."
  468.     ::= { ifEntry 18 }
  469.  
  470. ifOutDiscards OBJECT-TYPE
  471.     SYNTAX      Counter32
  472.     MAX-ACCESS  read-only
  473.     STATUS      current
  474.     DESCRIPTION
  475.         "The number of outbound packets which were chosen to
  476.         be discarded even though no errors had been detected
  477.         to prevent their being transmitted.  One possible
  478.         reason for discarding such a packet could be to free
  479.         up buffer space.
  480.  
  481.         Discontinuities in the value of this counter can occur
  482.         at re-initialization of the management system, and at
  483.         other times as indicated by the value of
  484.         ifCounterDiscontinuityTime."
  485.     ::= { ifEntry 19 }
  486.  
  487. ifOutErrors OBJECT-TYPE
  488.     SYNTAX      Counter32
  489.     MAX-ACCESS  read-only
  490.     STATUS      current
  491.     DESCRIPTION
  492.         "For packet-oriented interfaces, the number of
  493.         outbound packets that could not be transmitted because
  494.         of errors.  For character-oriented or fixed-length
  495.         interfaces, the number of outbound transmission units
  496.         that could not be transmitted because of errors.
  497.  
  498.         Discontinuities in the value of this counter can occur
  499.         at re-initialization of the management system, and at
  500.         other times as indicated by the value of
  501.         ifCounterDiscontinuityTime."
  502.     ::= { ifEntry 20 }
  503.  
  504.  
  505. ifOutQLen OBJECT-TYPE
  506.     SYNTAX      Gauge32
  507.     MAX-ACCESS  read-only
  508.     STATUS      deprecated
  509.     DESCRIPTION
  510.         "The length of the output packet queue (in packets)."
  511.     ::= { ifEntry 21 }
  512.  
  513. ifSpecific OBJECT-TYPE
  514.     SYNTAX      OBJECT IDENTIFIER
  515.     MAX-ACCESS  read-only
  516.     STATUS      deprecated
  517.     DESCRIPTION
  518.         "A reference to MIB definitions specific to the
  519.         particular media being used to realize the interface.
  520.         It is recommended that this value point to an instance
  521.         of a MIB object in the media-specific MIB, i.e., that
  522.         this object have the semantics associated with the
  523.         InstancePointer textual convention defined in RFC
  524.         1903.  In fact, it is recommended that the media-
  525.         specific MIB specify what value ifSpecific should/can
  526.         take for values of ifType.  If no MIB definitions
  527.         specific to the particular media are available, the
  528.         value should be set to the OBJECT IDENTIFIER { 0 0 }."
  529.     ::= { ifEntry 22 }
  530.  
  531. --
  532. --   Extension to the interface table
  533. --
  534. -- This table replaces the ifExtnsTable table.
  535. --
  536.  
  537. ifXTable        OBJECT-TYPE
  538.     SYNTAX      SEQUENCE OF IfXEntry
  539.     MAX-ACCESS  not-accessible
  540.     STATUS      current
  541.     DESCRIPTION
  542.         "A list of interface entries.  The number of entries
  543.         is given by the value of ifNumber.  This table
  544.         contains additional objects for the interface table."
  545.     ::= { ifMIBObjects 1 }
  546.  
  547. ifXEntry        OBJECT-TYPE
  548.     SYNTAX      IfXEntry
  549.     MAX-ACCESS  not-accessible
  550.     STATUS      current
  551.     DESCRIPTION
  552.         "An entry containing additional management information
  553.         applicable to a particular interface."
  554.     AUGMENTS    { ifEntry }
  555.     ::= { ifXTable 1 }
  556.  
  557. IfXEntry ::=
  558.     SEQUENCE {
  559.     ifName                  DisplayString,
  560.     ifInMulticastPkts       Counter32,
  561.     ifInBroadcastPkts       Counter32,
  562.     ifOutMulticastPkts      Counter32,
  563.     ifOutBroadcastPkts      Counter32,
  564.     ifHCInOctets            Counter64,
  565.     ifHCInUcastPkts         Counter64,
  566.     ifHCInMulticastPkts     Counter64,
  567.     ifHCInBroadcastPkts     Counter64,
  568.     ifHCOutOctets           Counter64,
  569.     ifHCOutUcastPkts        Counter64,
  570.     ifHCOutMulticastPkts    Counter64,
  571.     ifHCOutBroadcastPkts    Counter64,
  572.     ifLinkUpDownTrapEnable  INTEGER,
  573.     ifHighSpeed             Gauge32,
  574.     ifPromiscuousMode       TruthValue,
  575.     ifConnectorPresent      TruthValue,
  576.     ifAlias                 DisplayString,
  577.     ifCounterDiscontinuityTime TimeStamp
  578.     }
  579.  
  580.  
  581. ifName OBJECT-TYPE
  582.     SYNTAX      DisplayString
  583.     MAX-ACCESS  read-only
  584.     STATUS      current
  585.     DESCRIPTION
  586.         "The textual name of the interface.  The value of this
  587.         object should be the name of the interface as assigned
  588.         by the local device and should be suitable for use in
  589.         commands entered at the device's `console'.  This
  590.         might be a text name, such as `le0' or a simple port
  591.         number, such as `1', depending on the interface naming
  592.         syntax of the device.  If several entries in the
  593.         ifTable together represent a single interface as named
  594.         by the device, then each will have the same value of
  595.         ifName.  Note that for an agent which responds to SNMP
  596.         queries concerning an interface on some other
  597.         (proxied) device, then the value of ifName for such an
  598.         interface is the proxied device's local name for it.
  599.  
  600.         If there is no local name, or this object is otherwise
  601.         not applicable, then this object contains a zero-
  602.         length string."
  603.     ::= { ifXEntry 1 }
  604.  
  605. ifInMulticastPkts OBJECT-TYPE
  606.     SYNTAX      Counter32
  607.     MAX-ACCESS  read-only
  608.     STATUS      current
  609.     DESCRIPTION
  610.         "The number of packets, delivered by this sub-layer to
  611.         a higher (sub-)layer, which were addressed to a
  612.         multicast address at this sub-layer.  For a MAC layer
  613.         protocol, this includes both Group and Functional
  614.         addresses.
  615.  
  616.         Discontinuities in the value of this counter can occur
  617.         at re-initialization of the management system, and at
  618.         other times as indicated by the value of
  619.         ifCounterDiscontinuityTime."
  620.     ::= { ifXEntry 2 }
  621.  
  622. ifInBroadcastPkts OBJECT-TYPE
  623.     SYNTAX      Counter32
  624.     MAX-ACCESS  read-only
  625.     STATUS      current
  626.     DESCRIPTION
  627.         "The number of packets, delivered by this sub-layer to
  628.         a higher (sub-)layer, which were addressed to a
  629.         broadcast address at this sub-layer.
  630.  
  631.         Discontinuities in the value of this counter can occur
  632.         at re-initialization of the management system, and at
  633.         other times as indicated by the value of
  634.         ifCounterDiscontinuityTime."
  635.     ::= { ifXEntry 3 }
  636.  
  637. ifOutMulticastPkts OBJECT-TYPE
  638.     SYNTAX      Counter32
  639.     MAX-ACCESS  read-only
  640.     STATUS      current
  641.     DESCRIPTION
  642.         "The total number of packets that higher-level
  643.         protocols requested be transmitted, and which were
  644.         addressed to a multicast address at this sub-layer,
  645.         including those that were discarded or not sent.  For
  646.         a MAC layer protocol, this includes both Group and
  647.         Functional addresses.
  648.  
  649.         Discontinuities in the value of this counter can occur
  650.         at re-initialization of the management system, and at
  651.         other times as indicated by the value of
  652.         ifCounterDiscontinuityTime."
  653.     ::= { ifXEntry 4 }
  654.  
  655. ifOutBroadcastPkts OBJECT-TYPE
  656.     SYNTAX      Counter32
  657.     MAX-ACCESS  read-only
  658.     STATUS      current
  659.     DESCRIPTION
  660.         "The total number of packets that higher-level
  661.         protocols requested be transmitted, and which were
  662.         addressed to a broadcast address at this sub-layer,
  663.         including those that were discarded or not sent.
  664.  
  665.         Discontinuities in the value of this counter can occur
  666.         at re-initialization of the management system, and at
  667.         other times as indicated by the value of
  668.         ifCounterDiscontinuityTime."
  669.     ::= { ifXEntry 5 }
  670.  
  671. --
  672. -- High Capacity Counter objects.  These objects are all
  673. -- 64 bit versions of the "basic" ifTable counters.  These
  674. -- objects all have the same basic semantics as their 32-bit
  675. -- counterparts, however, their syntax has been extended
  676. -- to 64 bits.
  677. --
  678.  
  679. ifHCInOctets OBJECT-TYPE
  680.     SYNTAX      Counter64
  681.     MAX-ACCESS  read-only
  682.     STATUS      current
  683.     DESCRIPTION
  684.         "The total number of octets received on the interface,
  685.         including framing characters.  This object is a 64-bit
  686.         version of ifInOctets.
  687.  
  688.         Discontinuities in the value of this counter can occur
  689.         at re-initialization of the management system, and at
  690.         other times as indicated by the value of
  691.         ifCounterDiscontinuityTime."
  692.     ::= { ifXEntry 6 }
  693.  
  694. ifHCInUcastPkts OBJECT-TYPE
  695.     SYNTAX      Counter64
  696.     MAX-ACCESS  read-only
  697.     STATUS      current
  698.     DESCRIPTION
  699.         "The number of packets, delivered by this sub-layer to
  700.         a higher (sub-)layer, which were not addressed to a
  701.         multicast or broadcast address at this sub-layer.
  702.         This object is a 64-bit version of ifInUcastPkts.
  703.  
  704.         Discontinuities in the value of this counter can occur
  705.         at re-initialization of the management system, and at
  706.         other times as indicated by the value of
  707.         ifCounterDiscontinuityTime."
  708.     ::= { ifXEntry 7 }
  709.  
  710. ifHCInMulticastPkts OBJECT-TYPE
  711.     SYNTAX      Counter64
  712.     MAX-ACCESS  read-only
  713.     STATUS      current
  714.     DESCRIPTION
  715.         "The number of packets, delivered by this sub-layer to
  716.         a higher (sub-)layer, which were addressed to a
  717.         multicast address at this sub-layer.  For a MAC layer
  718.         protocol, this includes both Group and Functional
  719.         addresses.  This object is a 64-bit version of
  720.         ifInMulticastPkts.
  721.  
  722.         Discontinuities in the value of this counter can occur
  723.         at re-initialization of the management system, and at
  724.         other times as indicated by the value of
  725.         ifCounterDiscontinuityTime."
  726.     ::= { ifXEntry 8 }
  727.  
  728.  
  729. ifHCInBroadcastPkts OBJECT-TYPE
  730.     SYNTAX      Counter64
  731.     MAX-ACCESS  read-only
  732.     STATUS      current
  733.     DESCRIPTION
  734.         "The number of packets, delivered by this sub-layer to
  735.         a higher (sub-)layer, which were addressed to a
  736.         broadcast address at this sub-layer.  This object is a
  737.         64-bit version of ifInBroadcastPkts.
  738.  
  739.         Discontinuities in the value of this counter can occur
  740.         at re-initialization of the management system, and at
  741.         other times as indicated by the value of
  742.         ifCounterDiscontinuityTime."
  743.     ::= { ifXEntry 9 }
  744.  
  745. ifHCOutOctets OBJECT-TYPE
  746.     SYNTAX      Counter64
  747.     MAX-ACCESS  read-only
  748.     STATUS      current
  749.     DESCRIPTION
  750.         "The total number of octets transmitted out of the
  751.         interface, including framing characters.  This object
  752.         is a 64-bit version of ifOutOctets.
  753.  
  754.         Discontinuities in the value of this counter can occur
  755.         at re-initialization of the management system, and at
  756.         other times as indicated by the value of
  757.         ifCounterDiscontinuityTime."
  758.     ::= { ifXEntry 10 }
  759.  
  760. ifHCOutUcastPkts OBJECT-TYPE
  761.     SYNTAX      Counter64
  762.     MAX-ACCESS  read-only
  763.     STATUS      current
  764.     DESCRIPTION
  765.         "The total number of packets that higher-level
  766.         protocols requested be transmitted, and which were not
  767.         addressed to a multicast or broadcast address at this
  768.         sub-layer, including those that were discarded or not
  769.         sent.  This object is a 64-bit version of
  770.         ifOutUcastPkts.
  771.  
  772.         Discontinuities in the value of this counter can occur
  773.         at re-initialization of the management system, and at
  774.         other times as indicated by the value of
  775.         ifCounterDiscontinuityTime."
  776.     ::= { ifXEntry 11 }
  777.  
  778. ifHCOutMulticastPkts OBJECT-TYPE
  779.     SYNTAX      Counter64
  780.     MAX-ACCESS  read-only
  781.     STATUS      current
  782.     DESCRIPTION
  783.         "The total number of packets that higher-level
  784.         protocols requested be transmitted, and which were
  785.         addressed to a multicast address at this sub-layer,
  786.         including those that were discarded or not sent.  For
  787.         a MAC layer protocol, this includes both Group and
  788.         Functional addresses.  This object is a 64-bit version
  789.         of ifOutMulticastPkts.
  790.         Discontinuities in the value of this counter can occur
  791.         at re-initialization of the management system, and at
  792.         other times as indicated by the value of
  793.         ifCounterDiscontinuityTime."
  794.     ::= { ifXEntry 12 }
  795.  
  796. ifHCOutBroadcastPkts OBJECT-TYPE
  797.     SYNTAX      Counter64
  798.     MAX-ACCESS  read-only
  799.     STATUS      current
  800.     DESCRIPTION
  801.         "The total number of packets that higher-level
  802.         protocols requested be transmitted, and which were
  803.         addressed to a broadcast address at this sub-layer,
  804.         including those that were discarded or not sent.  This
  805.         object is a 64-bit version of ifOutBroadcastPkts.
  806.  
  807.         Discontinuities in the value of this counter can occur
  808.         at re-initialization of the management system, and at
  809.         other times as indicated by the value of
  810.         ifCounterDiscontinuityTime."
  811.     ::= { ifXEntry 13 }
  812.  
  813. ifLinkUpDownTrapEnable  OBJECT-TYPE
  814.     SYNTAX      INTEGER { enabled(1), disabled(2) }
  815.     MAX-ACCESS  read-write
  816.     STATUS      current
  817.     DESCRIPTION
  818.         "Indicates whether linkUp/linkDown traps should be
  819.         generated for this interface.
  820.  
  821.         By default, this object should have the value
  822.         enabled(1) for interfaces which do not operate on
  823.         'top' of any other interface (as defined in the
  824.         ifStackTable), and disabled(2) otherwise."
  825.     ::= { ifXEntry 14 }
  826.  
  827. ifHighSpeed OBJECT-TYPE
  828.     SYNTAX      Gauge32
  829.     MAX-ACCESS  read-only
  830.     STATUS      current
  831.     DESCRIPTION
  832.         "An estimate of the interface's current bandwidth in
  833.         units of 1,000,000 bits per second.  If this object
  834.         reports a value of `n' then the speed of the interface
  835.         is somewhere in the range of `n-500,000' to
  836.         `n+499,999'.  For interfaces which do not vary in
  837.         bandwidth or for those where no accurate estimation
  838.         can be made, this object should contain the nominal
  839.         bandwidth.  For a sub-layer which has no concept of
  840.         bandwidth, this object should be zero."
  841.     ::= { ifXEntry 15 }
  842.  
  843. ifPromiscuousMode  OBJECT-TYPE
  844.     SYNTAX      TruthValue
  845.     MAX-ACCESS  read-write
  846.     STATUS      current
  847.     DESCRIPTION
  848.         "This object has a value of false(2) if this interface
  849.         only accepts packets/frames that are addressed to this
  850.         station.  This object has a value of true(1) when the
  851.         station accepts all packets/frames transmitted on the
  852.         media.  The value true(1) is only legal on certain
  853.         types of media.  If legal, setting this object to a
  854.         value of true(1) may require the interface to be reset
  855.         before becoming effective.
  856.  
  857.         The value of ifPromiscuousMode does not affect the
  858.         reception of broadcast and multicast packets/frames by
  859.         the interface."
  860.     ::= { ifXEntry 16 }
  861.  
  862. ifConnectorPresent   OBJECT-TYPE
  863.     SYNTAX      TruthValue
  864.     MAX-ACCESS  read-only
  865.     STATUS      current
  866.     DESCRIPTION
  867.         "This object has the value 'true(1)' if the interface
  868.         sublayer has a physical connector and the value
  869.         'false(2)' otherwise."
  870.     ::= { ifXEntry 17 }
  871.  
  872. ifAlias   OBJECT-TYPE
  873.     SYNTAX      DisplayString (SIZE(0..64))
  874.     MAX-ACCESS  read-write
  875.     STATUS      current
  876.     DESCRIPTION
  877.         "This object is an 'alias' name for the interface as
  878.         specified by a network manager, and provides a non-
  879.         volatile 'handle' for the interface.
  880.  
  881.         On the first instantiation of an interface, the value
  882.         of ifAlias associated with that interface is the
  883.         zero-length string.  As and when a value is written
  884.         into an instance of ifAlias through a network
  885.         management set operation, then the agent must retain
  886.         the supplied value in the ifAlias instance associated
  887.         with the same interface for as long as that interface
  888.         remains instantiated, including across all re-
  889.         initializations/reboots of the network management
  890.         system, including those which result in a change of
  891.         the interface's ifIndex value.
  892.  
  893.         An example of the value which a network manager might
  894.         store in this object for a WAN interface is the
  895.         (Telco's) circuit number/identifier of the interface.
  896.  
  897.         Some agents may support write-access only for
  898.         interfaces having particular values of ifType.  An
  899.         agent which supports write access to this object is
  900.         required to keep the value in non-volatile storage,
  901.         but it may limit the length of new values depending on
  902.         how much storage is already occupied by the current
  903.         values for other interfaces."
  904.     ::= { ifXEntry 18 }
  905.  
  906. ifCounterDiscontinuityTime OBJECT-TYPE
  907.     SYNTAX      TimeStamp
  908.     MAX-ACCESS  read-only
  909.     STATUS      current
  910.     DESCRIPTION
  911.         "The value of sysUpTime on the most recent occasion at
  912.         which any one or more of this interface's counters
  913.         suffered a discontinuity.  The relevant counters are
  914.         the specific instances associated with this interface
  915.         of any Counter32 or Counter64 object contained in the
  916.         ifTable or ifXTable.  If no such discontinuities have
  917.         occurred since the last re-initialization of the local
  918.         management subsystem, then this object contains a zero
  919.         value."
  920.     ::= { ifXEntry 19 }
  921.  
  922.  
  923. --           The Interface Stack Group
  924. --
  925. -- Implementation of this group is mandatory for all systems
  926. --
  927.  
  928. ifStackTable  OBJECT-TYPE
  929.      SYNTAX        SEQUENCE OF IfStackEntry
  930.      MAX-ACCESS    not-accessible
  931.      STATUS        current
  932.      DESCRIPTION
  933.         "The table containing information on the relationships
  934.         between the multiple sub-layers of network interfaces.
  935.         In particular, it contains information on which sub-
  936.         layers run 'on top of' which other sub-layers, where
  937.         each sub-layer corresponds to a conceptual row in the
  938.         ifTable.  For example, when the sub-layer with ifIndex
  939.         value x runs over the sub-layer with ifIndex value y,
  940.         then this table contains:
  941.  
  942.           ifStackStatus.x.y=active
  943.  
  944.         For each ifIndex value, I, which identifies an active
  945.         interface, there are always at least two instantiated
  946.         rows in this table associated with I.  For one of
  947.         these rows, I is the value of ifStackHigherLayer; for
  948.         the other, I is the value of ifStackLowerLayer.  (If I
  949.         is not involved in multiplexing, then these are the
  950.         only two rows associated with I.)
  951.  
  952.         For example, two rows exist even for an interface
  953.         which has no others stacked on top or below it:
  954.  
  955.           ifStackStatus.0.x=active
  956.           ifStackStatus.x.0=active "
  957.      ::= { ifMIBObjects 2 }
  958.  
  959.  
  960. ifStackEntry  OBJECT-TYPE
  961.      SYNTAX        IfStackEntry
  962.      MAX-ACCESS    not-accessible
  963.      STATUS        current
  964.      DESCRIPTION
  965.         "Information on a particular relationship between two
  966.         sub-layers, specifying that one sub-layer runs on
  967.         'top' of the other sub-layer.  Each sub-layer
  968.         corresponds to a conceptual row in the ifTable."
  969.      INDEX { ifStackHigherLayer, ifStackLowerLayer }
  970.      ::= { ifStackTable 1 }
  971.  
  972.  
  973. IfStackEntry ::=
  974.     SEQUENCE {
  975.     ifStackHigherLayer  Integer32,
  976.     ifStackLowerLayer   Integer32,
  977.     ifStackStatus       RowStatus
  978.      }
  979.  
  980. ifStackHigherLayer  OBJECT-TYPE
  981.      SYNTAX        Integer32
  982.      MAX-ACCESS    not-accessible
  983.      STATUS        current
  984.      DESCRIPTION
  985.         "The value of ifIndex corresponding to the higher
  986.         sub-layer of the relationship, i.e., the sub-layer
  987.         which runs on 'top' of the sub-layer identified by the
  988.         corresponding instance of ifStackLowerLayer.  If there
  989.         is no higher sub-layer (below the internetwork layer),
  990.         then this object has the value 0."
  991.      ::= { ifStackEntry 1 }
  992.  
  993.  
  994. ifStackLowerLayer  OBJECT-TYPE
  995.      SYNTAX        Integer32
  996.      MAX-ACCESS    not-accessible
  997.      STATUS        current
  998.      DESCRIPTION
  999.         "The value of ifIndex corresponding to the lower sub-
  1000.         layer of the relationship, i.e., the sub-layer which
  1001.         runs 'below' the sub-layer identified by the
  1002.         corresponding instance of ifStackHigherLayer.  If
  1003.         there is no lower sub-layer, then this object has the
  1004.         value 0."
  1005.      ::= { ifStackEntry 2 }
  1006.  
  1007.  
  1008. ifStackStatus  OBJECT-TYPE
  1009.     SYNTAX         RowStatus
  1010.     MAX-ACCESS     read-create
  1011.     STATUS         current
  1012.     DESCRIPTION
  1013.         "The status of the relationship between two sub-
  1014.         layers.
  1015.  
  1016.         Changing the value of this object from 'active' to
  1017.         'notInService' or 'destroy' will likely have
  1018.         consequences up and down the interface stack.  Thus,
  1019.         write access to this object is likely to be
  1020.         inappropriate for some types of interfaces, and many
  1021.         implementations will choose not to support write-
  1022.         access for any type of interface."
  1023.     ::= { ifStackEntry 3 }
  1024.  
  1025. ifStackLastChange OBJECT-TYPE
  1026.     SYNTAX         TimeTicks
  1027.     MAX-ACCESS     read-only
  1028.     STATUS         current
  1029.     DESCRIPTION
  1030.         "The value of sysUpTime at the time of the last change
  1031.         of the (whole) interface stack.  A change of the
  1032.         interface stack is defined to be any creation,
  1033.         deletion, or change in value of any instance of
  1034.         ifStackStatus.  If the interface stack has been
  1035.         unchanged since the last re-initialization of the
  1036.         local network management subsystem, then this object
  1037.         contains a zero value."
  1038.     ::= { ifMIBObjects 6 }
  1039.  
  1040.  
  1041. --   Generic Receive Address Table
  1042. --
  1043. -- This group of objects is mandatory for all types of
  1044. -- interfaces which can receive packets/frames addressed to
  1045. -- more than one address.
  1046. --
  1047. -- This table replaces the ifExtnsRcvAddr table.  The main
  1048. -- difference is that this table makes use of the RowStatus
  1049. -- textual convention, while ifExtnsRcvAddr did not.
  1050.  
  1051. ifRcvAddressTable  OBJECT-TYPE
  1052.     SYNTAX      SEQUENCE OF IfRcvAddressEntry
  1053.     MAX-ACCESS  not-accessible
  1054.     STATUS      current
  1055.     DESCRIPTION
  1056.         "This table contains an entry for each address
  1057.         (broadcast, multicast, or uni-cast) for which the
  1058.         system will receive packets/frames on a particular
  1059.         interface, except as follows:
  1060.  
  1061.         - for an interface operating in promiscuous mode,
  1062.         entries are only required for those addresses for
  1063.         which the system would receive frames were it not
  1064.         operating in promiscuous mode.
  1065.  
  1066.         - for 802.5 functional addresses, only one entry is
  1067.         required, for the address which has the functional
  1068.         address bit ANDed with the bit mask of all functional
  1069.         addresses for which the interface will accept frames.
  1070.  
  1071.         A system is normally able to use any unicast address
  1072.         which corresponds to an entry in this table as a
  1073.         source address."
  1074.     ::= { ifMIBObjects 4 }
  1075.  
  1076. ifRcvAddressEntry  OBJECT-TYPE
  1077.     SYNTAX      IfRcvAddressEntry
  1078.     MAX-ACCESS  not-accessible
  1079.     STATUS      current
  1080.     DESCRIPTION
  1081.         "A list of objects identifying an address for which
  1082.         the system will accept packets/frames on the
  1083.         particular interface identified by the index value
  1084.         ifIndex."
  1085.     INDEX  { ifIndex, ifRcvAddressAddress }
  1086.     ::= { ifRcvAddressTable 1 }
  1087.  
  1088. IfRcvAddressEntry ::=
  1089.     SEQUENCE {
  1090.     ifRcvAddressAddress   PhysAddress,
  1091.     ifRcvAddressStatus    RowStatus,
  1092.     ifRcvAddressType      INTEGER
  1093.     }
  1094.  
  1095. ifRcvAddressAddress OBJECT-TYPE
  1096.     SYNTAX      PhysAddress
  1097.     MAX-ACCESS  not-accessible
  1098.     STATUS      current
  1099.     DESCRIPTION
  1100.         "An address for which the system will accept
  1101.         packets/frames on this entry's interface."
  1102.  
  1103.     ::= { ifRcvAddressEntry 1 }
  1104.  
  1105. ifRcvAddressStatus OBJECT-TYPE
  1106.     SYNTAX      RowStatus
  1107.     MAX-ACCESS  read-create
  1108.     STATUS      current
  1109.     DESCRIPTION
  1110.         "This object is used to create and delete rows in the
  1111.         ifRcvAddressTable."
  1112.     ::= { ifRcvAddressEntry 2 }
  1113.  
  1114. ifRcvAddressType OBJECT-TYPE
  1115.     SYNTAX      INTEGER {
  1116.             other(1),
  1117.             volatile(2),
  1118.             nonVolatile(3)
  1119.         }
  1120.  
  1121.     MAX-ACCESS  read-create
  1122.     STATUS      current
  1123.     DESCRIPTION
  1124.         "This object has the value nonVolatile(3) for those
  1125.         entries in the table which are valid and will not be
  1126.         deleted by the next restart of the managed system.
  1127.         Entries having the value volatile(2) are valid and
  1128.         exist, but have not been saved, so that will not exist
  1129.         after the next restart of the managed system.  Entries
  1130.         having the value other(1) are valid and exist but are
  1131.         not classified as to whether they will continue to
  1132.         exist after the next restart."
  1133.     DEFVAL  { volatile }
  1134.     ::= { ifRcvAddressEntry 3 }
  1135.  
  1136. -- definition of interface-related traps.
  1137.  
  1138. linkDown NOTIFICATION-TYPE
  1139.     OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
  1140.     STATUS  current
  1141.     DESCRIPTION
  1142.         "A linkDown trap signifies that the SNMPv2 entity,
  1143.         acting in an agent role, has detected that the
  1144.         ifOperStatus object for one of its communication links
  1145.         is about to enter the down state from some other state
  1146.         (but not from the notPresent state).  This other state
  1147.         is indicated by the included value of ifOperStatus."
  1148.     ::= { snmpTraps 3 }
  1149.  
  1150. linkUp NOTIFICATION-TYPE
  1151.     OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
  1152.     STATUS  current
  1153.     DESCRIPTION
  1154.         "A linkDown trap signifies that the SNMPv2 entity,
  1155.         acting in an agent role, has detected that the
  1156.         ifOperStatus object for one of its communication links
  1157.         left the down state and transitioned into some other
  1158.         state (but not into the notPresent state).  This other
  1159.         state is indicated by the included value of
  1160.         ifOperStatus."
  1161.     ::= { snmpTraps 4 }
  1162.  
  1163. -- conformance information
  1164.  
  1165. ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }
  1166.  
  1167. ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
  1168. ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }
  1169.  
  1170. -- compliance statements
  1171.  
  1172. ifCompliance2 MODULE-COMPLIANCE
  1173.     STATUS  current
  1174.     DESCRIPTION
  1175.         "The compliance statement for SNMPv2 entities which
  1176.         have network interfaces."
  1177.  
  1178.     MODULE  -- this module
  1179.     MANDATORY-GROUPS { ifGeneralInformationGroup, ifStackGroup2,
  1180.                ifCounterDiscontinuityGroup }
  1181.  
  1182.     GROUP       ifFixedLengthGroup
  1183.     DESCRIPTION
  1184.         "This group is mandatory for all network interfaces
  1185.         which are character-oriented or transmit data in
  1186.         fixed-length transmission units."
  1187.  
  1188.     GROUP       ifHCFixedLengthGroup
  1189.     DESCRIPTION
  1190.         "This group is mandatory only for those network
  1191.         interfaces which are character-oriented or transmit
  1192.         data in fixed-length transmission units, and for which
  1193.         the value of the corresponding instance of ifSpeed is
  1194.         greater than 20,000,000 bits/second."
  1195.  
  1196.     GROUP       ifPacketGroup
  1197.     DESCRIPTION
  1198.         "This group is mandatory for all network interfaces
  1199.         which are packet-oriented."
  1200.  
  1201.     GROUP       ifHCPacketGroup
  1202.     DESCRIPTION
  1203.         "This group is mandatory only for those network
  1204.         interfaces which are packet-oriented and for which the
  1205.         value of the corresponding instance of ifSpeed is
  1206.         greater than 650,000,000 bits/second."
  1207.  
  1208.     GROUP       ifRcvAddressGroup
  1209.     DESCRIPTION
  1210.         "The applicability of this group MUST be defined by
  1211.         the media-specific MIBs.  Media-specific MIBs must
  1212.         define the exact meaning, use, and semantics of the
  1213.         addresses in this group."
  1214.  
  1215.     OBJECT      ifLinkUpDownTrapEnable
  1216.     MIN-ACCESS  read-only
  1217.     DESCRIPTION
  1218.         "Write access is not required."
  1219.  
  1220.     OBJECT      ifPromiscuousMode
  1221.     MIN-ACCESS  read-only
  1222.     DESCRIPTION
  1223.         "Write access is not required."
  1224.  
  1225.     OBJECT      ifStackStatus
  1226.     SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  1227.     MIN-ACCESS  read-only
  1228.     DESCRIPTION
  1229.         "Write access is not required, and only one of the six
  1230.         enumerated values for the RowStatus textual convention
  1231.         need be supported, specifically: active(1)."
  1232.  
  1233.     OBJECT       ifAdminStatus
  1234.     SYNTAX       INTEGER { up(1), down(2) }
  1235.     MIN-ACCESS   read-only
  1236.     DESCRIPTION
  1237.         "Write access is not required, nor is support for the
  1238.         value testing(3)."
  1239.  
  1240.     OBJECT       ifAlias
  1241.     MIN-ACCESS   read-only
  1242.     DESCRIPTION
  1243.         "Write access is not required."
  1244.  
  1245.     ::= { ifCompliances 2 }
  1246.  
  1247. -- units of conformance
  1248.  
  1249. ifGeneralInformationGroup    OBJECT-GROUP
  1250.     OBJECTS { ifIndex, ifDescr, ifType, ifSpeed, ifPhysAddress,
  1251.           ifAdminStatus, ifOperStatus, ifLastChange,
  1252.           ifLinkUpDownTrapEnable, ifConnectorPresent,
  1253.           ifHighSpeed, ifName, ifNumber, ifAlias,
  1254.           ifTableLastChange }
  1255.     STATUS  current
  1256.     DESCRIPTION
  1257.         "A collection of objects providing information
  1258.         applicable to all network interfaces."
  1259.     ::= { ifGroups 10 }
  1260.  
  1261. -- the following five groups are mutually exclusive; at most
  1262. -- one of these groups is implemented for any interface
  1263.  
  1264. ifFixedLengthGroup    OBJECT-GROUP
  1265.     OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  1266.           ifInErrors, ifOutErrors }
  1267.     STATUS  current
  1268.     DESCRIPTION
  1269.         "A collection of objects providing information
  1270.         specific to non-high speed (non-high speed interfaces
  1271.         transmit and receive at speeds less than or equal to
  1272.         20,000,000 bits/second) character-oriented or fixed-
  1273.         length-transmission network interfaces."
  1274.     ::= { ifGroups 2 }
  1275.  
  1276. ifHCFixedLengthGroup    OBJECT-GROUP
  1277.     OBJECTS { ifHCInOctets, ifHCOutOctets,
  1278.           ifInOctets, ifOutOctets, ifInUnknownProtos,
  1279.           ifInErrors, ifOutErrors }
  1280.     STATUS  current
  1281.     DESCRIPTION
  1282.         "A collection of objects providing information
  1283.         specific to high speed (greater than 20,000,000
  1284.         bits/second) character-oriented or fixed-length-
  1285.         transmission network interfaces."
  1286.     ::= { ifGroups 3 }
  1287.  
  1288. ifPacketGroup    OBJECT-GROUP
  1289.     OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
  1290.           ifInErrors, ifOutErrors,
  1291.           ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1292.           ifInBroadcastPkts, ifInDiscards,
  1293.           ifOutUcastPkts, ifOutMulticastPkts,
  1294.           ifOutBroadcastPkts, ifOutDiscards,
  1295.           ifPromiscuousMode }
  1296.     STATUS  current
  1297.     DESCRIPTION
  1298.         "A collection of objects providing information
  1299.         specific to non-high speed (non-high speed interfaces
  1300.         transmit and receive at speeds less than or equal to
  1301.         20,000,000 bits/second) packet-oriented network
  1302.         interfaces."
  1303.     ::= { ifGroups 4 }
  1304.  
  1305. ifHCPacketGroup    OBJECT-GROUP
  1306.     OBJECTS { ifHCInOctets, ifHCOutOctets,
  1307.           ifInOctets, ifOutOctets, ifInUnknownProtos,
  1308.           ifInErrors, ifOutErrors,
  1309.           ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1310.           ifInBroadcastPkts, ifInDiscards,
  1311.           ifOutUcastPkts, ifOutMulticastPkts,
  1312.           ifOutBroadcastPkts, ifOutDiscards,
  1313.           ifPromiscuousMode }
  1314.     STATUS  current
  1315.     DESCRIPTION
  1316.         "A collection of objects providing information
  1317.         specific to high speed (greater than 20,000,000
  1318.         bits/second but less than or equal to 650,000,000
  1319.         bits/second) packet-oriented network interfaces."
  1320.     ::= { ifGroups 5 }
  1321.  
  1322. ifVHCPacketGroup    OBJECT-GROUP
  1323.     OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
  1324.           ifHCInBroadcastPkts, ifHCOutUcastPkts,
  1325.           ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
  1326.           ifHCInOctets, ifHCOutOctets,
  1327.           ifInOctets, ifOutOctets, ifInUnknownProtos,
  1328.           ifInErrors, ifOutErrors,
  1329.           ifMtu, ifInUcastPkts, ifInMulticastPkts,
  1330.           ifInBroadcastPkts, ifInDiscards,
  1331.           ifOutUcastPkts, ifOutMulticastPkts,
  1332.           ifOutBroadcastPkts, ifOutDiscards,
  1333.           ifPromiscuousMode }
  1334.     STATUS  current
  1335.     DESCRIPTION
  1336.         "A collection of objects providing information
  1337.         specific to higher speed (greater than 650,000,000
  1338.         bits/second) packet-oriented network interfaces."
  1339.     ::= { ifGroups 6 }
  1340.  
  1341. ifRcvAddressGroup    OBJECT-GROUP
  1342.     OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
  1343.     STATUS  current
  1344.     DESCRIPTION
  1345.         "A collection of objects providing information on the
  1346.         multiple addresses which an interface receives."
  1347.     ::= { ifGroups 7 }
  1348.  
  1349. ifStackGroup2    OBJECT-GROUP
  1350.     OBJECTS { ifStackStatus, ifStackLastChange }
  1351.     STATUS  current
  1352.     DESCRIPTION
  1353.         "A collection of objects providing information on the
  1354.         layering of MIB-II interfaces."
  1355.     ::= { ifGroups 11 }
  1356.  
  1357. ifCounterDiscontinuityGroup  OBJECT-GROUP
  1358.     OBJECTS { ifCounterDiscontinuityTime }
  1359.     STATUS  current
  1360.     DESCRIPTION
  1361.         "A collection of objects providing information
  1362.         specific to interface counter discontinuities."
  1363.     ::= { ifGroups 13 }
  1364.  
  1365. -- Deprecated Definitions - Objects
  1366.  
  1367.  
  1368. --
  1369. --    The Interface Test Table
  1370. --
  1371. -- This group of objects is optional.  However, a media-specific
  1372. -- MIB may make implementation of this group mandatory.
  1373. --
  1374. -- This table replaces the ifExtnsTestTable
  1375. --
  1376.  
  1377. ifTestTable   OBJECT-TYPE
  1378.     SYNTAX      SEQUENCE OF IfTestEntry
  1379.     MAX-ACCESS  not-accessible
  1380.     STATUS      deprecated
  1381.     DESCRIPTION
  1382.         "This table contains one entry per interface.  It
  1383.         defines objects which allow a network manager to
  1384.         instruct an agent to test an interface for various
  1385.         faults.  Tests for an interface are defined in the
  1386.         media-specific MIB for that interface.  After invoking
  1387.         a test, the object ifTestResult can be read to
  1388.         determine the outcome.  If an agent can not perform
  1389.         the test, ifTestResult is set to so indicate.  The
  1390.         object ifTestCode can be used to provide further
  1391.         test-specific or interface-specific (or even
  1392.         enterprise-specific) information concerning the
  1393.         outcome of the test.  Only one test can be in progress
  1394.         on each interface at any one time.  If one test is in
  1395.         progress when another test is invoked, the second test
  1396.         is rejected.  Some agents may reject a test when a
  1397.         prior test is active on another interface.
  1398.  
  1399.         Before starting a test, a manager-station must first
  1400.         obtain 'ownership' of the entry in the ifTestTable for
  1401.         the interface to be tested.  This is accomplished with
  1402.         the ifTestId and ifTestStatus objects as follows:
  1403.  
  1404.      try_again:
  1405.          get (ifTestId, ifTestStatus)
  1406.          while (ifTestStatus != notInUse)
  1407.          /*
  1408.           * Loop while a test is running or some other
  1409.           * manager is configuring a test.
  1410.           */
  1411.          short delay
  1412.          get (ifTestId, ifTestStatus)
  1413.          }
  1414.  
  1415.          /*
  1416.           * Is not being used right now -- let's compete
  1417.           * to see who gets it.
  1418.           */
  1419.          lock_value = ifTestId
  1420.  
  1421.          if ( set(ifTestId = lock_value, ifTestStatus = inUse,
  1422.               ifTestOwner = 'my-IP-address') == FAILURE)
  1423.          /*
  1424.           * Another manager got the ifTestEntry -- go
  1425.           * try again
  1426.           */
  1427.          goto try_again;
  1428.  
  1429.          /*
  1430.           * I have the lock
  1431.           */
  1432.          set up any test parameters.
  1433.  
  1434.          /*
  1435.           * This starts the test
  1436.           */
  1437.          set(ifTestType = test_to_run);
  1438.  
  1439.          wait for test completion by polling ifTestResult
  1440.  
  1441.          when test completes, agent sets ifTestResult
  1442.           agent also sets ifTestStatus = 'notInUse'
  1443.  
  1444.          retrieve any additional test results, and ifTestId
  1445.  
  1446.          if (ifTestId == lock_value+1) results are valid
  1447.  
  1448.        A manager station first retrieves the value of the
  1449.        appropriate ifTestId and ifTestStatus objects,
  1450.        periodically repeating the retrieval if necessary,
  1451.        until the value of ifTestStatus is 'notInUse'.  The
  1452.        manager station then tries to set the same ifTestId
  1453.        object to the value it just retrieved, the same
  1454.        ifTestStatus object to 'inUse', and the corresponding
  1455.        ifTestOwner object to a value indicating itself.  If
  1456.        the set operation succeeds then the manager has
  1457.        obtained ownership of the ifTestEntry, and the value of
  1458.        the ifTestId object is incremented by the agent (per
  1459.        the semantics of TestAndIncr).  Failure of the set
  1460.        operation indicates that some other manager has
  1461.        obtained ownership of the ifTestEntry.
  1462.  
  1463.        Once ownership is obtained, any test parameters can be
  1464.        setup, and then the test is initiated by setting
  1465.        ifTestType.  On completion of the test, the agent sets
  1466.        ifTestStatus to 'notInUse'.  Once this occurs, the
  1467.        manager can retrieve the results.  In the (rare) event
  1468.        that the invocation of tests by two network managers
  1469.        were to overlap, then there would be a possibility that
  1470.        the first test's results might be overwritten by the
  1471.        second test's results prior to the first results being
  1472.        read.  This unlikely circumstance can be detected by a
  1473.        network manager retrieving ifTestId at the same time as
  1474.        retrieving the test results, and ensuring that the
  1475.        results are for the desired request.
  1476.  
  1477.        If ifTestType is not set within an abnormally long
  1478.        period of time after ownership is obtained, the agent
  1479.        should time-out the manager, and reset the value of the
  1480.        ifTestStatus object back to 'notInUse'.  It is
  1481.        suggested that this time-out period be 5 minutes.
  1482.  
  1483.        In general, a management station must not retransmit a
  1484.        request to invoke a test for which it does not receive
  1485.        a response; instead, it properly inspects an agent's
  1486.        MIB to determine if the invocation was successful.
  1487.        Only if the invocation was unsuccessful, is the
  1488.        invocation request retransmitted.
  1489.  
  1490.        Some tests may require the interface to be taken off-
  1491.        line in order to execute them, or may even require the
  1492.        agent to reboot after completion of the test.  In these
  1493.        circumstances, communication with the management
  1494.        station invoking the test may be lost until after
  1495.        completion of the test.  An agent is not required to
  1496.        support such tests.  However, if such tests are
  1497.        supported, then the agent should make every effort to
  1498.        transmit a response to the request which invoked the
  1499.        test prior to losing communication.  When the agent is
  1500.        restored to normal service, the results of the test are
  1501.        properly made available in the appropriate objects.
  1502.        Note that this requires that the ifIndex value assigned
  1503.        to an interface must be unchanged even if the test
  1504.        causes a reboot.  An agent must reject any test for
  1505.        which it cannot, perhaps due to resource constraints,
  1506.        make available at least the minimum amount of
  1507.        information after that test completes."
  1508.     ::= { ifMIBObjects 3 }
  1509.  
  1510. ifTestEntry OBJECT-TYPE
  1511.     SYNTAX       IfTestEntry
  1512.     MAX-ACCESS   not-accessible
  1513.     STATUS       deprecated
  1514.     DESCRIPTION
  1515.         "An entry containing objects for invoking tests on an
  1516.         interface."
  1517.     AUGMENTS  { ifEntry }
  1518.     ::= { ifTestTable 1 }
  1519.  
  1520. IfTestEntry ::=
  1521.     SEQUENCE {
  1522.     ifTestId           TestAndIncr,
  1523.     ifTestStatus       INTEGER,
  1524.     ifTestType         AutonomousType,
  1525.     ifTestResult       INTEGER,
  1526.     ifTestCode         OBJECT IDENTIFIER,
  1527.     ifTestOwner        OwnerString
  1528.     }
  1529.  
  1530. ifTestId         OBJECT-TYPE
  1531.     SYNTAX       TestAndIncr
  1532.     MAX-ACCESS   read-write
  1533.     STATUS       deprecated
  1534.     DESCRIPTION
  1535.         "This object identifies the current invocation of the
  1536.         interface's test."
  1537.     ::= { ifTestEntry 1 }
  1538.  
  1539. ifTestStatus     OBJECT-TYPE
  1540.     SYNTAX       INTEGER { notInUse(1), inUse(2) }
  1541.     MAX-ACCESS   read-write
  1542.     STATUS       deprecated
  1543.     DESCRIPTION
  1544.         "This object indicates whether or not some manager
  1545.         currently has the necessary 'ownership' required to
  1546.         invoke a test on this interface.  A write to this
  1547.         object is only successful when it changes its value
  1548.         from 'notInUse(1)' to 'inUse(2)'.  After completion of
  1549.         a test, the agent resets the value back to
  1550.         'notInUse(1)'."
  1551.     ::= { ifTestEntry 2 }
  1552.  
  1553. ifTestType       OBJECT-TYPE
  1554.     SYNTAX       AutonomousType
  1555.     MAX-ACCESS   read-write
  1556.     STATUS       deprecated
  1557.     DESCRIPTION
  1558.         "A control variable used to start and stop operator-
  1559.         initiated interface tests.  Most OBJECT IDENTIFIER
  1560.         values assigned to tests are defined elsewhere, in
  1561.         association with specific types of interface.
  1562.         However, this document assigns a value for a full-
  1563.         duplex loopback test, and defines the special meanings
  1564.         of the subject identifier:
  1565.  
  1566.         noTest  OBJECT IDENTIFIER ::= { 0 0 }
  1567.  
  1568.         When the value noTest is written to this object, no
  1569.         action is taken unless a test is in progress, in which
  1570.         case the test is aborted.  Writing any other value to
  1571.         this object is only valid when no test is currently in
  1572.         progress, in which case the indicated test is
  1573.         initiated.
  1574.  
  1575.         When read, this object always returns the most recent
  1576.         value that ifTestType was set to.  If it has not been
  1577.         set since the last initialization of the network
  1578.         management subsystem on the agent, a value of noTest
  1579.         is returned."
  1580.     ::= { ifTestEntry 3 }
  1581.  
  1582. ifTestResult  OBJECT-TYPE
  1583.     SYNTAX       INTEGER {
  1584.              none(1),          -- no test yet requested
  1585.              success(2),
  1586.              inProgress(3),
  1587.              notSupported(4),
  1588.              unAbleToRun(5),   -- due to state of system
  1589.              aborted(6),
  1590.              failed(7)
  1591.          }
  1592.     MAX-ACCESS   read-only
  1593.     STATUS       deprecated
  1594.     DESCRIPTION
  1595.         "This object contains the result of the most recently
  1596.         requested test, or the value none(1) if no tests have
  1597.         been requested since the last reset.  Note that this
  1598.         facility provides no provision for saving the results
  1599.         of one test when starting another, as could be
  1600.         required if used by multiple managers concurrently."
  1601.     ::= { ifTestEntry 4 }
  1602.  
  1603. ifTestCode  OBJECT-TYPE
  1604.     SYNTAX       OBJECT IDENTIFIER
  1605.     MAX-ACCESS   read-only
  1606.     STATUS       deprecated
  1607.     DESCRIPTION
  1608.         "This object contains a code which contains more
  1609.         specific information on the test result, for example
  1610.         an error-code after a failed test.  Error codes and
  1611.         other values this object may take are specific to the
  1612.         type of interface and/or test.  The value may have the
  1613.         semantics of either the AutonomousType or
  1614.         InstancePointer textual conventions as defined in RFC
  1615.         1903.  The identifier:
  1616.  
  1617.         testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }
  1618.  
  1619.         is defined for use if no additional result code is
  1620.         available."
  1621.     ::= { ifTestEntry 5 }
  1622.  
  1623. ifTestOwner      OBJECT-TYPE
  1624.     SYNTAX       OwnerString
  1625.     MAX-ACCESS   read-write
  1626.     STATUS       deprecated
  1627.     DESCRIPTION
  1628.         "The entity which currently has the 'ownership'
  1629.         required to invoke a test on this interface."
  1630.     ::= { ifTestEntry 6 }
  1631.  
  1632. -- Deprecated Definitions - Groups
  1633.  
  1634.  
  1635. ifGeneralGroup    OBJECT-GROUP
  1636.     OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
  1637.           ifAdminStatus, ifOperStatus, ifLastChange,
  1638.           ifLinkUpDownTrapEnable, ifConnectorPresent,
  1639.           ifHighSpeed, ifName }
  1640.     STATUS  deprecated
  1641.     DESCRIPTION
  1642.         "A collection of objects deprecated in favour of
  1643.         ifGeneralInformationGroup."
  1644.     ::= { ifGroups 1 }
  1645.  
  1646.  
  1647. ifTestGroup    OBJECT-GROUP
  1648.     OBJECTS { ifTestId, ifTestStatus, ifTestType,
  1649.           ifTestResult, ifTestCode, ifTestOwner }
  1650.     STATUS  deprecated
  1651.     DESCRIPTION
  1652.         "A collection of objects providing the ability to
  1653.         invoke tests on an interface."
  1654.     ::= { ifGroups 8 }
  1655.  
  1656.  
  1657. ifStackGroup    OBJECT-GROUP
  1658.     OBJECTS { ifStackStatus }
  1659.     STATUS  deprecated
  1660.     DESCRIPTION
  1661.         "The previous collection of objects providing
  1662.         information on the layering of MIB-II interfaces."
  1663.     ::= { ifGroups 9 }
  1664.  
  1665.  
  1666. ifOldObjectsGroup    OBJECT-GROUP
  1667.     OBJECTS { ifInNUcastPkts, ifOutNUcastPkts,
  1668.           ifOutQLen, ifSpecific }
  1669.     STATUS  deprecated
  1670.     DESCRIPTION
  1671.         "The collection of objects deprecated from the
  1672.         original MIB-II interfaces group."
  1673.     ::= { ifGroups 12 }
  1674.  
  1675.  
  1676. -- Deprecated Definitions - Compliance
  1677.  
  1678. ifCompliance MODULE-COMPLIANCE
  1679.     STATUS  deprecated
  1680.     DESCRIPTION
  1681.         "The previous compliance statement for SNMPv2 entities
  1682.         which have network interfaces."
  1683.  
  1684.     MODULE  -- this module
  1685.     MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }
  1686.  
  1687.     GROUP       ifFixedLengthGroup
  1688.     DESCRIPTION
  1689.         "This group is mandatory for all network interfaces
  1690.         which are character-oriented or transmit data in
  1691.         fixed-length transmission units."
  1692.  
  1693.     GROUP       ifHCFixedLengthGroup
  1694.     DESCRIPTION
  1695.         "This group is mandatory only for those network
  1696.         interfaces which are character-oriented or transmit
  1697.         data in fixed-length transmission units, and for which
  1698.         the value of the corresponding instance of ifSpeed is
  1699.         greater than 20,000,000 bits/second."
  1700.  
  1701.     GROUP       ifPacketGroup
  1702.     DESCRIPTION
  1703.         "This group is mandatory for all network interfaces
  1704.         which are packet-oriented."
  1705.  
  1706.     GROUP       ifHCPacketGroup
  1707.     DESCRIPTION
  1708.         "This group is mandatory only for those network
  1709.         interfaces which are packet-oriented and for which the
  1710.         value of the corresponding instance of ifSpeed is
  1711.         greater than 650,000,000 bits/second."
  1712.  
  1713.     GROUP       ifTestGroup
  1714.     DESCRIPTION
  1715.         "This group is optional.  Media-specific MIBs which
  1716.         require interface tests are strongly encouraged to use
  1717.         this group for invoking tests and reporting results.
  1718.         A medium specific MIB which has mandatory tests may
  1719.         make implementation of this group mandatory."
  1720.  
  1721.     GROUP       ifRcvAddressGroup
  1722.     DESCRIPTION
  1723.         "The applicability of this group MUST be defined by
  1724.         the media-specific MIBs.  Media-specific MIBs must
  1725.         define the exact meaning, use, and semantics of the
  1726.         addresses in this group."
  1727.  
  1728.     OBJECT      ifLinkUpDownTrapEnable
  1729.     MIN-ACCESS  read-only
  1730.     DESCRIPTION
  1731.         "Write access is not required."
  1732.  
  1733.     OBJECT      ifPromiscuousMode
  1734.     MIN-ACCESS  read-only
  1735.     DESCRIPTION
  1736.         "Write access is not required."
  1737.  
  1738.     OBJECT      ifStackStatus
  1739.     SYNTAX      INTEGER { active(1) } -- subset of RowStatus
  1740.     MIN-ACCESS  read-only
  1741.     DESCRIPTION
  1742.         "Write access is not required, and only one of the six
  1743.         enumerated values for the RowStatus textual convention
  1744.         need be supported, specifically: active(1)."
  1745.     OBJECT       ifAdminStatus
  1746.     SYNTAX       INTEGER { up(1), down(2) }
  1747.     MIN-ACCESS   read-only
  1748.     DESCRIPTION
  1749.         "Write access is not required, nor is support for the
  1750.         value testing(3)."
  1751.     ::= { ifCompliances 1 }
  1752.  
  1753. END
  1754.