-- *****************************************************************
-- CISCO-IP-IF-MIB.my
--   
-- September 2002, Jayakumar Kadirvelu
-- July 2008, Patrick R. Gili
--   
-- Copyright (c) 2002, 2008 by Cisco Systems Inc.
-- All rights reserved.
-- *****************************************************************

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

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    RowStatus,
    StorageType,
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    InetAddressPrefixLength,
    InetAddressType,
    InetAddress
        FROM INET-ADDRESS-MIB
    InterfaceIndex,
    ifIndex
        FROM IF-MIB
    ciscoMgmt
        FROM CISCO-SMI;


ciscoIPIfMIB MODULE-IDENTITY
    LAST-UPDATED    "200808080000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service
            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA
            Tel: +1 800 553-NETS

            E-mail: cs-snmp@cisco.com"
    DESCRIPTION
        "The MIB module for configuring IP characteristics
        of the interfaces of a device."
    REVISION        "200808080000Z"
    DESCRIPTION
        "Modified the definition for ciiHelperAdressVrf to conform to the
        de facto standard."
    REVISION        "200807280000Z"
    DESCRIPTION
        "Added ciiHelperAddressTable."
    REVISION        "200210120000Z"
    DESCRIPTION
        "Added ciiIPIfAddressTable.
        Added ciiIPIfAddressChangeNotify notification.
        Deprecated ciscoIPIfMIBCompliance and added
        ciscoIPIfMIBCompliance1.
        Added ciscoIPIfAddressConfigurationGroup3, 
        ciscoIPIfAddressConfigurationGroup4, 
        ciscoIPIfNotificationGroup. 
        Added IpAddressCatagory  TC."
    REVISION        "200210100000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 309 }


ciscoIPIfMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIB 0 }

ciscoIPIfMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIB 1 }

ciscoIPIfMIBConform  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIB 2 }

ciiIPAddressConfiguration  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIBObjects 1 }

ciiHelperAddressConfiguration  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIBObjects 2 }

ciiIPIfNotifications  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIBNotifs 0 }


-- Textual Conventions

IpAddressCatagory ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "Represents the IP address category.
        single(1) - Indicates that the IP addressing 
                    information for this interface,
                    has no primary/secondary category.

        primary(2) - Indicates that this interface
                     provides primary IP addressing
                     information.

        secondary(3) - Indicates that this interface
                       provides a secondary IP 
                       addressing information. There 
                       may be more than one seconday
                       IP addressing information for
                       an interface."
    SYNTAX          INTEGER  {
                        single(1),
                        primary(2),
                        secondary(3)
                    }

-- IP Address Configuration objects

ciiIPAddressCategoryCap OBJECT-TYPE
    SYNTAX          BITS {
                        single(0),
                        primary(1),
                        secondary(2)
                    }
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "This object indicates what types of IP address category can
        be configured on this device.

        single(0) means that each interface on the device can be
        assigned only one IP address.

        primary(1) means that each interface on the device can be
        assigned an IP address as the primary one.

        secondary(2) means that each interface on the device can be
        assigned an IP address as the secondary one.

        Devices which has the single(0) bit set to 1, should have 
        the primary(1) and secondary(2) bits set to 0.
        Likewise devices which have the primary(1) and/or 
        secondary(2) bits set to 1, should have the single(0)
        set to 0." 
    ::= { ciiIPAddressConfiguration 1 }

ciiIPAddressTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CiiIPAddressEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table of addressing information relevant to
        this entity's IP addresses. This is the enhancement of
        the ipAddrTable in IP-MIB."
    REFERENCE       "RFC 2011"
    ::= { ciiIPAddressConfiguration 2 }

ciiIPAddressEntry OBJECT-TYPE
    SYNTAX          CiiIPAddressEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The addressing information for one of this
        entity's IP addresses.

        The only way an entry can be created is by setting the
        ciiIPAddressStatus object to 'create and go' and the 
        only way an entry can be destroyed is by setting the
        ciiIPAddressStatus object to 'destroy'.

        Any column in the  entry may be modified anytime,
        when the value of ciiIPAddressStatus is 'active'."
    INDEX           {
                        ciiIPAddressType,
                        ciiIPAddress
                    } 
    ::= { ciiIPAddressTable 1 }

