-- *****************************************************************
-- Cisco Extension to the IF MIB
--   
-- May 2002, Manik Raina
-- %DNP% Jun 2003, Sam Liang, Liwei Lue
-- %DNP% Jul 2003, Jayakumar Kadirvelu
-- %DNP% Aug 2003, Jayakumar Kadirvelu
-- %DNP% Aug 2004, Arul Mozhi
--   
-- Copyright (c) 2002-2016-2021 by cisco Systems Inc.
--   
-- All rights reserved.
-- *************************************************************

CISCO-IF-EXTENSION-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Counter32,
    Counter64,
    Gauge32,
    Unsigned32,
    Integer32,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    TruthValue,
    TimeStamp,
    DisplayString,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ifIndex,
    InterfaceIndexOrZero,
    ifName,
    ifType,
    ifAdminStatus,
    ifOperStatus
        FROM IF-MIB
    entPhysicalIndex
        FROM ENTITY-MIB
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    IfOperStatusReason
        FROM CISCO-TC
    ciscoMgmt
        FROM CISCO-SMI;


ciscoIfExtensionMIB MODULE-IDENTITY
    LAST-UPDATED    "202102120000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 West Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: cs-core-mibs@cisco.com,
            cs-lan-switch-snmp@cisco.com"
    DESCRIPTION
        "A MIB module for extending the IF-MIB (RFC2863)
        to add objects which provide additional information
        about interfaces not available in other MIBS.
        This MIB replaces the OLD-CISCO-INTERFACES-MIB.

        GLOSSARY :

        Virtual Switch - A physical switch partitioned into 
                multiple logical switches.

        Interface Sharing - An interface can be shared among 
                multiple virtual switches.

        Speed Group - An interface is capable of operating in any one of
        the speed range depending on the capability of the hardware.

        Virtual Link (VL) - Virtual Link is a logical connectivity 
            between two end points. A physical interface can 
            have multiple Virtual Links.

        No Drop Virtual Link - According to 802.3 standard, 
            No drop specifies lossless service on a virtual link.

        Drop Virtual Link - According to 802.3 standard,
            Traffic drop may occur on this virtual Link."
    REVISION        "202102120000Z"
    DESCRIPTION
        "Added enumerated value eightSixteenThirtyTwoSixtyFourG to
        cieIfSpeedGroupConfig."
    REVISION        "202011030000Z"
    DESCRIPTION
        "Added cieIfDuplexCfgStatus and cieIfDuplexDetectStatus."
    REVISION        "201612010000Z"
    DESCRIPTION
        "Added enumerated value fourEightSixteenThirtyTwoG(5) to
        cieIfSpeedGroupConfig."
    REVISION        "201303130000Z"
    DESCRIPTION
        "Added new object cieIfTransceiverFrequencyConfig,
        cieIfFillPatternConfig, cieIfIgnoreBitErrorsConfig and
        cieIfIgnoreInterruptThresholdConfig to cieIfInterfaceTable.
        - Added a new group 
          ciscoIfExtensionTableIntfGroup3SupR02
        - Deprecated ciscoIfExtensionMIBCompliance13
        - Added ciscoIfExtensionMIBCompliance14."
    REVISION        "201209050000Z"
    DESCRIPTION
        "Added new object cieLinkUpDownConfig.
        - Added a new group cieLinkUpDownNotifConfigGroup.
        - Deprecated cieLinkUpDownEnable.
        - Deprecated cieStandardLinkUpDownVarbinds.
        - Deprecated ciscoIfExtensionMIBCompliance13.
        - Added ciscoIfExtensionMIBCompliance14."
    REVISION        "201106270000Z"
    DESCRIPTION
        "Added new object cieIfSharedConfig and
        cieIfSpeedGroupConfig to cieIfInterfaceTable.
        Add cieIfVlStatsTable.
        - Added a new group 
        ciscoIfExtensionTableIntfGroup3SupR01 and 
        cieIfVlStatsGroup
        - Deprecated ciscoIfExtensionMIBCompliance12
        - Added ciscoIfExtensionMIBCompliance13."
    REVISION        "200902260000Z"
    DESCRIPTION
        "Added Textual Convention InterfaceOwnershipList
        - Added new object cieInterfaceOwnershipBitmap
        - Added new group cieIfStatusListGroupSup1
        - Deprecated ciscoIfExtensionMIBCompliance11
        - Added ciscoIfExtensionMIBCompliance12"
    REVISION        "200812090000Z"
    DESCRIPTION
        "Added new object cieIfOwner to
        cieIfInterfaceTable.
        - Added a new group 
        ciscoIfExtensionTableIntfGroup3
        - Deprecated ciscoIfExtensionTableIntfGroup2
        - Deprecated ciscoIfExtensionMIBCompliance10
        - Added ciscoIfExtensionMIBCompliance11"
    REVISION        "200810060000Z"
    DESCRIPTION
        "Added a new textual Convention IfIndexPersistenceState.
        - Added scalar object cieIfIndexGlobalPersistence to
          ciscoIfExtSystemConfig. 
        - Deprecated scalar object cieIfIndexPersistence to
          ciscoIfExtSystemConfig.
        - Added a new object cieIfIndexPersistenceControl in 
          cieIfIndexPersistenceTable.
        - Deprecated an object cieIfIndexPersistenceEnabled in 
          cieIfIndexPersistenceTable.
        - Added a new group cieIfIndexPersistenceControlGroup.
        - Deprecated the group cieIfIndexPersistenceGroup.
        - Added ciscoIfExtensionMIBCompliance10
        - Deprecated ciscoIfExtensionMIBCompliance9"
    REVISION        "200807310000Z"
    DESCRIPTION
        "Added cieIfOperStatusCause to the objects in the
        notification cieDelayedLinkUpDownNotif."
    REVISION        "200807080000Z"
    DESCRIPTION
        "Added notification cieDelayedLinkUpDownNotif
        - Added scalar objects cieDelayedLinkUpDownNotifEnable and 
          cieDelayedLinkUpDownNotifDelay to ciscoIfExtSystemConfig.
        - Added the following groups:
                  cieDelayedLinkUpDownNotifNotifGroup
                  cieDelayedLinkUpDownNotifNotifEnableGroup
        - Deprecated ciscoIfExtensionMIBCompliance7
        - Added ciscoIfExtensionMIBCompliance8."
    REVISION        "200806230000Z"
    DESCRIPTION
        "Added scalar object cieIfIndexPersistence to
        ciscoIfExtSystemConfig.
        - Added a new Table cieIfIndexPersistenceTable. 
        - Added a new object cieIfIndexPersistenceEnabled in 
        cieIfIndexPersistenceTable.
        - Added a new group cieIfIndexPersistenceGroup.
        - Deprecated ciscoIfExtensionMIBCompliance7
        - Added ciscoIfExtensionMIBCompliance8"
    REVISION        "200707230000Z"
    DESCRIPTION
        "Added cieIfInterval in cieIfUtilTable. Changed
        the description of objects in cieIfUtilTable.
        Added ciscoIfExtUtilIntervalGroup."
    REVISION        "200611010000Z"
    DESCRIPTION
        "Add support for asymetrical interfaces speeds.

        - Added following objects in cieIfInterfaceTable 
          cieIfSpeedReceive 
          cieIfHighSpeedReceive 
        - Added ciscoIfExtensionAsymmetricalSpeedGroup OBJECT-GROUP 
        - Added ciscoIfExtensionMIBCompliance6 MODULE-COMPLIANCE"
    REVISION        "200504280000Z"
    DESCRIPTION
        "Added:
        - cieLinkUp & cieLinkDown notifications.
        - object to control sending: only standard 
          linkUp/linkDown OR only cieLinkUp/cieLinkDown
          OR both.
        - object to control sending only standard defined
          varbinds in linkUp/linkDown OR additional varbinds
          in addition to standard defined."
    REVISION        "200501250000Z"
    DESCRIPTION
        "Updated the description of cieIfDot1dBaseMappingEntry."
    REVISION        "200409080000Z"
    DESCRIPTION
        "Added new objects 'cieIfOperStatusCause' and
        'cieIfOperStatusCauseDescr' in cieIfInterfaceTable.
        Added a new table 'cieIfStatusListTable'."
    REVISION        "200311140000Z"
    DESCRIPTION
        "Added new objects cieIfName and cieIfIndex for the
        'ifName' to 'ifIndex' mapping.  Deprecated the
        ciscoIfExtensionMIBCompliance2 compliance.
        Added ciscoIfExtensionMIBCompliance3 and
        ciscoIfExtIfNameMappingGroup."
    REVISION        "200308120000Z"
    DESCRIPTION
        "Added ciscoIfExtDot1dBaseMappingGroup."
    REVISION        "200307170000Z"
    DESCRIPTION
        "Added ciscoIfExtUtilizationGroup."
    REVISION        "200306250000Z"
    DESCRIPTION
        "Added the object cieSystemMtu and
        ciscoIfExtSystemGroup.
        Added ciscoIfExtDot1qCustomEtherType and
        ciscoIfExtDot1qEtherTypeGroup."
    REVISION        "200210120000Z"
    DESCRIPTION
        "Added the objects cieIfDhcpMode, cieIfMtu,
        cieIfContextName to cieIfInterfaceTable.
        Deprecated the ciscoIfExtensionMIBCompliance
        compliance.  Added ciscoIfExtensionMIBCompliance1.
        Added ciscoIfExtensionTableIntfGroup1."
    REVISION        "200207240000Z"
    DESCRIPTION
        "Initial version of the MIB module."
    ::= { ciscoMgmt 276 }


