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