CiiIPAddressEntry ::= SEQUENCE {
        ciiIPAddressType         InetAddressType,
        ciiIPAddress             InetAddress,
        ciiIPAddressIfIndex      InterfaceIndex,
        ciiIPAddressPrefixLength InetAddressPrefixLength,
        ciiIPAddressBroadcast    InetAddress,
        ciiIPAddressCategory     IpAddressCatagory,
        ciiIPAddressStatus       RowStatus
}

ciiIPAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The type of Internet address for all the objects with SYNTAX
        InetAddress and InetAddressPrefixLength in this entry." 
    ::= { ciiIPAddressEntry 1 }

ciiIPAddress OBJECT-TYPE
    SYNTAX          InetAddress (SIZE  (1..36))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The IP address to which this entry's addressing
        information pertains." 
    ::= { ciiIPAddressEntry 2 }

ciiIPAddressIfIndex OBJECT-TYPE
    SYNTAX          InterfaceIndex
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The index value which uniquely identifies the
        interface to which this entry is applicable. 
        ciiIPAddressIfIndex is the same as the ifIndex of the
        interface associated with this ciiIPAddressEntry." 
    ::= { ciiIPAddressEntry 3 }

ciiIPAddressPrefixLength OBJECT-TYPE
    SYNTAX          InetAddressPrefixLength
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The length of the prefix associated with the IP address
        of this entry. 
        A value of zero causes all addresses to match.
        The type of address is specified by ciiIPAddressType of 
        this entry." 
    ::= { ciiIPAddressEntry 4 }

ciiIPAddressBroadcast OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The broadcast address associated with the
        IP address of  this entry.
        The type of address is specified by ciiIPAddressType of 
        this entry." 
    ::= { ciiIPAddressEntry 5 }

ciiIPAddressCategory OBJECT-TYPE
    SYNTAX          IpAddressCatagory
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Indicates the IP address category of this entry.
        Setting of this object has to comply with the value of
        ciiIPAddressCategoryCap." 
    ::= { ciiIPAddressEntry 6 }

ciiIPAddressStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object is used to manage creation and deletion of rows
        in this table.

        ciiIPAddressStatus must be set to 'creatAndGo' to create 
        an entry and set to 'destroy' to delete an entry.

        The value in any column may be modified any time even the
        value of this entry rowStatus object is 'active'.

        Caution has to be taken before destroying any entry. 
        Example: Need to change the IP address of an interface,
        which provides sole network connectivity.
        This has to be done by destroying the entry and creating
        a new one. The device would loose network connectivity
        after the entry is destroyed. In this case, the destroy 
        of the old entry and the creation on the new entry
        should be packed in the same PDU." 
    ::= { ciiIPAddressEntry 7 }
 

-- ciiIPIfAddressTable

ciiIPIfAddressTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CiiIPIfAddressEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The table of addressing information relevant to
        this entity's IP addresses. This is the enhancement of
        the ipAddrTable in IP-MIB.
        This table is same as ciiIPAddressTable accept
        that ciiIPIfAddressIfIndex is part of the INDEX 
        clause.
        This table is used to configure an IP address on a 
        interface identified by ifIndex. Each interface can be
        configured with multiple IP addresses.
        When requested to create/delete an entry in this
        table, the agent also creates/deletes a
        correspondng entry in the ipAddrTable of rfc2011.
        Entries in this table are created/deleted only by 
        network managers. Agents will typically only allow
        entries to be created on a subset of ifIndex values."
    REFERENCE       "RFC 2011"
    ::= { ciiIPAddressConfiguration 3 }

ciiIPIfAddressEntry OBJECT-TYPE
    SYNTAX          CiiIPIfAddressEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "The addressing information for one of this
        entity's IP addresses.

        The only way an entry can be created is by setting the
        ciiIPIfAddressStatus object to 'create and go' and the 
        only way an entry can be destroyed is by setting the
        ciiIPIfAddressStatus object to 'destroy'.

        Any column in the  entry may be modified anytime,
        when the value of ciiIPIfAddressStatus is 'active'."
    INDEX           {
                        ciiIPAddressIfIndex,
                        ciiIPAddressType,
                        ciiIPAddress
                    } 
    ::= { ciiIPIfAddressTable 1 }

CiiIPIfAddressEntry ::= SEQUENCE {
        ciiIPIfAddressPrefixLength InetAddressPrefixLength,
        ciiIPIfAddressBroadcast    InetAddress,
        ciiIPIfAddressCategory     IpAddressCatagory,
        ciiIPIfAddressStatus       RowStatus
}