ciscoIfExtensionMIBNotifications  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIB 0 }

ciscoIfExtensionMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIB 1 }

ciscoIfExtensionMIBConformance  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIB 2 }

ciscoIfExtensionStats  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 1 }

ciscoIfExtSystemConfig  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 2 }

ciscoIfExtDot1qCustomEtherType  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 3 }

ciscoIfExtUtilization  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 4 }

ciscoIfExtDot1dBaseMapping  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 5 }

ciscoIfExtIfNameMapping  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBObjects 6 }


-- Textual Conventions

InterfaceIndexList ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines the 'ifIndex' for a
        set of 64 interfaces in a module.

        Each 4 bytes within the value of an object of this
        type is combined together to represent the interface
        index of a particular port in the module (i.e., each
        4 byte group represents the 'ifIndex' of an interface).

        The first 4 bytes (byte 1, byte 2, byte 3 and byte 4)
        combined represent the 'ifIndex' of an interface.
        While the second 4 bytes (byte 5, byte 6, byte 7 and
        byte 8) represent the 'ifIndex' for the next interface
        in the module, and so on.

        If there are only 'n' interfaces in a set of 64
        interfaces in the module, then bytes after the '4n'
        byte in this object are irrelevant."
    SYNTAX          OCTET STRING (SIZE (0..256))

InterfaceOperModeList ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines the operational mode
        for a set of 64 interfaces in a module.

        The operational mode of an interface is represented
        by the value defined in the textual convention
        'InterfaceOperMode' (defined in CISCO-ST-TC).

        Each 'byte' within the value of an object of this
        type, specifies the operational mode of an interface
        in the module.

        The first byte (byte 1) represents the operational
        mode of an interface in the module, whose 'ifIndex'
        is represented by the corresponding instance of
        'cieInterfacesIndex' object in its first 4 bytes.

        The second byte (byte 2) represents the operational
        mode of an interface in the module, whose 'ifIndex'
        is represented by the corresponding instance of
        'cieInterfacesIndex' object in its second 4 bytes.

        If there are only 'n' interfaces in a set of 64
        interfaces in the module, then bytes after the 'n'
        byte in this object are irrelevant."
    SYNTAX          OCTET STRING (SIZE (0..64))

InterfaceOperCauseList ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines the operational
        status cause for a set of 64 interfaces in a module.

        The operational status cause of an interface is
        represented by the value defined in the textual
        convention 'IfOperStatusReason' (defined in CISCO-TC).

        Each 2 bytes within the value of an object of this
        type is combined together to represent the operational
        status cause of a particular interface in the module
        (i.e., each 2 byte group represents the
        'cieIfOperStatusCause' of an interface).

        The first 2 bytes (byte 1 and byte 2) of this object,
        represents the operational status cause of an
        interface in the module, whose 'ifIndex' is
        represented by the corresponding instance of
        'cieInterfacesIndex' object in its first 4 bytes.

        The next 2 bytes (byte 3 and byte 4) of this object,
        represents the operational status cause of an
        interface in the module, whose 'ifIndex' is
        represented by the corresponding instance of
        'cieInterfacesIndex' object in the next 4 bytes
        respectively.

        If there are only 'n' interfaces in a set of 64
        interfaces in the module, then bytes after the
        '2n' byte in this object are irrelevant."
    SYNTAX          OCTET STRING (SIZE (0..128))

InterfaceOwnershipList ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines the status for a set of
        64 interfaces in a module regarding whether or not each 
        interface is administratively assigned a name of the current 
        owner of the interface resource as per the object cieIfOwner,
        defined on that interface. 

        Each 'bit' within the value of an object of this type, 
        specifies whether the corresponding interface on the module 
        has been administratively assigned a name of the current
        owner of the interface resource. In other words, each bit 
        represents whether the corresponding interface is 'owned' 
        or not. This bit is set to 1 if the interface is owned. 
        It is 0 otherwise.

        The first bit (bit 1) in byte 1 represents whether the 
        interface, whose 'ifIndex' is represented by the corresponding 
        instance of 'cieInterfacesIndex' object in its first 4 bytes, 
        is owned or not.

        The second byte (byte 2) in byte 2 represents whether the 
        interface, whose 'ifIndex' is represented by the corresponding 
        instance of 'cieInterfacesIndex' object in its second 4 bytes, 
        is owned or not.

        If there are only 'n' interfaces in a set of 64 interfaces in 
        the module, then bits after the 'n' bit in this object are 
        irrelevant and set to 0."
    SYNTAX          OCTET STRING (SIZE (0..8))

IfIndexPersistenceState ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention is used to define the state of ifIndex
        Persistence for both global as well as interface level.

        The global object, cieIfIndexGlobalPersistence can have two
        state of ifIndex Persistence i.e. either enable or disable. At
        interface level, the object cieIfIndexPersistenceControl can
        take all the three values enable/disable/global."
    SYNTAX          INTEGER  {
                        disable(1),
                        enable(2),
                        global(3)
                    }
-- CISCO IF Extension Packet Stats Table

cieIfPacketStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfPacketStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This  table contains interface packet
        statistics which are not available in 
        IF-MIB(RFC2863). 

        As an example, some interfaces to which
        objects in this table are applicable are
        as follows :

                o Ethernet
                o FastEthernet
                o ATM
                o BRI
                o Sonet
                o GigabitEthernet

        Some objects defined in this table may be 
        applicable to physical interfaces only.
        As a result, this table may be sparse for
        some logical interfaces."
    ::= { ciscoIfExtensionStats 1 }

cieIfPacketStatsEntry OBJECT-TYPE
    SYNTAX          CieIfPacketStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry into the cieIfPacketStatsTable."
    INDEX           { ifIndex } 
    ::= { cieIfPacketStatsTable 1 }

CieIfPacketStatsEntry ::= SEQUENCE {
        cieIfLastInTime              Gauge32,
        cieIfLastOutTime             Gauge32,
        cieIfLastOutHangTime         Gauge32,
        cieIfInRuntsErrs             Counter32,
        cieIfInGiantsErrs            Counter32,
        cieIfInFramingErrs           Counter32,
        cieIfInOverrunErrs           Counter32,
        cieIfInIgnored               Counter32,
        cieIfInAbortErrs             Counter32,
        cieIfInputQueueDrops         Counter32,
        cieIfOutputQueueDrops        Counter32,
        cieIfPacketDiscontinuityTime TimeStamp
}

-- The following section describes the objects in the table
-- in greater detail.

cieIfLastInTime OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the elapsed time in
        milliseconds since last protocol input 
        packet was received.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 1 }

cieIfLastOutTime OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the elapsed time in
        milliseconds since last protocol  output 
        packet was transmitted.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 2 }

cieIfLastOutHangTime OBJECT-TYPE
    SYNTAX          Gauge32
    UNITS           "milliseconds"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the elapsed time in
        milliseconds since last protocol    output
        packet could not be successfully transmitted.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 3 }

