-- ***************************************************************** -- 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