ciiIPIfAddressPrefixLength OBJECT-TYPE
    SYNTAX          InetAddressPrefixLength
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The length of the prefix associated with the IP address
        of this entry. 
        A value of zero causes all addresses to match.
        The type of address is specified by ciiIPAddressType of 
        this entry.
        This object is same as the ciiIPAddressPrefixLength
        object, and changes to one will affect the other." 
    ::= { ciiIPIfAddressEntry 1 }

ciiIPIfAddressBroadcast OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "The broadcast address associated with the
        IP address of  this entry.
        The type of address is specified by ciiIPAddressType of 
        this entry.
        This object is same as the ciiIPAddressBroadcast 
        object, and changes to one will affect the other." 
    ::= { ciiIPIfAddressEntry 2 }

ciiIPIfAddressCategory OBJECT-TYPE
    SYNTAX          IpAddressCatagory
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "Indicates the IP address category of this entry.
        Setting of this object has to comply with the value of
        ciiIPAddressCategoryCap.

        This object is same as the ciiIPAddressCategory 
        object, and changes to one will affect the other." 
    ::= { ciiIPIfAddressEntry 3 }

ciiIPIfAddressStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object is used to manage creation and deletion of rows
        in this table.

        ciiIPAddressStatus must be set to 'creatAndGo' to create 
        an entry and set to 'destroy' to delete an entry.

        The value in any column may be modified any time even the
        value of this entry rowStatus object is 'active'.

        Caution has to be taken before destroying any entry. 
        Example: Need to change the IP address of an interface,
        which provides sole network connectivity.
        This has to be done by destroying the entry and creating
        a new one. The device would loose network connectivity
        after the entry is destroyed. In this case, the destroy 
        of the old entry and the creation on the new entry
        should be packed in the same PDU." 
    ::= { ciiIPIfAddressEntry 4 }
 

-- IP Helper Address Configuration

ciiHelperAddressTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF CiiHelperAddressEntry 
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This table lists the IP helper addresses associated with each
        interface."
    ::= { ciiHelperAddressConfiguration 1 }

ciiHelperAddressEntry OBJECT-TYPE
    SYNTAX          CiiHelperAddressEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "An entry describes a single IP helper address associated with
        the corresponding interface, identified by the ifIndex-value
        assigned to the interface.

        A peer SNMP entity may associate a helper address with an
        interface by setting an instance of ciiHelperAddressStatus to
        'createAndWait' or 'createAndGo'.  Observe that an
        implementation that does not support these options must specify
        these limitations in an agent capabilities statement.

        Other management entities (e.g., the local console) may
        associate a helper address with an interface.  In these cases,
        the system must automatically create a row in the
        ciiHelperAddressTable.

        A peer SNMP entity may disassociate a helper address from an
        interface by setting the corresponding instance of
        ciiHelperAddressStatus to 'destroy'.  Observe an implementation
        that does not support this option must specify this limitation
        in an agent capabilities statement.

        Other management entities may disassociate a helper address
        from an interface.  In these cases, the system must
        automatically destroy the corresponding row in the
        ciiHelperAddressTable.

        The system automatically destroys a row when the system destroys
        the corresponding interface in the ifTable."
    INDEX           {
                        ifIndex,
                        ciiHelperAddressVrf,
                        ciiHelperAddressType,
                        ciiHelperAddress
                    } 
    ::= { ciiHelperAddressTable 1 }

CiiHelperAddressEntry ::= SEQUENCE {
        ciiHelperAddressVrf     SnmpAdminString,
        ciiHelperAddressType    InetAddressType,
        ciiHelperAddress        InetAddress,
        ciiHelperAddressStatus  RowStatus,
        ciiHelperAddressStorage StorageType
}

ciiHelperAddressVrf OBJECT-TYPE
    SYNTAX          SnmpAdminString (SIZE  (0..32))
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the name assigned to the Virtual Routing
        and Forwarding (VRF) instance in which the IP helper address
        resides." 
    ::= { ciiHelperAddressEntry 1 }

ciiHelperAddressType OBJECT-TYPE
    SYNTAX          InetAddressType
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the type of IP address indicated by the
        corresponding instance of ciiHelperAddress." 
    ::= { ciiHelperAddressEntry 2 }