cieIfInRuntsErrs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of packets input on a particular
        physical interface which were dropped as
        they were smaller than the minimum allowable 
        physical media limit.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 4 }

cieIfInGiantsErrs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of input packets on a particular
        physical interface which were dropped as 
        they were larger than the ifMtu (largest 
        permitted  size of a packet which can be 
        sent/received on an interface).

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 5 }

cieIfInFramingErrs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of input packets on a physical
        interface which were misaligned or had
        framing errors. This happens when the 
        format of the incoming packet on a physical
        interface is incorrect.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 6 }

cieIfInOverrunErrs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of input packets which arrived
        on a particular physical interface which 
        were too quick for the hardware to receive
        and hence the receiver ran out of buffers.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 7 }

cieIfInIgnored OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of input packets which were simply
        ignored by this physical interface due to 
        insufficient resources to handle the incoming
        packets.

        For example, this could indicate that the input
        receive buffers are not available or that the
        receiver lost a packet.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 8 }

cieIfInAbortErrs OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Number of input packets which were dropped
        because the receiver aborted.

        Examples of this could be when an abort
        sequence aborted the input frame or when
        there is a collision in an ethernet segment.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 9 }

cieIfInputQueueDrops OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of input packets which were
        dropped.

        Some reasons why this object could be 
        incremented are:

        o  Input queue is full.
        o  Errors at the receiver hardware 
           while receiving the packet.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 10 }

cieIfOutputQueueDrops OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the  number of output
        packets dropped by the interface even though
        no error had been detected to prevent them
        being transmitted. 

        The packet could be dropped for many reasons,
        which could range from the interface being
        down to errors in the format of the packet.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfPacketDiscontinuityTime." 
    ::= { cieIfPacketStatsEntry 11 }

cieIfPacketDiscontinuityTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime on the most recent
        occasion at which this interface's  counters
        suffered a discontinuity. 

        If no such discontinuities have occurred 
        since the last re-initialization of the 
        local management subsystem, then this 
        object contains a value of zero." 
    ::= { cieIfPacketStatsEntry 12 }
 

-- Cisco IF Extension Interface Table

cieIfInterfaceTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfInterfaceEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This  table contains objects which provide
        more information about interface  
        properties not available in IF-MIB
        (RFC 2863).

        Some objects defined in this table may be
        applicable to physical interfaces only.
        As a result, this table may be sparse for
        logical interfaces."
    ::= { ciscoIfExtensionStats 2 }

cieIfInterfaceEntry OBJECT-TYPE
    SYNTAX          CieIfInterfaceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry into the cieIfInterfaceTable."
    INDEX           { ifIndex } 
    ::= { cieIfInterfaceTable 1 }

CieIfInterfaceEntry ::= SEQUENCE {
        cieIfResetCount                     Counter32,
        cieIfKeepAliveEnabled               TruthValue,
        cieIfStateChangeReason              SnmpAdminString,
        cieIfCarrierTransitionCount         Counter32,
        cieIfInterfaceDiscontinuityTime     TimeStamp,
        cieIfDhcpMode                       TruthValue,
        cieIfMtu                            Integer32,
        cieIfContextName                    OCTET STRING,
        cieIfOperStatusCause                IfOperStatusReason,
        cieIfOperStatusCauseDescr           SnmpAdminString,
        cieIfSpeedReceive                   Gauge32,
        cieIfHighSpeedReceive               Gauge32,
        cieIfOwner                          DisplayString,
        cieIfSharedConfig                   INTEGER,
        cieIfSpeedGroupConfig               INTEGER,
        cieIfTransceiverFrequencyConfig     INTEGER,
        cieIfFillPatternConfig              INTEGER,
        cieIfIgnoreBitErrorsConfig          TruthValue,
        cieIfIgnoreInterruptThresholdConfig TruthValue,
        cieIfDuplexCfgStatus                INTEGER,
        cieIfDuplexDetectStatus             INTEGER
}

cieIfResetCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The number of times the interface was
        internally reset and brought up.

        Some of the actions which can cause this
        counter to increment are :

        o  Bringing an interface up using the 
           interface CLI command.

        o  Clearing the interface with the exec
           CLI command.

        o  Bringing the interface up via SNMP.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfInterfaceDiscontinuityTime." 
    ::= { cieIfInterfaceEntry 1 }

cieIfKeepAliveEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "A keepalive is a small, layer-2 message
        that is transmitted by a network device 
        to let directly-connected network devices
        know of its presence.

        This object returns 'true' if keepalives
        are enabled on this interface. If keepalives
        are not enabled, 'false' is returned.

        Setting this object to TRUE or FALSE enables
        or disables (respectively) keepalive on this 
        interface." 
    ::= { cieIfInterfaceEntry 2 }

cieIfStateChangeReason OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object displays a human-readable
        textual string which describes the 
        cause of the last state change of the 
        interface.

        Examples of the values this object
        can take are:

        o  'Lost Carrier'
        o  'administratively down'
        o  'up'
        o  'down'" 
    ::= { cieIfInterfaceEntry 3 }

cieIfCarrierTransitionCount OBJECT-TYPE
    SYNTAX          Counter32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "Number of times interface saw the carrier
        signal transition.

        For example, if a T1 line is unplugged, 
        then framer will detect the loss of signal 
        (LOS) on the line  and will count it as a
        transition.

        Discontinuities in the value of this variable
        can occur at re-initialization of the
        management system, and at other times as 
        indicated by the values of 
        cieIfInterfaceDiscontinuityTime." 
    ::= { cieIfInterfaceEntry 4 }

cieIfInterfaceDiscontinuityTime OBJECT-TYPE
    SYNTAX          TimeStamp
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of sysUpTime on the most recent
        occasion at which this interface's  counters 
        suffered  a discontinuity. 

        If no such discontinuities have occurred 
        since the last re-initialization of the 
        local management subsystem, then this 
        object contains a value of zero." 
    ::= { cieIfInterfaceEntry 5 }

cieIfDhcpMode OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The DHCP mode configured by the
        administrator.
        If 'true' the DHCP is enabled. In which
        case an IP address is requested in DHCP.
        This is in addition to any that are 
        configured by the administrator in
        'ciiIPAddressTable' or 'ciiIPIfAddressTable'
        in CISCO-IP-IF-MIB.
        If 'false' the DHCP is disabled. In which
        case all IP addresses are configured by the
        administrator in 'ciiIPAddressTable' or 
        'ciiIPIfAddressTable'.
        For interfaces, for which DHCP cannot be or
        is not supported, then this object has the
        value 'false'."
    DEFVAL          { false } 
    ::= { cieIfInterfaceEntry 6 }

cieIfMtu OBJECT-TYPE
    SYNTAX          Integer32 (40..2147483647)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The MTU configured by the administrator.
        This object is exactly same as 'ifMtu' in 
        ifTable from IF-MIB for the same ifIndex
        value , except that it is configurable by the
        administrator. For more description of this
        object refer to 'ifMtu' in IF-MIB."
    DEFVAL          { 1500 } 
    ::= { cieIfInterfaceEntry 7 }

cieIfContextName OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE  (0..32))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The ContextName denotes the interface
        'context' and is used to logically separate
        the MIB management.
        RFC 2571 and RFC 2737 describe this approach.
        When the agent supports a different SNMP 
        context, as detailed in RFC 2571 and 
        RFC 2737, for different interfaces, then the
        value of this object specifies the context
        name used for this interface."
    DEFVAL          { "" } 
    ::= { cieIfInterfaceEntry 8 }

cieIfOperStatusCause OBJECT-TYPE
    SYNTAX          IfOperStatusReason
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the detailed
        operational cause reason for the current 
        operational state of the interface. 
        The current operational state of the interface 
        is given by the 'ifOperStatus' defined 
        in IF-MIB. 

        The corresponding instance of 
        'cieIfOperStatusCauseDescr' must be used to 
        get the information about the operational 
        cause value mentioned in this object.

        For interfaces whose 'ifOperStatus' is 'down' 
        the objects 'cieIfOperStatusCause' and 
        'cieIfOperStatusCauseDescr' together provides 
        the information about the operational cause 
        reason and the description of the cause. 

        The value of this object will be 'none' for
        all the 'ifOperStatus' values except for 
        'down'. Its value will be one status cause 
        defined in the 'IfOperStatusReason' textual 
        convention if 'ifOperStatus' is 'down'. 

        The value of this object will be 'other' 
        if the operational status cause is not one 
        defined in 'IfOperStatusReason'." 
    ::= { cieIfInterfaceEntry 9 }

