IF-MIB.txt
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:70k
源码类别:

SNMP编程

开发平台:

Unix_Linux

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