ciiHelperAddress OBJECT-TYPE
    SYNTAX          InetAddress
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION
        "This object indicates the IP helper address." 
    ::= { ciiHelperAddressEntry 3 }

ciiHelperAddressStatus OBJECT-TYPE
    SYNTAX          RowStatus
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the status of the row.  The following
        columns must be valid before activing the row:

            - ciiHelperAddressStorage

        An implementation must not allow an EMS/NMS to modify any
        column once the row has been activated." 
    ::= { ciiHelperAddressEntry 4 }

ciiHelperAddressStorage OBJECT-TYPE
    SYNTAX          StorageType
    MAX-ACCESS      read-create
    STATUS          current
    DESCRIPTION
        "This object specifies the memory realization of the row."
    DEFVAL          { volatile } 
    ::= { ciiHelperAddressEntry 5 }
 

-- Notifications
-- None
--   
-- Conformance

ciscoIPIfMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIBConform 1 }

ciscoIPIfMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoIPIfMIBConform 2 }


ciscoIPIfMIBCompliance MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for the CISCO-IP-IF-MIB.

        OBJECT ciiIPAddressType
        SYNTAX  INTEGER { ipv4(1) }
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses.

        OBJECT ciiIPAddress
        SYNTAX InetAddress (SIZE(4))
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses."
    MODULE          -- this module
    MANDATORY-GROUPS { ciscoIPIfAddressConfigurationGroup1 }

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

    OBJECT          ciiIPAddressBroadcast
    SYNTAX          InetAddress (SIZE (4))
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation is only required if the value of
        ciiIPAddressType in the same conceptual row is ipv4(1). 

        Write access is not required."

    OBJECT          ciiIPAddressStatus
    SYNTAX          INTEGER  {
                        active(1),
                        createAndGo(4),
                        destroy(6)
                    }
    DESCRIPTION
        "An implementation is only required to support
        three of the six enumerated values of the RowStatus
        textual convention, specifically: active(1),
        createAndGo(4), and destroy(6)."
    ::= { ciscoIPIfMIBCompliances 1 }

ciscoIPIfMIBCompliance1 MODULE-COMPLIANCE
    STATUS          deprecated
    DESCRIPTION
        "The compliance statement for the CISCO-IP-IF-MIB.

        OBJECT ciiIPAddressType
        SYNTAX  INTEGER { ipv4(1) }
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses.

        OBJECT ciiIPAddress
        SYNTAX InetAddress (SIZE(4))
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses."
    MODULE          -- this module
    GROUP           ciscoIPIfAddressConfigurationGroup1
    DESCRIPTION
        "Implementation of this group is optional. But in an
        implementaion of this mib, either 
        ciscoIPIfAddressConfigGroup1 or 
        ciscoIPIfAddressConfigGroup3 must be 
        implemented."

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

    GROUP           ciscoIPIfAddressConfigurationGroup3
    DESCRIPTION
        "Implementation of this group is optional. But in an
        implementaion of this mib, either 
        ciscoIPIfAddressConfigGroup1 or 
        ciscoIPIfAddressConfigGroup3 must be 
        implemented."

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

    OBJECT          ciiIPAddressBroadcast
    SYNTAX          InetAddress (SIZE (4))
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation is only required if the value of
        ciiIPAddressType in the same conceptual row is ipv4(1).

        Write access is not required."

    OBJECT          ciiIPAddressStatus
    SYNTAX          INTEGER  {
                        active(1),
                        createAndGo(4),
                        destroy(6)
                    }
    DESCRIPTION
        "An implementation is only required to support
        three of the six enumerated values of the RowStatus
        textual convention, specifically: active(1),
        createAndGo(4), and destroy(6)."

    OBJECT          ciiIPIfAddressBroadcast
    SYNTAX          InetAddress (SIZE (4))
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation is only required if the value of
        ciiIPAddressType in the same conceptual row is ipv4(1).

        Write access is not required."

    OBJECT          ciiIPIfAddressStatus
    SYNTAX          INTEGER  {
                        active(1),
                        createAndGo(4),
                        destroy(6)
                    }
    DESCRIPTION
        "An implementation is only required to support
        three of the six enumerated values of the RowStatus
        textual convention, specifically: active(1),
        createAndGo(4), and destroy(6)."

    OBJECT          ciiIPIfAddressCategory
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoIPIfMIBCompliances 2 }