cieIfOperStatusCauseDescr OBJECT-TYPE
    SYNTAX          SnmpAdminString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The description for the cause of current
        operational state of the interface, given 
        by the object 'cieIfOperStatusCause'.

        For an interface whose 'ifOperStatus' is not
        'down' the value of this object will be 
        'none'." 
    ::= { cieIfInterfaceEntry 10 }

cieIfSpeedReceive OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An estimate of the interface's current receive bandwidth in
        bits per second.  This object is provided for interface with
        asymmetric interface speeds like ADSL and should be used in
        conjunction with ifSpeed object.  For interfaces which do not
        vary in bandwidth or for those where no accurate estimation can
        be made, this object should contain the nominal bandwidth. If
        the bandwidth of the interface is greater than the maximum value
        reportable by this object then this object should report its
        maximum value (4,294,967,295) and ifHighSpeed must be used to
        report the interace's speed.  For a sub-layer which has no
        concept of bandwidth, this object should be zero." 
    ::= { cieIfInterfaceEntry 11 }

cieIfHighSpeedReceive OBJECT-TYPE
    SYNTAX          Gauge32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "An estimate of the interface's current receive bandwidth in
        units of 1,000,000 bits per second.  If this object reports a
        value of `n' then the speed of the interface is somewhere in the
        range of `n-500,000' to `n+499,999'.  For interfaces which do
        not vary in bandwidth or for those where no accurate estimation
        can be made, this object should contain the nominal bandwidth. 
        For a sub-layer which has no concept of bandwidth, this object
        should be zero." 
    ::= { cieIfInterfaceEntry 12 }

cieIfOwner OBJECT-TYPE
    SYNTAX          DisplayString (SIZE  (0..80))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This data type is used to model an administratively assigned
        name of the current owner of the interface resource. This 
        information is taken from the NVT ASCII character set.  It is 
        suggested that this name contain one or more of the following: 
        SnmpEngineID, IP address, management station name, network 
        manager's name, location, or phone number.
        SNMP access control is articulated entirely in terms of the 
        contents of MIB views; access to a particular SNMP object 
        instance depends only upon its presence or absence in a 
        particular MIB view and never upon its value or the value of 
        related object instances.
        Thus, this object affords resolution of resource contention 
        only among cooperating managers; this object realizes no access
        control function with respect to uncooperative parties." 
    ::= { cieIfInterfaceEntry 13 }

cieIfSharedConfig OBJECT-TYPE
    SYNTAX          INTEGER  {
                        notApplicable(1),
                        ownerDedicated(2),
                        ownerShared(3),
                        sharedOnly(4)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the current configuration of
        interface sharing on the given interface.

        'notApplicable' - the interface sharing configuration on 
                    this interface is not applicable. 
        'ownerDedicated' - the interface is in the dedicated mode
                    to the binding physical interface.
        'ownerShared' - the interface is shared amongst virtual switches
                 and this interface physically belongs to a its 
                 virtual switch.  
        'sharedOnly' - the interface is in purely shared mode." 
    ::= { cieIfInterfaceEntry 14 }

cieIfSpeedGroupConfig OBJECT-TYPE
    SYNTAX          INTEGER  {
                        notApplicable(1),
                        tenG(2),
                        oneTwoFourEightG(3),
                        twoFourEightSixteenG(4),
                        fourEightSixteenThirtyTwoG(5),
                        eightSixteenThirtyTwoSixtyFourG(6)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current speed group
        configuration on the given interface.

        'notApplicable' - the interface speed group configuration on
                    this interface is not applicable. It is a 
                    read-only value.
        '10G' - the interface speed group configuration on
                    this interface as 10G.
        '1G-2G-4G-8G' - the interface speed group configuration 
                    on this interface as 1G-2G-4G-8G.
        '2G-4G-8G-16G' - the interface speed group configuration 
                    on this interface as 2G-4G-8G-16G.
        '4G-8G-16G-32G' - the interface speed group configuration 
                    on this interface as 4G-8G-16G-32G.
        '8G-16G-32G-64G' - the interface speed group configuration 
                    on this interface as 8G-16G-32G-64G." 
    ::= { cieIfInterfaceEntry 15 }

cieIfTransceiverFrequencyConfig OBJECT-TYPE
    SYNTAX          INTEGER  {
                        notApplicable(1),
                        fibreChannel(2),
                        ethernet(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current transceiver frequency
        configuration on the given interface.

        'notApplicable' - the interface transceiver frequency 
                          configuration on this interface 
                          is not applicable. It is a read-only value.
        'FibreChannel' - the interface transceiver frequency
                         configuration on this interface as 
                         Fibre Channel.
        'Ethernet'    -  the interface transceiver frequency on
                         this interface as Ethernet."
    DEFVAL          { fibreChannel } 
    ::= { cieIfInterfaceEntry 16 }

cieIfFillPatternConfig OBJECT-TYPE
    SYNTAX          INTEGER  {
                        arbff8G(1),
                        idle8G(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current switchport fill pattern
        configuration on the given interface.

        'arbff8G' - the inter frame gap fill pattern is
                    ARBFF for 8G speed.
        'idle8G' - the inter frame gap fill pattern is
                   IDLE for 8G speed."
    DEFVAL          { arbff8G } 
    ::= { cieIfInterfaceEntry 17 }

cieIfIgnoreBitErrorsConfig OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current switchport biterrors
        configuration on the given interface.

        If 'true(1)' the ignore bit errors is enabled.In which case
        the interface ignores bit errors.
        If 'false(2)' the ignore bit errors is disabled. In which 
        case the interface acts on the bit errors. 
        For interfaces, for which bit errors 
        is not supported, then this object has the
        value 'true(1)'."
    DEFVAL          { true } 
    ::= { cieIfInterfaceEntry 18 }

cieIfIgnoreInterruptThresholdConfig OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the current interrupt threshold
        configuration on the given interface.

        'If 'true(1)' the ignore interrupt thresholds is enabled.
        In which case the interface ignores interrupt thresholds.
        If 'false(2)' the ignore interrupt thresholds is disabled.
        In which case the interface acts on the interrupt 
        thresholds. 
        For interfaces, for which interrupt thresholds 
        is not supported, then this object has the 
        value 'true(1)'."
    DEFVAL          { true } 
    ::= { cieIfInterfaceEntry 19 }

cieIfDuplexCfgStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        full(0),
                        half(1),
                        auto(2),
                        unsupported(3)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the configured duplex status on the
        given interface." 
    ::= { cieIfInterfaceEntry 20 }

cieIfDuplexDetectStatus OBJECT-TYPE
    SYNTAX          INTEGER  {
                        full(0),
                        half(1),
                        auto(2),
                        unknown(3),
                        invalid(4)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the detected duplex status on the
        given interface." 
    ::= { cieIfInterfaceEntry 21 }
 

-- Cisco IF Extension Interface Status List Table

cieIfStatusListTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfStatusListEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains objects for providing
        the 'ifIndex', interface operational mode and 
        interface operational cause for all the 
        interfaces in the modules.

        This table contains one entry for each 
        64 interfaces in an module.

        This table provides efficient way of encoding 
        'ifIndex', interface operational mode and
        interface operational cause, from the point 
        of retrieval, by combining the values a set 
        of 64 interfaces in a single MIB object."
    ::= { ciscoIfExtensionStats 3 }

cieIfStatusListEntry OBJECT-TYPE
    SYNTAX          CieIfStatusListEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry represents the 'ifIndex',
        interface operational mode and interface 
        operational cause for a set of 64 interfaces 
        in a module."
    INDEX           {
                        entPhysicalIndex,
                        cieIfStatusListIndex
                    } 
    ::= { cieIfStatusListTable 1 }

CieIfStatusListEntry ::= SEQUENCE {
        cieIfStatusListIndex        Unsigned32,
        cieInterfacesIndex          InterfaceIndexList,
        cieInterfacesOperMode       InterfaceOperModeList,
        cieInterfacesOperCause      InterfaceOperCauseList,
        cieInterfaceOwnershipBitmap InterfaceOwnershipList
}

cieIfStatusListIndex OBJECT-TYPE
    SYNTAX          Unsigned32 (1..33554432)
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An arbitrary integer value, greater than
        zero, which identifies a list of 64 interfaces
        within a module." 
    ::= { cieIfStatusListEntry 1 }

cieInterfacesIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the 'ifIndex' for a
        set of 64 interfaces in the module." 
    ::= { cieIfStatusListEntry 2 }

cieInterfacesOperMode OBJECT-TYPE
    SYNTAX          InterfaceOperModeList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the operational mode
        for a set of 64 interfaces in the module." 
    ::= { cieIfStatusListEntry 3 }

cieInterfacesOperCause OBJECT-TYPE
    SYNTAX          InterfaceOperCauseList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the operational status
        cause for a set of 64 interfaces in the 
        module." 
    ::= { cieIfStatusListEntry 4 }

cieInterfaceOwnershipBitmap OBJECT-TYPE
    SYNTAX          InterfaceOwnershipList
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the status for a set of 64 interfaces
        in a module regarding whether or not each interface is 
        administratively assigned a name of the current owner of the 
        interface resource as per cieIfOwner." 
    ::= { cieIfStatusListEntry 5 }
 


cieIfVlStatsTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfVlStatsEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains VL (Virtual Link) statistics
        for a capable interface.

        Objects defined in this table may be 
        applicable to physical interfaces only."
    ::= { ciscoIfExtensionStats 4 }

cieIfVlStatsEntry OBJECT-TYPE
    SYNTAX          CieIfVlStatsEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each row contains managed objects for
        Virtual Link statistics on interface capable of 
        providing this information."
    INDEX           { ifIndex } 
    ::= { cieIfVlStatsTable 1 }

CieIfVlStatsEntry ::= SEQUENCE {
        cieIfNoDropVlInPkts    Counter64,
        cieIfNoDropVlInOctets  Counter64,
        cieIfNoDropVlOutPkts   Counter64,
        cieIfNoDropVlOutOctets Counter64,
        cieIfDropVlInPkts      Counter64,
        cieIfDropVlInOctets    Counter64,
        cieIfDropVlOutPkts     Counter64,
        cieIfDropVlOutOctets   Counter64
}

cieIfNoDropVlInPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of input
        packets on all No-Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 1 }

cieIfNoDropVlInOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of input
        octets on all No-Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 2 }

cieIfNoDropVlOutPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of output
        packets on all No-Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 3 }

cieIfNoDropVlOutOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of output
        octets on all No-Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 4 }

cieIfDropVlInPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of input
        packets on all Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 5 }

cieIfDropVlInOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of input
        octets on all Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 6 }

cieIfDropVlOutPkts OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of output
        packets on all Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 7 }

