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