ciscoIPIfMIBCompliance2 MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "The compliance statement for the CISCO-IP-IF-MIB.

        OBJECT ciiIPAddressType
        SYNTAX  INTEGER { ipv4(1) }
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses.

        OBJECT ciiIPAddress
        SYNTAX InetAddress (SIZE(4))
        DESCRIPTION
            An implementation is only required to support IPv4
            addresses."
    MODULE          -- this module
    GROUP           ciscoIPIfAddressConfigurationGroup1
    DESCRIPTION
        "Implementation of this group is optional. But in an
        implementaion of this mib, either 
        ciscoIPIfAddressConfigGroup1 or 
        ciscoIPIfAddressConfigGroup3 must be 
        implemented."

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

    GROUP           ciscoIPIfAddressConfigurationGroup3
    DESCRIPTION
        "Implementation of this group is optional. But in an
        implementaion of this mib, either 
        ciscoIPIfAddressConfigGroup1 or 
        ciscoIPIfAddressConfigGroup3 must be 
        implemented."

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

    GROUP           ciiHelperAddressGroup
    DESCRIPTION
        "This group is mandatory only for those implementations that
        support interface IP address helper address configuration."

    OBJECT          ciiIPAddressBroadcast
    SYNTAX          InetAddress (SIZE (4))
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation is only required if the value of
        ciiIPAddressType in the same conceptual row is ipv4(1).

        Write access is not required."

    OBJECT          ciiIPAddressStatus
    SYNTAX          INTEGER  {
                        active(1),
                        createAndGo(4),
                        destroy(6)
                    }
    DESCRIPTION
        "An implementation is only required to support
        three of the six enumerated values of the RowStatus
        textual convention, specifically: active(1),
        createAndGo(4), and destroy(6)."

    OBJECT          ciiIPIfAddressBroadcast
    SYNTAX          InetAddress (SIZE (4))
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation is only required if the value of
        ciiIPAddressType in the same conceptual row is ipv4(1).

        Write access is not required."

    OBJECT          ciiIPIfAddressStatus
    SYNTAX          INTEGER  {
                        active(1),
                        createAndGo(4),
                        destroy(6)
                    }
    DESCRIPTION
        "An implementation is only required to support
        three of the six enumerated values of the RowStatus
        textual convention, specifically: active(1),
        createAndGo(4), and destroy(6)."

    OBJECT          ciiIPIfAddressCategory
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."

    OBJECT          ciiHelperAddressStatus
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation must at least provide read-only access to
        this object."

    OBJECT          ciiHelperAddressStorage
    MIN-ACCESS      read-only
    DESCRIPTION
        "An implementation must at least provide read-only access to
        this object."
    ::= { ciscoIPIfMIBCompliances 3 }

-- Units of Conformance

ciscoIPIfAddressConfigurationGroup1 OBJECT-GROUP
    OBJECTS         {
                        ciiIPAddressCategoryCap,
                        ciiIPAddressIfIndex,
                        ciiIPAddressPrefixLength,
                        ciiIPAddressCategory,
                        ciiIPAddressStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the address configuration
        of interfaces."
    ::= { ciscoIPIfMIBGroups 1 }

ciscoIPIfAddressConfigurationGroup2 OBJECT-GROUP
    OBJECTS         { ciiIPAddressBroadcast }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the broadcast address
        configuration of interfaces."
    ::= { ciscoIPIfMIBGroups 2 }

ciscoIPIfAddressConfigurationGroup3 OBJECT-GROUP
    OBJECTS         {
                        ciiIPAddressCategoryCap,
                        ciiIPIfAddressPrefixLength,
                        ciiIPIfAddressCategory,
                        ciiIPIfAddressStatus
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the address configuration
        of interfaces."
    ::= { ciscoIPIfMIBGroups 3 }

ciscoIPIfAddressConfigurationGroup4 OBJECT-GROUP
    OBJECTS         { ciiIPIfAddressBroadcast }
    STATUS          current
    DESCRIPTION
        "A collection of objects for the broadcast address
        configuration of interfaces."
    ::= { ciscoIPIfMIBGroups 4 }

ciiHelperAddressGroup OBJECT-GROUP
    OBJECTS         {
                        ciiHelperAddressStatus,
                        ciiHelperAddressStorage
                    }
    STATUS          current
    DESCRIPTION
        "A collection of objects describing IP helper addresses
        associated with interfaces."
    ::= { ciscoIPIfMIBGroups 5 }

END