cieIfDropVlOutOctets OBJECT-TYPE
    SYNTAX          Counter64
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates the number of output
        octets on all Drop Virtual Links belonged 
        to this interface." 
    ::= { cieIfVlStatsEntry 8 }
 


-- Cisco IF Extension System Config

cieSystemMtu OBJECT-TYPE
    SYNTAX          Integer32
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Global system MTU in octets.
        This object specifies the MTU on all interfaces.
        However, the value specified by cieIfMtu
        takes precedence for an interface, which means
        that the interface's MTU uses the value
        specified by cieIfMtu, if it is configured."
    DEFVAL          { 1500 } 
    ::= { ciscoIfExtSystemConfig 1 }

cieLinkUpDownEnable OBJECT-TYPE
    SYNTAX          BITS {
                        standard(0),
                        cisco(1)
                    }
    MAX-ACCESS      read-write
    STATUS          deprecated
    DESCRIPTION
        "Indicates whether cieLinkUp/cieLinkDown
        or standard mib-II defined linkUp/Down or
        both, notifications should be generated
        for the interfaces in the system.

        'standard'  - only generate standard defined
                      mib-II linkUp/linkDown notification
                      if 'ifLinkUpDownTrapEnable' for 
                      the interface is 'enabled'.
        'cisco'     - only generate cieLinkUp/cieLinkDown
                      notifications for an interface if
                      the 'ifLinkUpDownTrapEnable' for the
                      interface is 'enabled'.

        If both bits are selected then linkUp/linkDown and
        cieLinkUp/cieLinkDown are both generated for an 
        interface if the 'ifLinkUpDownTrapEnable' for the
        interface is 'enabled'."
    DEFVAL          { { standard } } 
    ::= { ciscoIfExtSystemConfig 2 }

cieStandardLinkUpDownVarbinds OBJECT-TYPE
    SYNTAX          INTEGER  {
                        standard(1),
                        additional(2),
                        other(3)
                    }
    MAX-ACCESS      read-write
    STATUS          deprecated
    DESCRIPTION
        "Indicates whether to send the extra
        varbinds in addition to the varbinds defined 
        in linkUp/linkDown notifications.

        'standard'   - only send the varbinds defined in
                       the standard linkUp/linkDown
                       notification.  
        'additional' - send the extra varbinds in addition 
                       to the defined ones.
        'other'      - any other config not covered by the above.
                       This value is read-only."
    DEFVAL          { additional } 
    ::= { ciscoIfExtSystemConfig 3 }

cieIfIndexPersistence OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          deprecated
    DESCRIPTION
        "This object specifies whether ifIndex values persist across
        reinitialization of the device.

        ifIndex persistence means that the mapping between the ifDescr
        object values and the ifIndex object values will be retained
        across reboots.

        Applications such as device inventory, billing, and fault
        detection depend on the maintenance of the correspondence
        between particular ifIndex values and their interfaces. During
        reboot or insertion of a new card, the data to correlate the
        interfaces to the ifIndex may become invalid in absence of
        ifIndex persistence feature.

        ifIndex persistence for an interface ensures ifIndex value for
        the interface will remain the same after a system reboot.
        Hence, this feature allows users to avoid the workarounds
        required for consistent interface identification across
        reinitialization.

        Due to change in syntax, this object is deprecated by
        cieIfIndexGlobalPersistence."
    DEFVAL          { false } 
    ::= { ciscoIfExtSystemConfig 4 }

cieIfIndexPersistenceTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfIndexPersistenceEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists configuration data relating to ifIndex
        persistence.

        This table has a sparse dependent relationship on the ifTable,
        containing a row for each ifEntry corresponding to an interface
        for which ifIndex persistence is supported."
    ::= { ciscoIfExtSystemConfig 5 }

cieIfIndexPersistenceEntry OBJECT-TYPE
    SYNTAX          CieIfIndexPersistenceEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Each entry represents ifindex persistence configuration for an
        interface specified by ifIndex. Whenever an interface which
        supports ifindex persistence is created/destroyed in the
        ifTable, the corresponding ifindex persistence entry is
        created/destroyed respectively. Some of the interfaces may not
        support ifindex persistence, for example, a dynamic interface,
        such as a PPP connection or a IP subscriber interface."
    INDEX           { ifIndex } 
    ::= { cieIfIndexPersistenceTable 1 }

CieIfIndexPersistenceEntry ::= SEQUENCE {
        cieIfIndexPersistenceEnabled TruthValue,
        cieIfIndexPersistenceControl IfIndexPersistenceState
}

cieIfIndexPersistenceEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          deprecated
    DESCRIPTION
        "This object specifies whether the interface's ifIndex value
        persist across reinitialization.

        Due to change in syntax, this object is deprecated by
        cieIfIndexPersistenceControl."
    DEFVAL          { true } 
    ::= { cieIfIndexPersistenceEntry 1 }

cieIfIndexPersistenceControl OBJECT-TYPE
    SYNTAX          IfIndexPersistenceState
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether the interface's ifIndex value
        persist across reinitialization. In global state, the interface
        uses the global setting data for persistence i.e.
        cieIfIndexGlobalPersistence."
    DEFVAL          { global } 
    ::= { cieIfIndexPersistenceEntry 2 }
 


cieDelayedLinkUpDownNotifEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether the system generates a
        cieDelayedLinkUpDownNotif notification."
    DEFVAL          { false } 
    ::= { ciscoIfExtSystemConfig 6 }

cieDelayedLinkUpDownNotifDelay OBJECT-TYPE
    SYNTAX          Unsigned32 (1..60)
    UNITS           "minutes"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the interval of time an interface's
        operational status must remain stable following a transition
        before the system will generate a cieDelayedLinkUpDownNotif."
    DEFVAL          { 4 } 
    ::= { ciscoIfExtSystemConfig 7 }

cieIfIndexGlobalPersistence OBJECT-TYPE
    SYNTAX          IfIndexPersistenceState
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether ifIndex values persist across
        reinitialization of the device.

        ifIndex persistence means that the mapping between the ifDescr
        object values and the ifIndex object values will be retained
        across reboots.

        Applications such as device inventory, billing, and fault
        detection depend on the maintenance of the correspondence
        between particular ifIndex values and their interfaces. During
        reboot or insertion of a new card, the data to correlate the
        interfaces to the ifIndex may become invalid in absence of
        ifIndex persistence feature.

        ifIndex persistence for an interface ensures ifIndex value for
        the interface will remain the same after a system reboot. Hence,
        this feature allows users to avoid the workarounds required for
        consistent interface identification across reinitialization.

        The allowed values for this object are either enable or disable.
        global value is not allowed."
    DEFVAL          { disable } 
    ::= { ciscoIfExtSystemConfig 8 }

cieLinkUpDownConfig OBJECT-TYPE
    SYNTAX          BITS {
                        standardLinkUp(0),
                        standardLinkDown(1),
                        additionalLinkUp(2),
                        additionalLinkDown(3),
                        ciscoLinkUp(4),
                        ciscoLinkDown(5)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies whether standard mib-II defined linkUp/
        linkDown, extended linkUp/linkDown (with extra varbinds in
        addition to the varbinds defined in linkUp/linkDown) or
        cieLinkUp/cieLinkDown notifications should be generated for
        the interfaces in the system.

        'standardLinkUp'     - generate standard defined mib-II 
                               linkUp notification if 
                               'ifLinkUpDownTrapEnable' for the 
                               interface is 'enabled'.
        'standardLinkDown'   - generate standard defined mib-II 
                               linkDown notification if 
                               'ifLinkUpDownTrapEnable' for the 
                               interface is 'enabled'.  
        'additionalLinkUp'   - generate linkUp notification with
                               additional varbinds if 
                               'ifLinkUpDownTrapEnable' for the 
                               interface is 'enabled'.  
        'additionalLinkDown' - generate linkDown notification with
                               additional varbinds if 
                               'ifLinkUpDownTrapEnable' for the 
                               interface is 'enabled'.
        'ciscoLinkUp'        - generate cieLinkUp notification
                               if the 'ifLinkUpDownTrapEnable' for the
                               interface is 'enabled'.
        'ciscoLinkDown'      - generate cieLinkDown notification
                               if the 'ifLinkUpDownTrapEnable' for the
                               interface is 'enabled'.

        If multiple bits are set then multiple notifications will
        be generated for an interface if the 'ifLinkUpDownTrapEnable' 
        for the interface is 'enabled'." 
    ::= { ciscoIfExtSystemConfig 9 }
-- Cisco IF Extension Dot1q Custom EtherType Table

cieIfDot1qCustomEtherTypeTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfDot1qCustomEtherTypeEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "A list of the interfaces that support
        the 802.1q custom Ethertype feature."
    ::= { ciscoIfExtDot1qCustomEtherType 1 }

cieIfDot1qCustomEtherTypeEntry OBJECT-TYPE
    SYNTAX          CieIfDot1qCustomEtherTypeEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing the custom EtherType
        information for the interface.

        Only interfaces with custom 802.1q
        ethertype control are listed in the 
        table."
    INDEX           { ifIndex } 
    ::= { cieIfDot1qCustomEtherTypeTable 1 }

CieIfDot1qCustomEtherTypeEntry ::= SEQUENCE {
        cieIfDot1qCustomAdminEtherType Integer32,
        cieIfDot1qCustomOperEtherType  Integer32
}

cieIfDot1qCustomAdminEtherType OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "The Dot1qEtherType allow administrator
        to select a non-standard (other than 0x8100)
        2-byte ethertype for the interface to 
        interoperate with third party vendor's system
        that do not use the standard 0x8100 ethertype
        to identify 802.1q-tagged frames.

        The current administrative value of the 
        802.1q ethertype for the interface.  The
        administrative 802.1q ethertype value may 
        differ from the operational 802.1q ethertype
        value.  On some platforms, 802.1q ethertype
        may be assigned per group rather than per port.
        If multiple ports belong to a port group,
        the 802.1q ethertype assigned to any of
        the ports in such group will apply to all
        ports in the same group.

        To configure non-standard dot1q ethertype
        is only recommended when the Cisco device
        is connected to any third party vendor device.
        Also be advised that the custom ethertype value
        needs to be changed in the whole cloud of 
        Cisco device with the same custom ethertype 
        value if the third party device are separated 
        by number of Cisco device in the middle." 
    ::= { cieIfDot1qCustomEtherTypeEntry 1 }

cieIfDot1qCustomOperEtherType OBJECT-TYPE
    SYNTAX          Integer32 (0..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The current operational value of the
        802.1q ethertype for the interface." 
    ::= { cieIfDot1qCustomEtherTypeEntry 2 }
 

-- Interface Utlization Group

cieIfUtilTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfUtilEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the interface utilization
        rates for inbound and outbound traffic on an
        interface."
    ::= { ciscoIfExtUtilization 1 }

cieIfUtilEntry OBJECT-TYPE
    SYNTAX          CieIfUtilEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing utilization rates for the
        interface.

        Every interface for which the  inbound and 
        outbound traffic information is available
        has a corresponding entry in this table."
    INDEX           { ifIndex } 
    ::= { cieIfUtilTable 1 }

CieIfUtilEntry ::= SEQUENCE {
        cieIfInPktRate    Counter64,
        cieIfInOctetRate  Counter64,
        cieIfOutPktRate   Counter64,
        cieIfOutOctetRate Counter64,
        cieIfInterval     Unsigned32
}

cieIfInPktRate OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets per second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "By default, this is the five minute
        exponentially-decayed moving average of the
        inbound packet rate for this interface.
        However, if the corresponding instance of
        cieIfInterval is instantiated with a value
        which specifies an interval different from
        5-minutes, then cieIfInPktRate is the
        exponentially-decayed moving average of inbound
        packet rate over this different time interval." 
    ::= { cieIfUtilEntry 1 }

cieIfInOctetRate OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "octets per second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "By default, this is the five minute
        exponentially-decayed moving average of the
        inbound octet rate for this interface.
        However, if the corresponding instance of
        cieIfInterval is instantiated with a value
        which specifies an interval different from
        5-minutes, then cieIfInOctetRate is the
        exponentially-decayed moving average of inbound
        octet rate over this different time interval." 
    ::= { cieIfUtilEntry 2 }

cieIfOutPktRate OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "packets per second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "By default, this is the five minute
        exponentially-decayed moving average of the
        outbound packet rate for this interface.
        However, if the corresponding instance of
        cieIfInterval is instantiated with a value
        which specifies an interval different from
        5-minutes, then cieIfOutPktRate is the
        exponentially-decayed moving average of outbound
        packet rate over this different time interval." 
    ::= { cieIfUtilEntry 3 }

cieIfOutOctetRate OBJECT-TYPE
    SYNTAX          Counter64
    UNITS           "octets per second"
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "By default, this is the five minute
        exponentially-decayed moving average of the
        outbound octet rate for this interface.
        However, if the corresponding instance of
        cieIfInterval is instantiated with a value
        which specifies an interval different from
        5-minutes, then cieIfOutOctetRate is the
        exponentially-decayed moving average of outbound
        octet rate over this different time interval." 
    ::= { cieIfUtilEntry 4 }

cieIfInterval OBJECT-TYPE
    SYNTAX          Unsigned32 (1..4294967295)
    UNITS           "seconds"
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "This object specifies the time interval over which
        the inbound and outbound traffic rates are
        calculated for this interface." 
    ::= { cieIfUtilEntry 5 }
 

-- dot1BaseMapping Group

cieIfDot1dBaseMappingTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfDot1dBaseMappingEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains the mappings of the
        ifIndex of an interface to its
        corresponding dot1dBasePort value."
    REFERENCE       "dot1dBasePort is defined in BRIDGE-MIB."
    ::= { ciscoIfExtDot1dBaseMapping 1 }

cieIfDot1dBaseMappingEntry OBJECT-TYPE
    SYNTAX          CieIfDot1dBaseMappingEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry containing the mapping between
        the ifIndex value of an interface and its
        corresponding dot1dBasePort value.

        Every interface which has been assigned
        a dot1dBasePort value by the system
        has a corresponding entry in this table."
    REFERENCE       "dot1dBasePort is defined in BRIDGE-MIB."
    INDEX           { ifIndex } 
    ::= { cieIfDot1dBaseMappingTable 1 }

CieIfDot1dBaseMappingEntry ::= SEQUENCE {
        cieIfDot1dBaseMappingPort Integer32
}

cieIfDot1dBaseMappingPort OBJECT-TYPE
    SYNTAX          Integer32 (1..65535)
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The dot1dBasePort value for this interface."
    REFERENCE       "dot1dBasePort is defined in BRIDGE-MIB." 
    ::= { cieIfDot1dBaseMappingEntry 1 }
 

-- Cisco IF Extension 'ifName' to 'ifIndex' Mapping Table

cieIfNameMappingTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CieIfNameMappingEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table contains objects for providing
        the 'ifName' to 'ifIndex' mapping.
        This table contains one entry for each
        valid 'ifName' available in the system.
        Upon the first request, the implementation
        of this table will get all the available
        ifNames, and it will populate the entries
        in this table, it maintains this ifNames
        in a cache for ~30 seconds."
    ::= { ciscoIfExtIfNameMapping 1 }

cieIfNameMappingEntry OBJECT-TYPE
    SYNTAX          CieIfNameMappingEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry into the cieIfNameMappingTable."
    INDEX           { cieIfName } 
    ::= { cieIfNameMappingTable 1 }

CieIfNameMappingEntry ::= SEQUENCE {
        cieIfName  DisplayString,
        cieIfIndex InterfaceIndexOrZero
}

cieIfName OBJECT-TYPE
    SYNTAX          DisplayString (SIZE  (1..112))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "Represents an interface name mentioned
        in the 'ifName' object of this system." 
    ::= { cieIfNameMappingEntry 1 }

cieIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndexOrZero
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object represents the 'ifIndex'
        corresponding to the interface name mentioned
        in the 'cieIfName' object of this instance.
        If the 'ifName' mentioned in the 'cieIfName' 
        object of this instance corresponds to multiple
        'ifIndex' values, then the value of this object
        is the numerically smallest of those multiple 
        'ifIndex' values." 
    ::= { cieIfNameMappingEntry 2 }
 


-- definition of cisco specific interface-related traps.

cieLinkDown NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        ifAdminStatus,
                        ifOperStatus,
                        ifName,
                        ifType
                    }
    STATUS          current
    DESCRIPTION
        "A cisco specific linkDown notification
        signifies that the SNMP entity, acting in an
        agent role, has detected that the ifOperStatus
        object for one of its communication links is
        about to enter the down state from some other
        state (but not from the notPresent state).
        The varbinds for this notification indicate the
        interface information of the communication
        link."
   ::= { ciscoIfExtensionMIBNotifications 1 }

cieLinkUp NOTIFICATION-TYPE
    OBJECTS         {
                        ifIndex,
                        ifAdminStatus,
                        ifOperStatus,
                        ifName,
                        ifType
                    }
    STATUS          current
    DESCRIPTION
        "A cisco specific linkUp trap signifies that
        the SNMP entity, acting in an agent role, has
        detected that the ifOperStatus object for one
        of its communication links left the down state
        and transitioned into some other state (but not
        into the notPresent state). The varbinds for
        this notification indicate the interface
        information of the communication link."
   ::= { ciscoIfExtensionMIBNotifications 2 }

cieDelayedLinkUpDownNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifAdminStatus,
                        ifOperStatus,
                        ifName,
                        ifType,
                        cieIfOperStatusCause
                    }
    STATUS          current
    DESCRIPTION
        "This notification indicates when an interface's operational
        status has transitioned and remained in that state for a time
        specified by cieDelayedLinkUpDownDelay."
   ::= { ciscoIfExtensionMIBNotifications 3 }
-- Conformance

ciscoIfExtensionMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBConformance 1 }

ciscoIfExtensionMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoIfExtensionMIBConformance 2 }


-- Compliance

ciscoIfExtensionMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        ciscoIfExtensionTablePacketGroup,
                        ciscoIfExtensionTableIntfGroup
                    }
    ::= { ciscoIfExtensionMIBCompliances 1 }

ciscoIfExtensionMIBCompliance1 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only required
        on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 2 }

ciscoIfExtensionMIBCompliance2 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only required
        on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 3 }

ciscoIfExtensionMIBCompliance3 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only required
        on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 4 }

ciscoIfExtensionMIBCompliance4 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only required
        on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 5 }

ciscoIfExtensionMIBCompliance5 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 6 }

ciscoIfExtensionMIBCompliance6 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 7 }

ciscoIfExtensionMIBCompliance7 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 8 }

ciscoIfExtensionMIBCompliance8 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieIfIndexPersistenceGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 9 }

ciscoIfExtensionMIBCompliance9 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 10 }

ciscoIfExtensionMIBCompliance10 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup2
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 11 }

ciscoIfExtensionMIBCompliance11 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    GROUP           ciscoIfExtensionTableIntfGroup3
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 12 }

ciscoIfExtensionMIBCompliance12 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    GROUP           ciscoIfExtensionTableIntfGroup3
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroupSup1
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."
    ::= { ciscoIfExtensionMIBCompliances 13 }

ciscoIfExtensionMIBCompliance13 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroupSup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfVlStatsGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3SupR01
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."

    OBJECT          cieIfSpeedGroupConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."
    ::= { ciscoIfExtensionMIBCompliances 14 }

ciscoIfExtensionMIBCompliance14 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroupSup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfVlStatsGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3SupR01
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifConfigGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."

    OBJECT          cieIfSpeedGroupConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."
    ::= { ciscoIfExtensionMIBCompliances 15 }

ciscoIfExtensionMIBCompliance15 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for entities which
        implement the CISCO-IF-EXTENSION-MIB."
    MODULE          -- this module
    GROUP           ciscoIfExtensionTablePacketGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionSystemGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1qEtherTypeGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilizationGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtDot1dBaseMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtIfNameMappingGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionAsymmetricalSpeedGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtUtilIntervalGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        platforms which provide the information of calculation 
        interval for utilization rate on interfaces."

    GROUP           cieDelayedLinkUpDownNotifNotifGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieDelayedLinkUpDownNotifNotifEnableGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfIndexPersistenceControlGroup
    DESCRIPTION
        "Implementation of this group is mandatory for those
        interfaces which support ifIndex Persistence."

    GROUP           cieIfStatusListGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfStatusListGroupSup1
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieIfVlStatsGroup
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3SupR01
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           ciscoIfExtensionTableIntfGroup3SupR02
    DESCRIPTION
        "Implementation of this group is optional."

    GROUP           cieLinkUpDownNotifConfigGroup
    DESCRIPTION
        "Implementation of this group is optional."

    OBJECT          cieIfDhcpMode
    SYNTAX          INTEGER  {
                        false(2)
                    }
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only. Support for 'true' is only 
        required on interfaces which support DHCP."

    OBJECT          cieIfMtu
    MIN-ACCESS      read-only
    DESCRIPTION
        "It is compliant to implement this object as
        read-only."

    OBJECT          cieIfSpeedGroupConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."

    OBJECT          cieIfTransceiverFrequencyConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."

    OBJECT          cieIfFillPatternConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."

    OBJECT          cieIfIgnoreBitErrorsConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."

    OBJECT          cieIfIgnoreInterruptThresholdConfig
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is optional."
    ::= { ciscoIfExtensionMIBCompliances 16 }

ciscoIfExtensionTablePacketGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfLastInTime,
                        cieIfLastOutTime,
                        cieIfLastOutHangTime,
                        cieIfInRuntsErrs,
                        cieIfInGiantsErrs,
                        cieIfInFramingErrs,
                        cieIfInOverrunErrs,
                        cieIfInIgnored,
                        cieIfInAbortErrs,
                        cieIfInputQueueDrops,
                        cieIfOutputQueueDrops,
                        cieIfPacketDiscontinuityTime
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing packet
        statistics for a given interface."
    ::= { ciscoIfExtensionMIBGroups 1 }

ciscoIfExtensionTableIntfGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfResetCount,
                        cieIfKeepAliveEnabled,
                        cieIfStateChangeReason,
                        cieIfCarrierTransitionCount,
                        cieIfInterfaceDiscontinuityTime
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        information about properties of 
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 2 }

ciscoIfExtensionTableIntfGroup1 OBJECT-GROUP
    OBJECTS         {
                        cieIfDhcpMode,
                        cieIfMtu,
                        cieIfContextName
                    }
    STATUS          deprecated
    DESCRIPTION
        "A collection of objects containing
        information about properties of 
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 3 }

ciscoIfExtensionSystemGroup OBJECT-GROUP
    OBJECTS         { cieSystemMtu }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing
        global system-wise information about
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 4 }

ciscoIfExtDot1qEtherTypeGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfDot1qCustomAdminEtherType,
                        cieIfDot1qCustomOperEtherType
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects providing
        the information about 802.1q 
        custom EtherType on the 
        interface."
    ::= { ciscoIfExtensionMIBGroups 5 }

ciscoIfExtUtilizationGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfInPktRate,
                        cieIfInOctetRate,
                        cieIfOutPktRate,
                        cieIfOutOctetRate
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        information about utilization rates of
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 6 }

ciscoIfExtDot1dBaseMappingGroup OBJECT-GROUP
    OBJECTS         { cieIfDot1dBaseMappingPort }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        mapping information about the ifIndex values
        of interfaces and their dot1dBasePort 
        values."
    ::= { ciscoIfExtensionMIBGroups 7 }

ciscoIfExtIfNameMappingGroup OBJECT-GROUP
    OBJECTS         { cieIfIndex }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the
        'ifName' to 'ifIndex' mapping."
    ::= { ciscoIfExtensionMIBGroups 8 }

ciscoIfExtensionTableIntfGroup2 OBJECT-GROUP
    OBJECTS         {
                        cieIfDhcpMode,
                        cieIfMtu,
                        cieIfContextName,
                        cieIfOperStatusCause,
                        cieIfOperStatusCauseDescr
                    }
    STATUS          deprecated
    DESCRIPTION
        "A collection of objects containing
        information about properties of 
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 9 }

cieIfStatusListGroup OBJECT-GROUP
    OBJECTS         {
                        cieInterfacesIndex,
                        cieInterfacesOperMode,
                        cieInterfacesOperCause
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        information about set of interfaces."
    ::= { ciscoIfExtensionMIBGroups 10 }

cieLinkUpDownNotifEnableGroup OBJECT-GROUP
    OBJECTS         {
                        cieLinkUpDownEnable,
                        cieStandardLinkUpDownVarbinds
                    }
    STATUS          deprecated
    DESCRIPTION
        "A collection of objects to control
        'cieLinkUp/cieLinkDown' and standard mib-II 
        defined 'linkUp/linkDown' notifications."
    ::= { ciscoIfExtensionMIBGroups 11 }

cieLinkUpDownNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    {
                        cieLinkDown,
                        cieLinkUp
                    }
    STATUS          current
    DESCRIPTION
        "A collection of cisco specific linkUp and
        linkDown notifications."
    ::= { ciscoIfExtensionMIBGroups 12 }

ciscoIfExtensionAsymmetricalSpeedGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfSpeedReceive,
                        cieIfHighSpeedReceive
                    }
    STATUS          current
    DESCRIPTION
        "An optional group used to provide information on asymmetrical
        interface speeds."
    ::= { ciscoIfExtensionMIBGroups 13 }

ciscoIfExtUtilIntervalGroup OBJECT-GROUP
    OBJECTS         { cieIfInterval }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        information about calculation interval for 
        utilization rate on interfaces."
    ::= { ciscoIfExtensionMIBGroups 14 }

cieIfIndexPersistenceGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfIndexPersistence,
                        cieIfIndexPersistenceEnabled
                    }
    STATUS          deprecated
    DESCRIPTION
        "A collection of objects containing information about ifIndex
        Persistence of interfaces.

        Since cieIfIndexPersistence and cieIfIndexPersistenceEnabled are
        deprecated, so, cieIfIndexPersistenceGroup containing these two
        objects are deprecated by cieIfIndexPersistenceControlGroup."
    ::= { ciscoIfExtensionMIBGroups 15 }

cieDelayedLinkUpDownNotifNotifEnableGroup OBJECT-GROUP
    OBJECTS         {
                        cieDelayedLinkUpDownNotifEnable,
                        cieDelayedLinkUpDownNotifDelay
                    }
    STATUS          current
    DESCRIPTION
        "The group of objects that help configure the
        cieDelayedLinkUpDownNotif on the system."
    ::= { ciscoIfExtensionMIBGroups 16 }

cieDelayedLinkUpDownNotifNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    { cieDelayedLinkUpDownNotif }
    STATUS          current
    DESCRIPTION
        "A collection for cisco specific delayed trap notifications."
    ::= { ciscoIfExtensionMIBGroups 17 }

cieIfIndexPersistenceControlGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfIndexGlobalPersistence,
                        cieIfIndexPersistenceControl
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing information about ifIndex
        Persistence of interfaces."
    ::= { ciscoIfExtensionMIBGroups 18 }

ciscoIfExtensionTableIntfGroup3 OBJECT-GROUP
    OBJECTS         {
                        cieIfDhcpMode,
                        cieIfMtu,
                        cieIfContextName,
                        cieIfOperStatusCause,
                        cieIfOperStatusCauseDescr,
                        cieIfOwner
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects containing
        information about properties of 
        interfaces."
    ::= { ciscoIfExtensionMIBGroups 19 }

cieIfStatusListGroupSup1 OBJECT-GROUP
    OBJECTS         { cieInterfaceOwnershipBitmap }
    STATUS          current
    DESCRIPTION
        "Additional objects containing information about a
        set of interfaces."
    ::= { ciscoIfExtensionMIBGroups 20 }

cieIfVlStatsGroup OBJECT-GROUP
    OBJECTS         {
                        cieIfNoDropVlInPkts,
                        cieIfNoDropVlInOctets,
                        cieIfNoDropVlOutPkts,
                        cieIfNoDropVlOutOctets,
                        cieIfDropVlInPkts,
                        cieIfDropVlInOctets,
                        cieIfDropVlOutPkts,
                        cieIfDropVlOutOctets
                    }
    STATUS          current
    DESCRIPTION
        "Objects containing information about a
        VL (Virtual Link) statistics on an interface."
    ::= { ciscoIfExtensionMIBGroups 21 }

ciscoIfExtensionTableIntfGroup3SupR01 OBJECT-GROUP
    OBJECTS         {
                        cieIfSharedConfig,
                        cieIfSpeedGroupConfig
                    }
    STATUS          current
    DESCRIPTION
        "This group is supplement to ciscoIfExtensionTableIntfGroup3."
    ::= { ciscoIfExtensionMIBGroups 22 }

cieLinkUpDownNotifConfigGroup OBJECT-GROUP
    OBJECTS         { cieLinkUpDownConfig }
    STATUS          current
    DESCRIPTION
        "A collection of objects to control
        'cieLinkUp/cieLinkDown' and standard mib-II 
        defined 'linkUp/linkDown' notifications."
    ::= { ciscoIfExtensionMIBGroups 23 }

ciscoIfExtensionTableIntfGroup3SupR02 OBJECT-GROUP
    OBJECTS         {
                        cieIfTransceiverFrequencyConfig,
                        cieIfFillPatternConfig,
                        cieIfIgnoreBitErrorsConfig,
                        cieIfIgnoreInterruptThresholdConfig
                    }
    STATUS          current
    DESCRIPTION
        "This group is supplement to ciscoIfExtensionTableIntfGroup3SupR01."
    ::= { ciscoIfExtensionMIBGroups 24 }

END


