The MIB module for management of PIM routers.
Copyright (C) The IETF Trust (2007). This version of this MIB module is part of RFC 5060; see the RFC itself for full legal notices.
The duration of the Keepalive Timer. This is the period during which the PIM router will maintain (S,G) state in the absence of explicit (S,G) local membership or (S,G) join messages received to maintain it. This timer period is called the Keepalive_Period in the PIM-SM specification. It is called the SourceLifetime in the PIM-DM specification.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimRegisterSuppressionTime
1.3.6.1.2.1.157.1.15
Unsigned32 (0..65535) · seconds
Reference: RFC 4601 section 4.11
The duration of the Register Suppression Timer. This is the period during which a PIM Designated Router (DR) stops sending Register-encapsulated data to the Rendezvous Point (RP) after receiving a Register-Stop message. This object is used to run timers both at the DR and at the RP. This timer period is called the Register_Suppression_Time in the PIM-SM specification.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimStarGEntries
1.3.6.1.2.1.157.1.16
Gauge32
The number of entries in the pimStarGTable.
pimStarGIEntries
1.3.6.1.2.1.157.1.17
Gauge32
The number of entries in the pimStarGITable.
pimSGEntries
1.3.6.1.2.1.157.1.18
Gauge32
The number of entries in the pimSGTable.
pimSGIEntries
1.3.6.1.2.1.157.1.19
Gauge32
The number of entries in the pimSGITable.
pimSGRptEntries
1.3.6.1.2.1.157.1.20
Gauge32
The number of entries in the pimSGRptTable.
pimSGRptIEntries
1.3.6.1.2.1.157.1.21
Gauge32
The number of entries in the pimSGRptITable.
pimOutAsserts
1.3.6.1.2.1.157.1.22
Counter64 (0..18446744073709551615)
Reference: RFC 4601 section 4.6
The number of Asserts sent by this router.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimInAsserts
1.3.6.1.2.1.157.1.23
Counter64 (0..18446744073709551615)
Reference: RFC 4601 section 4.6
The number of Asserts received by this router. Asserts are multicast to all routers on a network. This counter is incremented by all routers that receive an assert, not only those routers that are contesting the assert.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimLastAssertInterface
1.3.6.1.2.1.157.1.24
InterfaceIndexOrZeroThis textual convention is an extension of the InterfaceIndex convention. The latter defines a greater than zero value used to identify an interface or interface sub-layer in the managed system. This extension permits the additional value of zero. the value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. Examples of the usage of zero might include situations where interface was unknown, or when none or all interfaces need to be referenced. (0..2147483647) · Integer32 · hint d
Reference: RFC 4601 section 4.6
The interface on which this router most recently sent or received an assert, or zero if this router has not sent or received an assert.
pimLastAssertGroupAddressType
1.3.6.1.2.1.157.1.25
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the multicast group address in the most recently sent or received assert. If this router has not sent or received an assert, then this object is set to unknown(0).
pimLastAssertGroupAddress
1.3.6.1.2.1.157.1.26
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The multicast group address in the most recently sent or received assert. The InetAddressType is given by the pimLastAssertGroupAddressType object.
pimLastAssertSourceAddressType
1.3.6.1.2.1.157.1.27
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the source address in the most recently sent or received assert. If the most recent assert was (*,G), or if this router has not sent or received an assert, then this object is set to unknown(0).
pimLastAssertSourceAddress
1.3.6.1.2.1.157.1.28
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The source address in the most recently sent or received assert. The InetAddressType is given by the pimLastAssertSourceAddressType object.
pimNeighborLossNotificationPeriod
1.3.6.1.2.1.157.1.29
Unsigned32 (0..65535) · seconds
The minimum time that must elapse between pimNeighborLoss notifications originated by this router. The maximum value 65535 represents an 'infinite' time, in which case, no pimNeighborLoss notifications are ever sent.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimNeighborLossCount
1.3.6.1.2.1.157.1.30
Counter32
Reference: RFC 4601 section 4.3.2
The number of neighbor loss events that have occurred.
This counter is incremented when the neighbor timer expires, and the router has no other neighbors on the same interface with the same IP version and a lower IP address than itself.
This counter is incremented whenever a pimNeighborLoss notification would be generated.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimInvalidRegisterNotificationPeriod
1.3.6.1.2.1.157.1.31
Unsigned32 (10..65535) · seconds
The minimum time that must elapse between pimInvalidRegister notifications originated by this router. The default value of 65535 represents an 'infinite' time, in which case, no pimInvalidRegister notifications are ever sent.
The non-zero minimum allowed value provides resilience against propagation of denial-of-service attacks from the data and control planes to the network management plane.
The storage type of this object is determined by pimDeviceConfigStorageType.
The number of invalid PIM Register messages that have been received by this device.
A PIM Register message is invalid if either
o the destination address of the Register message does not match the Group to RP mapping on this device, or
o this device believes the group address to be within an SSM address range, but this Register implies ASM usage.
These conditions can occur transiently while RP mapping changes propagate through the network. If this counter is incremented repeatedly over several minutes, then there is a persisting configuration error that requires correction.
The active Group to RP mapping on this device is specified by the object pimGroupMappingPimMode. If there is no such mapping, then the object pimGroupMappingPimMode is absent. The RP address contained in the invalid Register is pimInvalidRegisterRp.
Multicast data carried by invalid Register messages is discarded. The discarded data is from a source directly connected to pimInvalidRegisterOrigin, and is addressed to pimInvalidRegisterGroup.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimInvalidRegisterAddressType
1.3.6.1.2.1.157.1.33
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type stored in pimInvalidRegisterOrigin, pimInvalidRegisterGroup, and pimInvalidRegisterRp.
If no invalid Register messages have been received, then this object is set to unknown(0).
pimInvalidRegisterOrigin
1.3.6.1.2.1.157.1.34
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The source address of the last invalid Register message received by this device.
pimInvalidRegisterGroup
1.3.6.1.2.1.157.1.35
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP multicast group address to which the last invalid Register message received by this device was addressed.
pimInvalidRegisterRp
1.3.6.1.2.1.157.1.36
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The RP address to which the last invalid Register message received by this device was delivered.
pimInvalidJoinPruneNotificationPeriod
1.3.6.1.2.1.157.1.37
Unsigned32 (10..65535) · seconds
The minimum time that must elapse between pimInvalidJoinPrune notifications originated by this router. The default value of 65535 represents an 'infinite' time, in which case, no pimInvalidJoinPrune notifications are ever sent.
The non-zero minimum allowed value provides resilience against propagation of denial-of-service attacks from the control plane to the network management plane.
The storage type of this object is determined by pimDeviceConfigStorageType.
The number of invalid PIM Join/Prune messages that have been received by this device.
A PIM Join/Prune message is invalid if either
o the Group to RP mapping specified by this message does not match the Group to RP mapping on this device, or
o this device believes the group address to be within an SSM address range, but this Join/Prune (*,G) or (S,G,rpt) implies ASM usage.
These conditions can occur transiently while RP mapping changes propagate through the network. If this counter is incremented repeatedly over several minutes, then there is a persisting configuration error that requires correction.
The active Group to RP mapping on this device is specified by the object pimGroupMappingPimMode. If there is no such mapping, then the object pimGroupMappingPimMode is absent. The RP address contained in the invalid Join/Prune is pimInvalidJoinPruneRp.
Invalid Join/Prune messages are discarded. This may result in loss of multicast data affecting listeners downstream of pimInvalidJoinPruneOrigin, for multicast data addressed to pimInvalidJoinPruneGroup.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimInvalidJoinPruneAddressType
1.3.6.1.2.1.157.1.39
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type stored in pimInvalidJoinPruneOrigin, pimInvalidJoinPruneGroup, and pimInvalidJoinPruneRp.
If no invalid Join/Prune messages have been received, this object is set to unknown(0).
pimInvalidJoinPruneOrigin
1.3.6.1.2.1.157.1.40
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The source address of the last invalid Join/Prune message received by this device.
pimInvalidJoinPruneGroup
1.3.6.1.2.1.157.1.41
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP multicast group address carried in the last invalid Join/Prune message received by this device.
pimInvalidJoinPruneRp
1.3.6.1.2.1.157.1.42
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The RP address carried in the last invalid Join/Prune message received by this device.
pimRPMappingNotificationPeriod
1.3.6.1.2.1.157.1.43
Unsigned32 (0..65535) · seconds
The minimum time that must elapse between pimRPMappingChange notifications originated by this router. The default value of 65535 represents an 'infinite' time, in which case, no pimRPMappingChange notifications are ever sent.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimRPMappingChangeCount
1.3.6.1.2.1.157.1.44
Counter32
Reference: RFC 5059
The number of changes to active RP mappings on this device.
Information about active RP mappings is available in pimGroupMappingTable. Only changes to active mappings cause this counter to be incremented. That is, changes that modify the pimGroupMappingEntry with the highest precedence for a group (lowest value of pimGroupMappingPrecedence).
Such changes may result from manual configuration of this device, or from automatic RP mapping discovery methods including the PIM Bootstrap Router (BSR) mechanism.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimInterfaceElectionNotificationPeriod
1.3.6.1.2.1.157.1.45
Unsigned32 (0..65535) · seconds
The minimum time that must elapse between pimInterfaceElection notifications originated by this router. The default value of 65535 represents an 'infinite' time, in which case, no pimInterfaceElection notifications are ever sent.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimInterfaceElectionWinCount
1.3.6.1.2.1.157.1.46
Counter32
Reference: RFC 4601 section 4.3.2 and RFC 5015 section 3.5.2
The number of times this device has been elected DR or DF on any interface.
Elections occur frequently on newly-active interfaces, as triggered Hellos establish adjacencies. This counter is not incremented for elections on an interface until the first periodic Hello has been sent. If this router is the DR or DF at the time of sending the first periodic Hello after interface activation, then this counter is incremented (once) at that time.
Discontinuities in the value of this counter can occur at re-initialization of the management system, for example, when the device is rebooted.
pimRefreshInterval
1.3.6.1.2.1.157.1.47
Unsigned32 (0..65535) · seconds
Reference: RFC 3973 section 4.8
The interval between successive State Refresh messages sent by an Originator. This timer period is called the RefreshInterval in the PIM-DM specification. This object is used only by PIM-DM.
The storage type of this object is determined by pimDeviceConfigStorageType.
pimDeviceConfigStorageType
1.3.6.1.2.1.157.1.48
StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted.
If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.)
Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32
The storage type used for the global PIM configuration of this device, comprised of the objects listed below. If this storage type takes the value 'permanent', write-access to the listed objects need not be allowed.
The objects described by this storage type are: pimKeepalivePeriod, pimRegisterSuppressionTime, pimNeighborLossNotificationPeriod, pimInvalidRegisterNotificationPeriod, pimInvalidJoinPruneNotificationPeriod, pimRPMappingNotificationPeriod, pimInterfaceElectionNotificationPeriod, and pimRefreshInterval.
The (conceptual) table listing the router's PIM interfaces. PIM is enabled on all interfaces listed in this table.
pimInterfaceIfIndex
1.3.6.1.2.1.157.1.1.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The ifIndex value of this PIM interface.
pimInterfaceIPVersion
1.3.6.1.2.1.157.1.1.1.2
InetVersion0 = unknown1 = ipv42 = ipv6A value representing a version of the IP protocol.
unknown(0) An unknown or unspecified version of the IP
protocol.
ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5).
ipv6(2) The IPv6 protocol as defined in RFC 2460.
Note that this textual convention SHOULD NOT be used to distinguish different address types associated with IP protocols. The InetAddressType has been designed for this purpose.Reference: RFC 791, RFC 2460 · Integer32
The IP version of this PIM interface. A physical interface may be configured in multiple modes concurrently, e.g., IPv4 and IPv6; however, the traffic is considered to be logically separate.
pimInterfaceAddressType
1.3.6.1.2.1.157.1.1.1.3
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this PIM interface.
pimInterfaceAddress
1.3.6.1.2.1.157.1.1.1.4
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 sections 4.1.6, 4.3.1-4.3.4, and 4.5.1
The primary IP address of this router on this PIM interface. The InetAddressType is given by the pimInterfaceAddressType object.
pimInterfaceGenerationIDValue
1.3.6.1.2.1.157.1.1.1.5
Unsigned32
Reference: RFC 4601 section 4.3.1
The value of the Generation ID this router inserted in the last PIM Hello message it sent on this interface.
pimInterfaceDR
1.3.6.1.2.1.157.1.1.1.6
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 section 4.3
The primary IP address of the Designated Router on this PIM interface. The InetAddressType is given by the pimInterfaceAddressType object.
pimInterfaceDRPriority
1.3.6.1.2.1.157.1.1.1.7
Unsigned32
Reference: RFC 4601 section 4.3.2
The Designated Router Priority value inserted into the DR Priority option in PIM Hello messages transmitted on this interface. Numerically higher values for this object indicate higher priorities.
pimInterfaceDRPriorityEnabled
1.3.6.1.2.1.157.1.1.1.8
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.2
Evaluates to TRUE if all routers on this interface are using the DR Priority option.
pimInterfaceHelloInterval
1.3.6.1.2.1.157.1.1.1.9
Unsigned32 (0..18000) · seconds
Reference: RFC 4601 section 9
The frequency at which PIM Hello messages are transmitted on this interface. This object corresponds to the 'Hello_Period' timer value defined in the PIM-SM specification. A value of zero represents an 'infinite' interval, and indicates that periodic PIM Hello messages should not be sent on this interface.
pimInterfaceTrigHelloInterval
1.3.6.1.2.1.157.1.1.1.10
Unsigned32 (0..60) · seconds
Reference: RFC 4601 section 4.11
The maximum time before this router sends a triggered PIM Hello message on this interface. This object corresponds to the 'Trigered_Hello_Delay' timer value defined in the PIM-SM specification. A value of zero has no special meaning and indicates that triggered PIM Hello messages should always be sent immediately.
pimInterfaceHelloHoldtime
1.3.6.1.2.1.157.1.1.1.11
Unsigned32 (0..65535) · seconds
Reference: RFC 4601 sections 4.3.2 and 4.9.2
The value set in the Holdtime field of PIM Hello messages transmitted on this interface. A value of 65535 represents an 'infinite' holdtime. Implementations are recommended to use a holdtime that is 3.5 times the value of pimInterfaceHelloInterval, or 65535 if pimInterfaceHelloInterval is set to zero.
pimInterfaceJoinPruneInterval
1.3.6.1.2.1.157.1.1.1.12
Unsigned32 (0..18000) · seconds
Reference: RFC 4601 section 4.11
The frequency at which this router sends PIM Join/Prune messages on this PIM interface. This object corresponds to the 't_periodic' timer value defined in the PIM-SM specification. A value of zero represents an 'infinite' interval, and indicates that periodic PIM Join/Prune messages should not be sent on this interface.
pimInterfaceJoinPruneHoldtime
1.3.6.1.2.1.157.1.1.1.13
Unsigned32 (0..65535) · seconds
Reference: RFC 4601 sections 4.5.3 and 4.9.5
The value inserted into the Holdtime field of a PIM Join/Prune message sent on this interface. A value of 65535 represents an 'infinite' holdtime. Implementations are recommended to use a holdtime that is 3.5 times the value of pimInterfaceJoinPruneInterval, or 65535 if pimInterfaceJoinPruneInterval is set to zero. PIM-DM implementations are recommended to use the value of pimInterfacePruneLimitInterval.
pimInterfaceDFElectionRobustness
1.3.6.1.2.1.157.1.1.1.14
Unsigned32
The minimum number of PIM DF-Election messages that must be lost in order for DF election on this interface to fail.
pimInterfaceLanDelayEnabled
1.3.6.1.2.1.157.1.1.1.15
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 sections 4.3.3 and 4.9.2
Evaluates to TRUE if all routers on this interface are using the LAN Prune Delay option.
pimInterfacePropagationDelay
1.3.6.1.2.1.157.1.1.1.16
Unsigned32 (0..32767) · milliseconds
The expected propagation delay between PIM routers on this network or link.
This router inserts this value into the Propagation_Delay field of the LAN Prune Delay option in the PIM Hello messages sent on this interface. Implementations SHOULD enforce a lower bound on the permitted values for this object to allow for scheduling and processing delays within the local router.
pimInterfaceOverrideInterval
1.3.6.1.2.1.157.1.1.1.17
Unsigned32 (0..65535) · milliseconds
Reference: RFC 4601 section 4.3.3
The value this router inserts into the Override_Interval field of the LAN Prune Delay option in the PIM Hello messages it sends on this interface.
When overriding a prune, PIM routers pick a random timer duration up to the value of this object. The more PIM routers that are active on a network, the more likely it is that the prune will be overridden after a small proportion of this time has elapsed.
The more PIM routers are active on this network, the larger this object should be to obtain an optimal spread of prune override latencies.
pimInterfaceEffectPropagDelay
1.3.6.1.2.1.157.1.1.1.18
Unsigned32 (0..32767) · milliseconds
Reference: RFC 4601 section 4.3.3
The Effective Propagation Delay on this interface. This object is always 500 if pimInterfaceLanDelayEnabled is FALSE.
pimInterfaceEffectOverrideIvl
1.3.6.1.2.1.157.1.1.1.19
Unsigned32 (0..65535) · milliseconds
Reference: RFC 4601 section 4.3.3
The Effective Override Interval on this interface. This object is always 2500 if pimInterfaceLanDelayEnabled is FALSE.
pimInterfaceSuppressionEnabled
1.3.6.1.2.1.157.1.1.1.20
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.3
Whether join suppression is enabled on this interface. This object is always TRUE if pimInterfaceLanDelayEnabled is FALSE.
pimInterfaceBidirCapable
1.3.6.1.2.1.157.1.1.1.21
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 5015 section 3.2 and 3.7.4
Evaluates to TRUE if all routers on this interface are using the Bidirectional-PIM Capable option.
pimInterfaceDomainBorder
1.3.6.1.2.1.157.1.1.1.22
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether or not this interface is a PIM domain border. This includes acting as a border for PIM Bootstrap Router (BSR) messages, if the BSR mechanism is in use.
pimInterfaceStubInterface
1.3.6.1.2.1.157.1.1.1.23
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 3376, RFC 3810
Whether this interface is a 'stub interface'. If this object is set to TRUE, then no PIM packets are sent out this interface, and any received PIM packets are ignored.
Setting this object to TRUE is a security measure for interfaces towards untrusted hosts. This allows an interface to be configured for use with IGMP (Internet Group Management Protocol) or MLD (Multicast Listener Discovery) only, which protects the PIM router from forged PIM messages on the interface.
To communicate with other PIM routers using this interface, this object must remain set to FALSE.
Changing the value of this object while the interface is operational causes PIM to be disabled and then re-enabled on this interface.
pimInterfacePruneLimitInterval
1.3.6.1.2.1.157.1.1.1.24
Unsigned32 (0..65535) · seconds
Reference: RFC 3973 section 4.8
The minimum interval that must transpire between two successive Prunes sent by a router. This object corresponds to the 't_limit' timer value defined in the PIM-DM specification. This object is used only by PIM-DM.
pimInterfaceGraftRetryInterval
1.3.6.1.2.1.157.1.1.1.25
Unsigned32 (0..65535) · seconds
Reference: RFC 3973 section 4.8
The minimum interval that must transpire between two successive Grafts sent by a router. This object corresponds to the 'Graft_Retry_Period' timer value defined in the PIM-DM specification. This object is used only by PIM-DM.
pimInterfaceSRPriorityEnabled
1.3.6.1.2.1.157.1.1.1.26
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Evaluates to TRUE if all routers on this interface are using the State Refresh option. This object is used only by PIM-DM.
pimInterfaceStatus
1.3.6.1.2.1.157.1.1.1.27
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this entry. Creating the entry enables PIM on the interface; destroying the entry disables PIM on the interface.
This status object can be set to active(1) without setting any other columnar objects in this entry.
All writeable objects in this entry can be modified when the status of this entry is active(1).
pimInterfaceStorageType
1.3.6.1.2.1.157.1.1.1.28
StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted.
If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.)
Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32
The storage type for this row. Rows having the value 'permanent' need not allow write-access to any columnar objects in the row.
The (conceptual) table listing the router's PIM neighbors.
pimNeighborIfIndex
1.3.6.1.2.1.157.1.2.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The value of ifIndex for the interface used to reach this PIM neighbor.
pimNeighborAddressType
1.3.6.1.2.1.157.1.2.1.2
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this PIM neighbor.
pimNeighborAddress
1.3.6.1.2.1.157.1.2.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The primary IP address of this PIM neighbor. The InetAddressType is given by the pimNeighborAddressType object.
pimNeighborGenerationIDPresent
1.3.6.1.2.1.157.1.2.1.4
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.1
Evaluates to TRUE if this neighbor is using the Generation ID option.
pimNeighborGenerationIDValue
1.3.6.1.2.1.157.1.2.1.5
Unsigned32
Reference: RFC 4601 section 4.3.1
The value of the Generation ID from the last PIM Hello message received from this neighbor. This object is always zero if pimNeighborGenerationIDPresent is FALSE.
pimNeighborUpTime
1.3.6.1.2.1.157.1.2.1.6
TimeTicks
The time since this PIM neighbor (last) became a neighbor of the local router.
pimNeighborExpiryTime
1.3.6.1.2.1.157.1.2.1.7
TimeTicks
The minimum time remaining before this PIM neighbor will time out. The value zero indicates that this PIM neighbor will never time out.
pimNeighborDRPriorityPresent
1.3.6.1.2.1.157.1.2.1.8
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.2
Evaluates to TRUE if this neighbor is using the DR Priority option.
pimNeighborDRPriority
1.3.6.1.2.1.157.1.2.1.9
Unsigned32
Reference: RFC 4601 section 4.3.2
The value of the Designated Router Priority from the last PIM Hello message received from this neighbor. This object is always zero if pimNeighborDRPriorityPresent is FALSE.
pimNeighborLanPruneDelayPresent
1.3.6.1.2.1.157.1.2.1.10
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.3
Evaluates to TRUE if this neighbor is using the LAN Prune Delay option.
pimNeighborTBit
1.3.6.1.2.1.157.1.2.1.11
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 4601 section 4.3.3
Whether the T bit was set in the LAN Prune Delay option received from this neighbor. The T bit specifies the ability of the neighbor to disable join suppression. This object is always TRUE if pimNeighborLanPruneDelayPresent is FALSE.
pimNeighborPropagationDelay
1.3.6.1.2.1.157.1.2.1.12
Unsigned32 (0..32767)
Reference: RFC 4601 section 4.3.3
The value of the Propagation_Delay field of the LAN Prune Delay option received from this neighbor. This object is always zero if pimNeighborLanPruneDelayPresent is FALSE.
pimNeighborOverrideInterval
1.3.6.1.2.1.157.1.2.1.13
Unsigned32 (0..65535)
Reference: RFC 4601 section 4.3.3
The value of the Override_Interval field of the LAN Prune Delay option received from this neighbor. This object is always zero if pimNeighborLanPruneDelayPresent is FALSE.
pimNeighborBidirCapable
1.3.6.1.2.1.157.1.2.1.14
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 5015 section 3.2 and 3.7.4
Evaluates to TRUE if this neighbor is using the Bidirectional-PIM Capable option.
pimNeighborSRCapable
1.3.6.1.2.1.157.1.2.1.15
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 3973 section 4.3.4
Evaluates to TRUE if this neighbor is using the State Refresh Capable option. This object is used only by PIM-DM.
The (conceptual) table listing the secondary addresses advertised by each PIM neighbor (on a subset of the rows of the pimNeighborTable defined above).
pimNbrSecAddressIfIndex
1.3.6.1.2.1.157.1.3.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The value of ifIndex for the interface used to reach this PIM neighbor.
pimNbrSecAddressType
1.3.6.1.2.1.157.1.3.1.2
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this PIM neighbor.
pimNbrSecAddressPrimary
1.3.6.1.2.1.157.1.3.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The primary IP address of this PIM neighbor. The InetAddressType is given by the pimNbrSecAddressType object.
pimNbrSecAddress
1.3.6.1.2.1.157.1.3.1.4
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The secondary IP address of this PIM neighbor. The InetAddressType is given by the pimNbrSecAddressType object.
pimStarGTable
1.3.6.1.2.1.157.1.4
Index: pimStarGAddressType · pimStarGGrpAddress
Reference: RFC 4601 section 4.1.3
The (conceptual) table listing the non-interface specific (*,G) state that PIM has.
pimStarGAddressType
1.3.6.1.2.1.157.1.4.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this multicast group.
pimStarGGrpAddress
1.3.6.1.2.1.157.1.4.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The multicast group address. The InetAddressType is given by the pimStarGAddressType object.
pimStarGUpTime
1.3.6.1.2.1.157.1.4.1.3
TimeTicks
The time since this entry was created by the local router.
pimStarGPimMode
1.3.6.1.2.1.157.1.4.1.4
PimMode3 = asm4 = bidirThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
Whether this entry represents an ASM (Any Source Multicast, used with PIM-SM) or BIDIR-PIM group.
pimStarGRPAddressType
1.3.6.1.2.1.157.1.4.1.5
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the Rendezvous Point (RP), or unknown(0) if the RP address is unknown.
pimStarGRPAddress
1.3.6.1.2.1.157.1.4.1.6
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The address of the Rendezvous Point (RP) for the group. The InetAddressType is given by the pimStarGRPAddressType.
pimStarGPimModeOrigin
1.3.6.1.2.1.157.1.4.1.7
PimGroupMappingOriginType1 = fixed2 = configRp3 = configSsm4 = bsr5 = autoRP6 = embedded7 = otherThe mechanism by which a PIM group mapping was learned.
fixed(1) Link-local or unroutable group mappings.
configRp(2) Local static RP configuration.
configSsm(3) Local SSM Group configuration.
bsr(4) The PIM Bootstrap Router (BSR) mechanism.
autoRP(5) Cisco's Auto-RP mechanism.
embedded(6) The Embedded-RP mechanism where the RP address
is embedded in the multicast group address.
other(7) Any other mechanism.Reference: RFC 3569, RFC 3956, and RFC 5059 · Integer32
The mechanism by which the PIM mode and RP for the group were learned.
pimStarGRPIsLocal
1.3.6.1.2.1.157.1.4.1.8
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether the local router is the RP for the group.
pimStarGUpstreamJoinState
1.3.6.1.2.1.157.1.4.1.9
INTEGER1 = notJoined2 = joined · Integer32
Reference: RFC 4601 section 4.5.6
Whether the local router should join the RP tree for the group. This corresponds to the state of the upstream (*,G) state machine in the PIM-SM specification.
pimStarGUpstreamJoinTimer
1.3.6.1.2.1.157.1.4.1.10
TimeTicks
Reference: RFC 4601 section 4.10
The time remaining before the local router next sends a periodic (*,G) Join message on pimStarGRPFIfIndex. This timer is called the (*,G) Upstream Join Timer in the PIM-SM specification. This object is zero if the timer is not running.
pimStarGUpstreamNeighborType
1.3.6.1.2.1.157.1.4.1.11
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The primary address type of the upstream neighbor, or unknown(0) if the upstream neighbor address is unknown or is not a PIM neighbor.
pimStarGUpstreamNeighbor
1.3.6.1.2.1.157.1.4.1.12
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 section 4.1.6
The primary address of the neighbor on pimStarGRPFIfIndex that the local router is sending periodic (*,G) Join messages to. The InetAddressType is given by the pimStarGUpstreamNeighborType object. This address is called RPF'(*,G) in the PIM-SM specification.
pimStarGRPFIfIndex
1.3.6.1.2.1.157.1.4.1.13
InterfaceIndexOrZeroThis textual convention is an extension of the InterfaceIndex convention. The latter defines a greater than zero value used to identify an interface or interface sub-layer in the managed system. This extension permits the additional value of zero. the value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. Examples of the usage of zero might include situations where interface was unknown, or when none or all interfaces need to be referenced. (0..2147483647) · Integer32 · hint d
The value of ifIndex for the Reverse Path Forwarding (RPF) interface towards the RP, or zero if the RPF interface is unknown.
pimStarGRPFNextHopType
1.3.6.1.2.1.157.1.4.1.14
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the RPF next hop towards the RP, or unknown(0) if the RPF next hop is unknown.
pimStarGRPFNextHop
1.3.6.1.2.1.157.1.4.1.15
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 section 4.5.5
The address of the RPF next hop towards the RP. The InetAddressType is given by the pimStarGRPFNextHopType object. This address is called MRIB.next_hop(RP(G)) in the PIM-SM specification.
pimStarGRPFRouteProtocol
1.3.6.1.2.1.157.1.4.1.16
IANAipRouteProtocol1 = other2 = local3 = netmgmt4 = icmp5 = egp6 = ggp7 = hello8 = rip9 = isIs10 = esIs11 = ciscoIgrp12 = bbnSpfIgp13 = ospf14 = bgp15 = idpr16 = ciscoEigrp17 = dvmrp18 = rpl19 = dhcp20 = ttdpA mechanism for learning routes. Inclusion of values for routing protocols is not intended to imply that those protocols need be supported. · Integer32
The routing mechanism via which the route used to find the RPF interface towards the RP was learned.
pimStarGRPFRouteAddress
1.3.6.1.2.1.157.1.4.1.17
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP address that, when combined with the corresponding value of pimStarGRPFRoutePrefixLength, identifies the route used to find the RPF interface towards the RP. The InetAddressType is given by the pimStarGRPFNextHopType object.
This address object is only significant up to pimStarGRPFRoutePrefixLength bits. The remainder of the address bits are zero.
pimStarGRPFRoutePrefixLength
1.3.6.1.2.1.157.1.4.1.18
InetAddressPrefixLengthDenotes the length of a generic Internet network address prefix. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0.
An InetAddressPrefixLength value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddressPrefixLength textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddressPrefixLength textual convention, if they appear in the same logical row.
InetAddressPrefixLength values larger than the maximum length of an IP address for a specific InetAddressType are treated as the maximum significant value applicable for the InetAddressType. The maximum significant value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the InetAddressType 'dns(16)' is 0.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where the Internet network address prefix is unknown or does not apply.
The upper bound of the prefix length has been chosen to be consistent with the maximum size of an InetAddress. (0..2040) · Unsigned32 · hint d
The prefix length that, when combined with the corresponding value of pimStarGRPFRouteAddress, identifies the route used to find the RPF interface towards the RP. The InetAddressType is given by the pimStarGRPFNextHopType object.
pimStarGRPFRouteMetricPref
1.3.6.1.2.1.157.1.4.1.19
Unsigned32 (0..2147483647)
The metric preference of the route used to find the RPF interface towards the RP.
pimStarGRPFRouteMetric
1.3.6.1.2.1.157.1.4.1.20
Unsigned32
The routing metric of the route used to find the RPF interface towards the RP.
The (conceptual) table listing the interface-specific (*,G) state that PIM has.
pimStarGIIfIndex
1.3.6.1.2.1.157.1.5.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The ifIndex of the interface that this entry corresponds to.
pimStarGIUpTime
1.3.6.1.2.1.157.1.5.1.2
TimeTicks
The time since this entry was created by the local router.
pimStarGILocalMembership
1.3.6.1.2.1.157.1.5.1.3
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Reference: RFC 3376, RFC 3810, and RFC 4601 section 4.1.6
Whether the local router has (*,G) local membership on this interface (resulting from a mechanism such as IGMP or MLD). This corresponds to local_receiver_include(*,G,I) in the PIM-SM specification.
The state resulting from (*,G) Join/Prune messages received on this interface. This corresponds to the state of the downstream per-interface (*,G) state machine in the PIM-SM specification.
pimStarGIPrunePendingTimer
1.3.6.1.2.1.157.1.5.1.5
TimeTicks
Reference: RFC 4601 section 4.5.1
The time remaining before the local router acts on a (*,G) Prune message received on this interface, during which the router is waiting to see whether another downstream router will override the Prune message. This timer is called the (*,G) Prune-Pending Timer in the PIM-SM specification. This object is zero if the timer is not running.
pimStarGIJoinExpiryTimer
1.3.6.1.2.1.157.1.5.1.6
TimeTicks
Reference: RFC 4601 section 4.10
The time remaining before (*,G) Join state for this interface expires. This timer is called the (*,G) Join Expiry Timer in the PIM-SM specification. This object is zero if the timer is not running. A value of 'FFFFFFFF'h indicates an infinite expiry time.
The (*,G) Assert state for this interface. This corresponds to the state of the per-interface (*,G) Assert state machine in the PIM-SM specification. If pimStarGPimMode is 'bidir', this object must be 'noInfo'.
pimStarGIAssertTimer
1.3.6.1.2.1.157.1.5.1.8
TimeTicks
Reference: RFC 4601 section 4.6.2
If pimStarGIAssertState is 'iAmAssertWinner', this is the time remaining before the local router next sends a (*,G) Assert message on this interface. If pimStarGIAssertState is 'iAmAssertLoser', this is the time remaining before the (*,G) Assert state expires. If pimStarGIAssertState is 'noInfo', this is zero. This timer is called the (*,G) Assert Timer in the PIM-SM specification.
pimStarGIAssertWinnerAddressType
1.3.6.1.2.1.157.1.5.1.9
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
If pimStarGIAssertState is 'iAmAssertLoser', this is the address type of the assert winner; otherwise, this object is unknown(0).
pimStarGIAssertWinnerAddress
1.3.6.1.2.1.157.1.5.1.10
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
If pimStarGIAssertState is 'iAmAssertLoser', this is the address of the assert winner. The InetAddressType is given by the pimStarGIAssertWinnerAddressType object.
pimStarGIAssertWinnerMetricPref
1.3.6.1.2.1.157.1.5.1.11
Unsigned32 (0..2147483647)
If pimStarGIAssertState is 'iAmAssertLoser', this is the metric preference of the route to the RP advertised by the assert winner; otherwise, this object is zero.
pimStarGIAssertWinnerMetric
1.3.6.1.2.1.157.1.5.1.12
Unsigned32
If pimStarGIAssertState is 'iAmAssertLoser', this is the routing metric of the route to the RP advertised by the assert winner; otherwise, this object is zero.
The (conceptual) table listing the non-interface specific (S,G) state that PIM has.
pimSGAddressType
1.3.6.1.2.1.157.1.6.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the source and multicast group for this entry.
pimSGGrpAddress
1.3.6.1.2.1.157.1.6.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The multicast group address for this entry. The InetAddressType is given by the pimSGAddressType object.
pimSGSrcAddress
1.3.6.1.2.1.157.1.6.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The source address for this entry. The InetAddressType is given by the pimSGAddressType object.
pimSGUpTime
1.3.6.1.2.1.157.1.6.1.4
TimeTicks
The time since this entry was created by the local router.
pimSGPimMode
1.3.6.1.2.1.157.1.6.1.5
PimMode2 = ssm3 = asmThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
Whether pimSGGrpAddress is an SSM (Source Specific Multicast, used with PIM-SM) or ASM (Any Source Multicast, used with PIM-SM) group.
pimSGUpstreamJoinState
1.3.6.1.2.1.157.1.6.1.6
INTEGER1 = notJoined2 = joined · Integer32
Reference: RFC 4601 section 4.5.7
Whether the local router should join the shortest-path tree for the source and group represented by this entry. This corresponds to the state of the upstream (S,G) state machine in the PIM-SM specification.
pimSGUpstreamJoinTimer
1.3.6.1.2.1.157.1.6.1.7
TimeTicks
Reference: RFC 4601 sections 4.10 and 4.11
The time remaining before the local router next sends a periodic (S,G) Join message on pimSGRPFIfIndex. This timer is called the (S,G) Upstream Join Timer in the PIM-SM specification. This object is zero if the timer is not running.
pimSGUpstreamNeighbor
1.3.6.1.2.1.157.1.6.1.8
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 section 4.1.6
The primary address of the neighbor on pimSGRPFIfIndex that the local router is sending periodic (S,G) Join messages to. This is zero if the RPF next hop is unknown or is not a PIM neighbor. The InetAddressType is given by the pimSGAddressType object. This address is called RPF'(S,G) in the PIM-SM specification.
pimSGRPFIfIndex
1.3.6.1.2.1.157.1.6.1.9
InterfaceIndexOrZeroThis textual convention is an extension of the InterfaceIndex convention. The latter defines a greater than zero value used to identify an interface or interface sub-layer in the managed system. This extension permits the additional value of zero. the value zero is object-specific and must therefore be defined as part of the description of any object which uses this syntax. Examples of the usage of zero might include situations where interface was unknown, or when none or all interfaces need to be referenced. (0..2147483647) · Integer32 · hint d
The value of ifIndex for the RPF interface towards the source, or zero if the RPF interface is unknown.
pimSGRPFNextHopType
1.3.6.1.2.1.157.1.6.1.10
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the RPF next hop towards the source, or unknown(0) if the RPF next hop is unknown.
pimSGRPFNextHop
1.3.6.1.2.1.157.1.6.1.11
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 section 4.5.5
The address of the RPF next hop towards the source. The InetAddressType is given by the pimSGRPFNextHopType. This address is called MRIB.next_hop(S) in the PIM-SM specification.
pimSGRPFRouteProtocol
1.3.6.1.2.1.157.1.6.1.12
IANAipRouteProtocol1 = other2 = local3 = netmgmt4 = icmp5 = egp6 = ggp7 = hello8 = rip9 = isIs10 = esIs11 = ciscoIgrp12 = bbnSpfIgp13 = ospf14 = bgp15 = idpr16 = ciscoEigrp17 = dvmrp18 = rpl19 = dhcp20 = ttdpA mechanism for learning routes. Inclusion of values for routing protocols is not intended to imply that those protocols need be supported. · Integer32
The routing mechanism via which the route used to find the RPF interface towards the source was learned.
pimSGRPFRouteAddress
1.3.6.1.2.1.157.1.6.1.13
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP address that, when combined with the corresponding value of pimSGRPFRoutePrefixLength, identifies the route used to find the RPF interface towards the source. The InetAddressType is given by the pimSGRPFNextHopType object.
This address object is only significant up to pimSGRPFRoutePrefixLength bits. The remainder of the address bits are zero.
pimSGRPFRoutePrefixLength
1.3.6.1.2.1.157.1.6.1.14
InetAddressPrefixLengthDenotes the length of a generic Internet network address prefix. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0.
An InetAddressPrefixLength value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddressPrefixLength textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddressPrefixLength textual convention, if they appear in the same logical row.
InetAddressPrefixLength values larger than the maximum length of an IP address for a specific InetAddressType are treated as the maximum significant value applicable for the InetAddressType. The maximum significant value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the InetAddressType 'dns(16)' is 0.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where the Internet network address prefix is unknown or does not apply.
The upper bound of the prefix length has been chosen to be consistent with the maximum size of an InetAddress. (0..2040) · Unsigned32 · hint d
The prefix length that, when combined with the corresponding value of pimSGRPFRouteAddress, identifies the route used to find the RPF interface towards the source. The InetAddressType is given by the pimSGRPFNextHopType object.
pimSGRPFRouteMetricPref
1.3.6.1.2.1.157.1.6.1.15
Unsigned32 (0..2147483647)
The metric preference of the route used to find the RPF interface towards the source.
pimSGRPFRouteMetric
1.3.6.1.2.1.157.1.6.1.16
Unsigned32
The routing metric of the route used to find the RPF interface towards the source.
pimSGSPTBit
1.3.6.1.2.1.157.1.6.1.17
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether the SPT bit is set; and therefore whether forwarding is taking place on the shortest-path tree.
pimSGKeepaliveTimer
1.3.6.1.2.1.157.1.6.1.18
TimeTicks
Reference: RFC 4601 section 4.1.4
The time remaining before this (S,G) state expires, in the absence of explicit (S,G) local membership or (S,G) Join messages received to maintain it. This timer is called the (S,G) Keepalive Timer in the PIM-SM specification.
Whether the local router should encapsulate (S,G) data packets in Register messages and send them to the RP. This corresponds to the state of the per-(S,G) Register state machine in the PIM-SM specification. This object is always 'noInfo' unless pimSGPimMode is 'asm'.
pimSGDRRegisterStopTimer
1.3.6.1.2.1.157.1.6.1.20
TimeTicks
Reference: RFC 4601 section 4.4
If pimSGDRRegisterState is 'prune', this is the time remaining before the local router sends a Null-Register message to the RP. If pimSGDRRegisterState is 'joinPending', this is the time remaining before the local router resumes encapsulating data packets and sending them to the RP. Otherwise, this is zero. This timer is called the Register-Stop Timer in the PIM-SM specification.
pimSGRPRegisterPMBRAddressType
1.3.6.1.2.1.157.1.6.1.21
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the first PIM Multicast Border Router to send a Register message with the Border bit set. This object is unknown(0) if the local router is not the RP for the group.
pimSGRPRegisterPMBRAddress
1.3.6.1.2.1.157.1.6.1.22
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP address of the first PIM Multicast Border Router to send a Register message with the Border bit set. The InetAddressType is given by the pimSGRPRegisterPMBRAddressType object.
Whether the local router has pruned itself from the tree. This corresponds to the state of the upstream prune (S,G) state machine in the PIM-DM specification. This object is used only by PIM-DM.
pimSGUpstreamPruneLimitTimer
1.3.6.1.2.1.157.1.6.1.24
TimeTicks
Reference: RFC 2973 section 4.8
The time remaining before the local router may send a (S,G) Prune message on pimSGRPFIfIndex. This timer is called the (S,G) Prune Limit Timer in the PIM-DM specification. This object is zero if the timer is not running. This object is used only by PIM-DM.
Whether the router is an originator for an (S,G) message flow. This corresponds to the state of the per-(S,G) Originator state machine in the PIM-DM specification. This object is used only by PIM-DM.
pimSGSourceActiveTimer
1.3.6.1.2.1.157.1.6.1.26
TimeTicks
Reference: RFC 3973 section 4.8
If pimSGOriginatorState is 'originator', this is the time remaining before the local router reverts to a notOriginator state. Otherwise, this is zero. This timer is called the Source Active Timer in the PIM-DM specification. This object is used only by PIM-DM.
pimSGStateRefreshTimer
1.3.6.1.2.1.157.1.6.1.27
TimeTicks
Reference: RFC 3973 section 4.8
If pimSGOriginatorState is 'originator', this is the time remaining before the local router sends a State Refresh message. Otherwise, this is zero. This timer is called the State Refresh Timer in the PIM-DM specification. This object is used only by PIM-DM.
The (conceptual) table listing the interface-specific (S,G) state that PIM has.
pimSGIIfIndex
1.3.6.1.2.1.157.1.7.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The ifIndex of the interface that this entry corresponds to.
pimSGIUpTime
1.3.6.1.2.1.157.1.7.1.2
TimeTicks
The time since this entry was created by the local router.
pimSGILocalMembership
1.3.6.1.2.1.157.1.7.1.3
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether the local router has (S,G) local membership on this interface (resulting from a mechanism such as IGMP or MLD). This corresponds to local_receiver_include(S,G,I) in the PIM-SM specification.
Reference: RFC 4601 section 4.5.3 and RFC 3973 section 4.4.2
The state resulting from (S,G) Join/Prune messages received on this interface. This corresponds to the state of the downstream per-interface (S,G) state machine in the PIM-SM and PIM-DM specification.
pimSGIPrunePendingTimer
1.3.6.1.2.1.157.1.7.1.5
TimeTicks
Reference: RFC 4601 sections 4.5.3 and 4.5.4
The time remaining before the local router acts on an (S,G) Prune message received on this interface, during which the router is waiting to see whether another downstream router will override the Prune message. This timer is called the (S,G) Prune-Pending Timer in the PIM-SM specification. This object is zero if the timer is not running.
pimSGIJoinExpiryTimer
1.3.6.1.2.1.157.1.7.1.6
TimeTicks
Reference: RFC 4601 section 4.10 and RFC 3973 section 4.8
The time remaining before (S,G) Join state for this interface expires. This timer is called the (S,G) Join Expiry Timer in the PIM-SM specification. This object is zero if the timer is not running. A value of 'FFFFFFFF'h indicates an infinite expiry time. This timer is called the (S,G) Prune Timer in the PIM-DM specification.
The (S,G) Assert state for this interface. This corresponds to the state of the per-interface (S,G) Assert state machine in the PIM-SM specification.
pimSGIAssertTimer
1.3.6.1.2.1.157.1.7.1.8
TimeTicks
Reference: RFC 4601 section 4.6.1
If pimSGIAssertState is 'iAmAssertWinner', this is the time remaining before the local router next sends a (S,G) Assert message on this interface. If pimSGIAssertState is 'iAmAssertLoser', this is the time remaining before the (S,G) Assert state expires. If pimSGIAssertState is 'noInfo', this is zero. This timer is called the (S,G) Assert Timer in the PIM-SM specification.
pimSGIAssertWinnerAddressType
1.3.6.1.2.1.157.1.7.1.9
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
If pimSGIAssertState is 'iAmAssertLoser', this is the address type of the assert winner; otherwise, this object is unknown(0).
pimSGIAssertWinnerAddress
1.3.6.1.2.1.157.1.7.1.10
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
If pimSGIAssertState is 'iAmAssertLoser', this is the address of the assert winner. The InetAddressType is given by the pimSGIAssertWinnerAddressType object.
pimSGIAssertWinnerMetricPref
1.3.6.1.2.1.157.1.7.1.11
Unsigned32 (0..2147483647)
If pimSGIAssertState is 'iAmAssertLoser', this is the metric preference of the route to the source advertised by the assert winner; otherwise, this object is zero.
pimSGIAssertWinnerMetric
1.3.6.1.2.1.157.1.7.1.12
Unsigned32
If pimSGIAssertState is 'iAmAssertLoser', this is the routing metric of the route to the source advertised by the assert winner; otherwise, this object is zero.
The (conceptual) table listing the non-interface specific (S,G,rpt) state that PIM has.
pimSGRptSrcAddress
1.3.6.1.2.1.157.1.8.1.1
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The source address for this entry. The InetAddressType is given by the pimStarGAddressType object.
pimSGRptUpTime
1.3.6.1.2.1.157.1.8.1.2
TimeTicks
The time since this entry was created by the local router.
Whether the local router should prune the source off the RP tree. This corresponds to the state of the upstream (S,G,rpt) state machine for triggered messages in the PIM-SM specification.
pimSGRptUpstreamOverrideTimer
1.3.6.1.2.1.157.1.8.1.4
TimeTicks
Reference: RFC 4601 section 4.5.9
The time remaining before the local router sends a triggered (S,G,rpt) Join message on pimStarGRPFIfIndex. This timer is called the (S,G,rpt) Upstream Override Timer in the PIM-SM specification. This object is zero if the timer is not running.
The (conceptual) table listing the interface-specific (S,G,rpt) state that PIM has.
pimSGRptIIfIndex
1.3.6.1.2.1.157.1.9.1.1
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The ifIndex of the interface that this entry corresponds to.
pimSGRptIUpTime
1.3.6.1.2.1.157.1.9.1.2
TimeTicks
The time since this entry was created by the local router.
pimSGRptILocalMembership
1.3.6.1.2.1.157.1.9.1.3
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether the local router has both (*,G) include local membership and (S,G) exclude local membership on this interface (resulting from a mechanism such as IGMP or MLD). This corresponds to local_receiver_exclude(S,G,I) in the PIM-SM specification.
The state resulting from (S,G,rpt) Join/Prune messages received on this interface. This corresponds to the state of the downstream per-interface (S,G,rpt) state machine in the PIM-SM specification.
pimSGRptIPrunePendingTimer
1.3.6.1.2.1.157.1.9.1.5
TimeTicks
Reference: RFC 4601 section 4.5.4
The time remaining before the local router starts pruning this source off the RP tree. This timer is called the (S,G,rpt) Prune-Pending Timer in the PIM-SM specification. This object is zero if the timer is not running.
pimSGRptIPruneExpiryTimer
1.3.6.1.2.1.157.1.9.1.6
TimeTicks
Reference: RFC 4601 section 4.5.4
The time remaining before (S,G,rpt) Prune state for this interface expires. This timer is called the (S,G,rpt) Prune Expiry Timer in the PIM-SM specification. This object is zero if the timer is not running. A value of 'FFFFFFFF'h indicates an infinite expiry time.
The (conceptual) table listing the per-RP Designated Forwarder (DF) Election state for each interface for all the RPs in BIDIR mode.
pimBidirDFElectionAddressType
1.3.6.1.2.1.157.1.10.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the RP for which the DF state is being maintained.
pimBidirDFElectionRPAddress
1.3.6.1.2.1.157.1.10.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The IP address of the RP for which the DF state is being maintained. The InetAddressType is given by the pimBidirDFElectionAddressType object.
pimBidirDFElectionIfIndex
1.3.6.1.2.1.157.1.10.1.3
InterfaceIndexA unique value, greater than zero, for each interface or interface sub-layer in the managed system. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re-initialization. (1..2147483647) · Integer32 · hint d
The value of ifIndex for the interface for which the DF state is being maintained.
pimBidirDFElectionWinnerAddressType
1.3.6.1.2.1.157.1.10.1.4
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The primary address type of the winner of the DF Election process. A value of unknown(0) indicates there is currently no DF.
pimBidirDFElectionWinnerAddress
1.3.6.1.2.1.157.1.10.1.5
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The primary IP address of the winner of the DF Election process. The InetAddressType is given by the pimBidirDFElectionWinnerAddressType object.
pimBidirDFElectionWinnerUpTime
1.3.6.1.2.1.157.1.10.1.6
TimeTicks
The time since the current winner (last) became elected as the DF for this RP.
pimBidirDFElectionWinnerMetricPref
1.3.6.1.2.1.157.1.10.1.7
Unsigned32
The metric preference advertised by the DF Winner, or zero if there is currently no DF.
pimBidirDFElectionWinnerMetric
1.3.6.1.2.1.157.1.10.1.8
Unsigned32
The metric advertised by the DF Winner, or zero if there is currently no DF.
This table is used to manage static configuration of RPs.
If the group prefixes configured for two or more rows in this table overlap, the row with the greatest value of pimStaticRPGrpPrefixLength is used for the overlapping range.
pimStaticRPAddressType
1.3.6.1.2.1.157.1.11.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this entry.
pimStaticRPGrpAddress
1.3.6.1.2.1.157.1.11.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The multicast group address that, when combined with pimStaticRPGrpPrefixLength, gives the group prefix for this entry. The InetAddressType is given by the pimStaticRPAddressType object.
This address object is only significant up to pimStaticRPGrpPrefixLength bits. The remainder of the address bits are zero. This is especially important for this index field, which is part of the index of this entry. Any non-zero bits would signify an entirely different entry.
pimStaticRPGrpPrefixLength
1.3.6.1.2.1.157.1.11.1.3
InetAddressPrefixLengthDenotes the length of a generic Internet network address prefix. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0.
An InetAddressPrefixLength value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddressPrefixLength textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddressPrefixLength textual convention, if they appear in the same logical row.
InetAddressPrefixLength values larger than the maximum length of an IP address for a specific InetAddressType are treated as the maximum significant value applicable for the InetAddressType. The maximum significant value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the InetAddressType 'dns(16)' is 0.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where the Internet network address prefix is unknown or does not apply.
The upper bound of the prefix length has been chosen to be consistent with the maximum size of an InetAddress. (4..128) · Unsigned32 · hint d
The multicast group prefix length that, when combined with pimStaticRPGrpAddress, gives the group prefix for this entry. The InetAddressType is given by the pimStaticRPAddressType object. If pimStaticRPAddressType is 'ipv4' or 'ipv4z', this object must be in the range 4..32.
If pimStaticRPGrpAddressType is 'ipv6' or 'ipv6z', this object must be in the range 8..128.
pimStaticRPRPAddress
1.3.6.1.2.1.157.1.11.1.4
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The IP address of the RP to be used for groups within this group prefix. The InetAddressType is given by the pimStaticRPAddressType object.
pimStaticRPPimMode
1.3.6.1.2.1.157.1.11.1.5
PimMode2 = ssm3 = asm4 = bidirThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
The PIM mode to be used for groups in this group prefix.
If this object is set to ssm(2), then pimStaticRPRPAddress must be set to zero. No RP operations are ever possible for PIM Mode SSM.
pimStaticRPOverrideDynamic
1.3.6.1.2.1.157.1.11.1.6
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether this static RP configuration will override other group mappings in this group prefix. If this object is TRUE, then it will override:
- RP information learned dynamically for groups in this
group prefix.
- RP information configured in pimStaticRPTable with
pimStaticRPOverrideDynamic set to FALSE.
See pimGroupMappingTable for details.
pimStaticRPPrecedence
1.3.6.1.2.1.157.1.11.1.7
Unsigned32
The value for pimGroupMappingPrecedence to be used for this static RP configuration. This allows fine control over which configuration is overridden by this static configuration.
If pimStaticRPOverrideDynamic is set to TRUE, all dynamic RP configuration is overridden by this static configuration, whatever the value of this object.
The absolute values of this object have a significance only on the local router and do not need to be coordinated with other routers. A setting of this object may have different effects when applied to other routers.
Do not use this object unless fine control of static RP behavior on the local router is required.
pimStaticRPRowStatus
1.3.6.1.2.1.157.1.11.1.8
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row, by which rows in this table can be created and destroyed.
This status object cannot be set to active(1) before a valid value has been written to pimStaticRPRPAddress.
All writeable objects in this entry can be modified when the status of this entry is active(1).
pimStaticRPStorageType
1.3.6.1.2.1.157.1.11.1.9
StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted.
If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.)
Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32
The storage type for this row. Rows having the value 'permanent' need not allow write-access to any columnar objects in the row.
This table is used to manage Anycast-RP via PIM Register messages, as opposed to via other protocols such as MSDP (Multicast Source Discovery Protocol).
Entries must be configured in this table if and only if the local router is a member of one or more Anycast-RP sets, that is, one or more Anycast-RP addresses are assigned to the local router. Note that if using static RP configuration, this is in addition to, not instead of, the pimStaticRPTable entries that must be configured for the Anycast-RPs.
The set of rows with the same values of both pimAnycastRPSetAddressType and pimAnycastRPSetAnycastAddress corresponds to the Anycast-RP set for that Anycast-RP address.
When an Anycast-RP set configuration is active, one entry per pimAnycastRPSetAnycastAddress corresponds to the local router. The local router is identified by the pimAnycastRpSetLocalRouter object. That entry determines the source address used by the local router when forwarding PIM Register messages within the Anycast-RP set.
pimAnycastRPSetAddressType
1.3.6.1.2.1.157.1.12.1.1
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the Anycast-RP address and router address.
pimAnycastRPSetAnycastAddress
1.3.6.1.2.1.157.1.12.1.2
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The Anycast-RP address. The InetAddressType is given by the pimAnycastRPSetAddressType object.
pimAnycastRPSetRouterAddress
1.3.6.1.2.1.157.1.12.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The address of a router that is a member of the Anycast-RP set. The InetAddressType is given by the pimAnycastRPSetAddressType object.
This address differs from pimAnycastRPSetAnycastAddress. Equal values for these two addresses in a single entry are not permitted. That would cause a Register loop.
pimAnycastRPSetLocalRouter
1.3.6.1.2.1.157.1.12.1.4
TruthValue1 = true2 = falseRepresents a boolean value. · Integer32
Whether this entry corresponds to the local router.
pimAnycastRPSetRowStatus
1.3.6.1.2.1.157.1.12.1.5
RowStatus1 = active2 = notInService3 = notReady4 = createAndGo5 = createAndWait6 = destroyThe RowStatus textual convention is used to manage the creation and deletion of conceptual rows, and is used as the value of the SYNTAX clause for the status column of a conceptual row (as described in Section 7.7.1 of [2].)
The status column has six defined values:
- `active', which indicates that the conceptual row is available for use by the managed device;
- `notInService', which indicates that the conceptual row exists in the agent, but is unavailable for use by the managed device (see NOTE below); 'notInService' has no implication regarding the internal consistency of the row, availability of resources, or consistency with the current state of the managed device;
- `notReady', which indicates that the conceptual row exists in the agent, but is missing information necessary in order to be available for use by the managed device (i.e., one or more required columns in the conceptual row have not been instanciated);
- `createAndGo', which is supplied by a management station wishing to create a new instance of a conceptual row and to have its status automatically set to active, making it available for use by the managed device;
- `createAndWait', which is supplied by a management station wishing to create a new instance of a conceptual row (but not make it available for use by the managed device); and, - `destroy', which is supplied by a management station wishing to delete all of the instances associated with an existing conceptual row.
Whereas five of the six values (all except `notReady') may be specified in a management protocol set operation, only three values will be returned in response to a management
protocol retrieval operation: `notReady', `notInService' or
`active'. That is, when queried, an existing conceptual row
has only three states: it is either available for use by
the managed device (the status column has value `active'); it is not available for use by the managed device, though the agent has sufficient information to attempt to make it so (the status column has value `notInService'); or, it is not available for use by the managed device, and an attempt to make it so would fail because the agent has insufficient information (the state column has value `notReady').
NOTE WELL
This textual convention may be used for a MIB table, irrespective of whether the values of that table's conceptual rows are able to be modified while it is active, or whether its conceptual rows must be taken out of service in order to be modified. That is, it is the responsibility of the DESCRIPTION clause of the status column to specify whether the status column must not be `active' in order for the value of some other column of the same conceptual row to be modified. If such a specification is made, affected columns may be changed by an SNMP set PDU if the RowStatus would not be equal to `active' either immediately before or after processing the PDU. In other words, if the PDU also contained a varbind that would change the RowStatus value, the column in question may be changed if the RowStatus was not equal to `active' as the PDU was received, or if the varbind sets the status to a value other than 'active'.
Also note that whenever any elements of a row exist, the RowStatus column must also exist.
To summarize the effect of having a conceptual row with a status column having a SYNTAX clause value of RowStatus, consider the following state diagram:
STATE +--------------+-----------+-------------+-------------
| A | B | C | D
| |status col.|status column|
|status column | is | is |status column
ACTION |does not exist| notReady | notInService| is active
--------------+--------------+-----------+-------------+-------------
set status |noError ->D|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndGo |inconsistent- | | |
| Value| | |
--------------+--------------+-----------+-------------+-------------
set status |noError see 1|inconsist- |inconsistent-|inconsistent-
column to | or | entValue| Value| Value
createAndWait |wrongValue | | |
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError
column to | Value| entValue| |
active | | | |
| | or | |
| | | |
| |see 2 ->D|see 8 ->D| ->D
--------------+--------------+-----------+-------------+-------------
set status |inconsistent- |inconsist- |noError |noError ->C
column to | Value| entValue| |
notInService | | | |
| | or | | or
| | | |
| |see 3 ->C| ->C|see 6
--------------+--------------+-----------+-------------+-------------
set status |noError |noError |noError |noError ->A
column to | | | | or
destroy | ->A| ->A| ->A|see 7
--------------+--------------+-----------+-------------+-------------
set any other |see 4 |noError |noError |see 5
column to some| | | |
value | | see 1| ->C| ->D
--------------+--------------+-----------+-------------+-------------
(1) goto B or C, depending on information available to the agent.
(2) if other variable bindings included in the same PDU, provide values for all columns which are missing but required, and all columns have acceptable values, then return noError and goto D.
(3) if other variable bindings included in the same PDU, provide legal values for all columns which are missing but required, then return noError and goto C.
(4) at the discretion of the agent, the return value may be either:
inconsistentName: because the agent does not choose to
create such an instance when the corresponding RowStatus instance does not exist, or
inconsistentValue: if the supplied value is
inconsistent with the state of some other MIB object's value, or
noError: because the agent chooses to create the instance.
If noError is returned, then the instance of the status column must also be created, and the new state is B or C, depending on the information available to the agent. If inconsistentName or inconsistentValue is returned, the row remains in state A.
(5) depending on the MIB definition for the column/table, either noError or inconsistentValue may be returned.
(6) the return value can indicate one of the following errors:
wrongValue: because the agent does not support notInService (e.g., an agent which does not support createAndWait), or
inconsistentValue: because the agent is unable to take the row out of service at this time, perhaps because it is in use and cannot be de-activated.
(7) the return value can indicate the following error:
inconsistentValue: because the agent is unable to remove the row at this time, perhaps because it is in use and cannot be de-activated.
(8) the transition to D can fail, e.g., if the values of the conceptual row are inconsistent, then the error code would be inconsistentValue.
NOTE: Other processing of (this and other varbinds of) the set request may result in a response other than noError being returned, e.g., wrongValue, noCreation, etc.
Conceptual Row Creation
There are four potential interactions when creating a
conceptual row: selecting an instance-identifier which is
not in use; creating the conceptual row; initializing any objects for which the agent does not supply a default; and, making the conceptual row available for use by the managed device.
Interaction 1: Selecting an Instance-Identifier
The algorithm used to select an instance-identifier varies for each conceptual row. In some cases, the instance- identifier is semantically significant, e.g., the destination address of a route, and a management station selects the instance-identifier according to the semantics.
In other cases, the instance-identifier is used solely to distinguish conceptual rows, and a management station without specific knowledge of the conceptual row might examine the instances present in order to determine an unused instance-identifier. (This approach may be used, but it is often highly sub-optimal; however, it is also a questionable practice for a naive management station to attempt conceptual row creation.)
Alternately, the MIB module which defines the conceptual row might provide one or more objects which provide assistance in determining an unused instance-identifier. For example, if the conceptual row is indexed by an integer-value, then an object having an integer-valued SYNTAX clause might be defined for such a purpose, allowing a management station to issue a management protocol retrieval operation. In order to avoid unnecessary collisions between competing management stations, `adjacent' retrievals of this object should be different.
Finally, the management station could select a pseudo-random number to use as the index. In the event that this index
was already in use and an inconsistentValue was returned in response to the management protocol set operation, the management station should simply select a new pseudo-random number and retry the operation.
A MIB designer should choose between the two latter algorithms based on the size of the table (and therefore the efficiency of each algorithm). For tables in which a large number of entries are expected, it is recommended that a MIB object be defined that returns an acceptable index for creation. For tables with small numbers of entries, it is recommended that the latter pseudo-random index mechanism be used.
Interaction 2: Creating the Conceptual Row
Once an unused instance-identifier has been selected, the management station determines if it wishes to create and activate the conceptual row in one transaction or in a negotiated set of interactions.
Interaction 2a: Creating and Activating the Conceptual Row
The management station must first determine the column requirements, i.e., it must determine those columns for which it must or must not provide values. Depending on the complexity of the table and the management station's knowledge of the agent's capabilities, this determination can be made locally by the management station. Alternately, the management station issues a management protocol get operation to examine all columns in the conceptual row that it wishes to create. In response, for each column, there are three possible outcomes:
- a value is returned, indicating that some other management station has already created this conceptual row. We return to interaction 1.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it should supply a value for this column when the conceptual row is to be created.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
Once the column requirements have been determined, a management protocol set operation is accordingly issued. This operation also sets the new instance of the status column to `createAndGo'.
When the agent processes the set operation, it verifies that it has sufficient information to make the conceptual row available for use by the managed device. The information
available to the agent is provided by two sources: the
management protocol set operation which creates the conceptual row, and, implementation-specific defaults supplied by the agent (note that an agent must provide implementation-specific defaults for at least those objects which it implements as read-only). If there is sufficient information available, then the conceptual row is created, a `noError' response is returned, the status column is set to `active', and no further interactions are necessary (i.e., interactions 3 and 4 are skipped). If there is insufficient information, then the conceptual row is not created, and the set operation fails with an error of `inconsistentValue'. On this error, the management station can issue a management protocol retrieval operation to determine if this was because it failed to specify a value for a required column, or, because the selected instance of the status column already existed. In the latter case, we return to interaction 1. In the former case, the management station can re-issue the set operation with the additional information, or begin interaction 2 again using `createAndWait' in order to negotiate creation of the conceptual row.
NOTE WELL
Regardless of the method used to determine the column requirements, it is possible that the management station might deem a column necessary when, in fact, the agent will not allow that particular columnar instance to be created or written. In this case, the management protocol set operation will fail with an error such as `noCreation' or `notWritable'. In this case, the management station decides whether it needs to be able to set a value for that particular columnar instance. If not, the management station re-issues the management protocol set operation, but without setting a value for that particular columnar instance; otherwise, the management station aborts the row creation algorithm.
Interaction 2b: Negotiating the Creation of the Conceptual Row
The management station issues a management protocol set operation which sets the desired instance of the status column to `createAndWait'. If the agent is unwilling to process a request of this sort, the set operation fails with an error of `wrongValue'. (As a consequence, such an agent must be prepared to accept a single management protocol set operation, i.e., interaction 2a above, containing all of the
columns indicated by its column requirements.) Otherwise,
the conceptual row is created, a `noError' response is returned, and the status column is immediately set to either `notInService' or `notReady', depending on whether it has sufficient information to (attempt to) make the conceptual row available for use by the managed device. If there is sufficient information available, then the status column is set to `notInService'; otherwise, if there is insufficient information, then the status column is set to `notReady'. Regardless, we proceed to interaction 3.
Interaction 3: Initializing non-defaulted Objects
The management station must now determine the column requirements. It issues a management protocol get operation to examine all columns in the created conceptual row. In the response, for each column, there are three possible outcomes:
- a value is returned, indicating that the agent implements the object-type associated with this column and had sufficient information to provide a value. For those columns to which the agent provides read-create access (and for which the agent allows their values to be changed after their creation), a value return tells the management station that it may issue additional management protocol set operations, if it desires, in order to change the value associated with this column.
- the exception `noSuchInstance' is returned, indicating that the agent implements the object-type associated with this column, and that this column in at least one conceptual row would be accessible in the MIB view used by the retrieval were it to exist. However, the agent does not have sufficient information to provide a value, and until a value is provided, the conceptual row may not be made available for use by the managed device. For those columns to which the agent provides read-create access, the `noSuchInstance' exception tells the management station that it must issue additional management protocol set operations, in order to provide a value associated with this column.
- the exception `noSuchObject' is returned, indicating that the agent does not implement the object-type associated with this column or that there is no conceptual row for which this column would be accessible in the MIB view used by the retrieval. As such, the management station can not issue any management protocol set operations to create an instance of this column.
If the value associated with the status column is `notReady', then the management station must first deal with all `noSuchInstance' columns, if any. Having done so, the value of the status column becomes `notInService', and we proceed to interaction 4.
Interaction 4: Making the Conceptual Row Available
Once the management station is satisfied with the values associated with the columns of the conceptual row, it issues a management protocol set operation to set the status column to `active'. If the agent has sufficient information to make the conceptual row available for use by the managed device, the management protocol set operation succeeds (a `noError' response is returned). Otherwise, the management protocol set operation fails with an error of `inconsistentValue'.
NOTE WELL
A conceptual row having a status column with value `notInService' or `notReady' is unavailable to the managed device. As such, it is possible for the managed device to create its own instances during the time between the management protocol set operation which sets the status column to `createAndWait' and the management protocol set operation which sets the status column to `active'. In this case, when the management protocol set operation is issued to set the status column to `active', the values held in the agent supersede those used by the managed device.
If the management station is prevented from setting the status column to `active' (e.g., due to management station or network failure) the conceptual row will be left in the `notInService' or `notReady' state, consuming resources indefinitely. The agent must detect conceptual rows that have been in either state for an abnormally long period of time and remove them. It is the responsibility of the DESCRIPTION clause of the status column to indicate what an abnormally long period of time would be. This period of time should be long enough to allow for human response time (including `think time') between the creation of the conceptual row and the setting of the status to `active'. In the absence of such information in the DESCRIPTION clause, it is suggested that this period be approximately 5 minutes in length. This removal action applies not only to newly-created rows, but also to previously active rows which are set to, and left in, the notInService state for a prolonged period exceeding that which is considered normal for such a conceptual row.
Conceptual Row Suspension
When a conceptual row is `active', the management station may issue a management protocol set operation which sets the instance of the status column to `notInService'. If the agent is unwilling to do so, the set operation fails with an error of `wrongValue' or `inconsistentValue'. Otherwise, the conceptual row is taken out of service, and a `noError' response is returned. It is the responsibility of the DESCRIPTION clause of the status column to indicate under what circumstances the status column should be taken out of service (e.g., in order for the value of some other column of the same conceptual row to be modified).
Conceptual Row Deletion
For deletion of conceptual rows, a management protocol set operation is issued which sets the instance of the status column to `destroy'. This request may be made regardless of the current value of the status column (e.g., it is possible to delete conceptual rows which are either `notReady',
`notInService' or `active'.) If the operation succeeds,
then all instances associated with the conceptual row are immediately removed. · Integer32
The status of this row, by which rows in this table can be created and destroyed.
This status object can be set to active(1) without setting any other columnar objects in this entry.
All writeable objects in this entry can be modified when the status of this entry is active(1).
pimAnycastRPSetStorageType
1.3.6.1.2.1.157.1.12.1.6
StorageType1 = other2 = volatile3 = nonVolatile4 = permanent5 = readOnlyDescribes the memory realization of a conceptual row. A row which is volatile(2) is lost upon reboot. A row which is either nonVolatile(3), permanent(4) or readOnly(5), is backed up by stable storage. A row which is permanent(4) can be changed but not deleted. A row which is readOnly(5) cannot be changed nor deleted.
If the value of an object with this syntax is either permanent(4) or readOnly(5), it cannot be written. Conversely, if the value is either other(1), volatile(2) or nonVolatile(3), it cannot be modified to be permanent(4) or readOnly(5). (All illegal modifications result in a 'wrongValue' error.)
Every usage of this textual convention is required to specify the columnar objects which a permanent(4) row must at a minimum allow to be writable. · Integer32
The storage type for this row. Rows having the value 'permanent' need not allow write-access to any columnar objects in the row.
Reference: RFC 4601 section 3.7, RFC 3956, and RFC 4610
The (conceptual) table listing mappings from multicast group prefixes to the PIM mode and RP address to use for groups within that group prefix.
Rows in this table are created for a variety of reasons, indicated by the value of the pimGroupMappingOrigin object.
- Rows with a pimGroupMappingOrigin value of 'fixed' are
created automatically by the router at startup, to correspond to the well-defined prefixes of link-local and unroutable group addresses. These rows are never destroyed.
- Rows with a pimGroupMappingOrigin value of 'embedded' are
created by the router to correspond to group prefixes that are to be treated as being in Embedded-RP format.
- Rows with a pimGroupMappingOrigin value of 'configRp' are
created and destroyed as a result of rows in the pimStaticRPTable being created and destroyed.
- Rows with a pimGroupMappingOrigin value of 'configSsm'
are created and destroyed as a result of configuration of SSM address ranges to the local router.
- Rows with a pimGroupMappingOrigin value of 'bsr' are
created as a result of running the PIM Bootstrap Router (BSR) mechanism. If the local router is not the elected BSR, these rows are created to correspond to group prefixes in the PIM Bootstrap messages received from the elected BSR. If the local router is the elected BSR, these rows are created to correspond to group prefixes in the PIM Bootstrap messages that the local router sends. In either case, these rows are destroyed when the group prefixes are timed out by the BSR mechanism.
- Rows with a pimGroupMappingOrigin value of 'other' are
created and destroyed according to some other mechanism not specified here.
Given the collection of rows in this table at any point in time, the PIM mode and RP address to use for a particular group is determined using the following algorithm.
1. From the set of all rows, the subset whose group prefix contains the group in question are selected.
2. If there are no such rows, then the group mapping is undefined.
3. If there are multiple selected rows, and a subset is defined by pimStaticRPTable (pimGroupMappingOrigin value of 'configRp') with pimStaticRPOverrideDynamic set to TRUE, then this subset is selected.
4. From the selected subset of rows, the subset that have the greatest value of pimGroupMappingGrpPrefixLength are selected.
5. If there are still multiple selected rows, the subset that has the highest precedence (the lowest numerical value for pimGroupMappingPrecedence) is selected.
6. If there are still multiple selected rows, the row selected is implementation dependent; the implementation might or might not apply the PIM hash function to select the row.
7. The group mode to use is given by the value of pimGroupMappingPimMode from the single selected row; the RP to use is given by the value of pimGroupMappingRPAddress, unless pimGroupMappingOrigin is 'embedded', in which case, the RP is extracted from the group address in question.
pimGroupMappingOrigin
1.3.6.1.2.1.157.1.13.1.1
PimGroupMappingOriginType1 = fixed2 = configRp3 = configSsm4 = bsr5 = autoRP6 = embedded7 = otherThe mechanism by which a PIM group mapping was learned.
fixed(1) Link-local or unroutable group mappings.
configRp(2) Local static RP configuration.
configSsm(3) Local SSM Group configuration.
bsr(4) The PIM Bootstrap Router (BSR) mechanism.
autoRP(5) Cisco's Auto-RP mechanism.
embedded(6) The Embedded-RP mechanism where the RP address
is embedded in the multicast group address.
other(7) Any other mechanism.Reference: RFC 3569, RFC 3956, and RFC 5059 · Integer32
The mechanism by which this group mapping was learned.
pimGroupMappingAddressType
1.3.6.1.2.1.157.1.13.1.2
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the IP multicast group prefix.
pimGroupMappingGrpAddress
1.3.6.1.2.1.157.1.13.1.3
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (4 | 8 | 16 | 20) · OCTET STRING
The IP multicast group address that, when combined with pimGroupMappingGrpPrefixLength, gives the group prefix for this mapping. The InetAddressType is given by the pimGroupMappingAddressType object.
This address object is only significant up to pimGroupMappingGrpPrefixLength bits. The remainder of the address bits are zero. This is especially important for this index field, which is part of the index of this entry. Any non-zero bits would signify an entirely different entry.
pimGroupMappingGrpPrefixLength
1.3.6.1.2.1.157.1.13.1.4
InetAddressPrefixLengthDenotes the length of a generic Internet network address prefix. A value of n corresponds to an IP address mask that has n contiguous 1-bits from the most significant bit (MSB), with all other bits set to 0.
An InetAddressPrefixLength value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddressPrefixLength textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddressPrefixLength textual convention, if they appear in the same logical row.
InetAddressPrefixLength values larger than the maximum length of an IP address for a specific InetAddressType are treated as the maximum significant value applicable for the InetAddressType. The maximum significant value is 32 for the InetAddressType 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value for the InetAddressType 'dns(16)' is 0.
The value zero is object-specific and must be defined as part of the description of any object that uses this syntax. Examples of the usage of zero might include situations where the Internet network address prefix is unknown or does not apply.
The upper bound of the prefix length has been chosen to be consistent with the maximum size of an InetAddress. (4..128) · Unsigned32 · hint d
The multicast group prefix length that, when combined with pimGroupMappingGrpAddress, gives the group prefix for this mapping. The InetAddressType is given by the pimGroupMappingAddressType object. If pimGroupMappingAddressType is 'ipv4' or 'ipv4z', this object must be in the range 4..32. If pimGroupMappingAddressType is 'ipv6' or 'ipv6z', this object must be in the range 8..128.
pimGroupMappingRPAddressType
1.3.6.1.2.1.157.1.13.1.5
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of the RP to be used for groups within this group prefix, or unknown(0) if no RP is to be used or if the RP address is unknown. This object must be unknown(0) if pimGroupMappingPimMode is ssm(2), or if pimGroupMappingOrigin is embedded(6).
pimGroupMappingRPAddress
1.3.6.1.2.1.157.1.13.1.6
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP address of the RP to be used for groups within this group prefix. The InetAddressType is given by the pimGroupMappingRPAddressType object.
pimGroupMappingPimMode
1.3.6.1.2.1.157.1.13.1.7
PimMode1 = none2 = ssm3 = asm4 = bidir5 = dm6 = otherThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
The PIM mode to be used for groups in this group prefix.
pimGroupMappingPrecedence
1.3.6.1.2.1.157.1.13.1.8
Unsigned32
The precedence of this row, used in the algorithm that determines which row applies to a given group address (described above). Numerically higher values for this object indicate lower precedences, with the value zero denoting the highest precedence.
The absolute values of this object have a significance only on the local router and do not need to be coordinated with other routers.
Trap details
pimNeighborLoss
1.3.6.1.2.1.157.0.1
Reference: RFC 4601 section 4.3.2
A pimNeighborLoss notification signifies the loss of an adjacency with a neighbor. This notification should be generated when the neighbor timer expires, and the router has no other neighbors on the same interface with the same IP version and a lower IP address than itself.
This notification is generated whenever the counter pimNeighborLossCount is incremented, subject to the rate limit specified by pimNeighborLossNotificationPeriod.
pimNeighborUpTime
1.3.6.1.2.1.157.1.2.1.6
TimeTicks
The time since this PIM neighbor (last) became a neighbor of the local router.
pimInvalidRegister
1.3.6.1.2.1.157.0.2
Reference: RFC 4601 section 4.4.2
A pimInvalidRegister notification signifies that an invalid PIM Register message was received by this device.
This notification is generated whenever the counter pimInvalidRegisterMsgsRcvd is incremented, subject to the rate limit specified by pimInvalidRegisterNotificationPeriod.
pimGroupMappingPimMode
1.3.6.1.2.1.157.1.13.1.7
PimMode1 = none2 = ssm3 = asm4 = bidir5 = dm6 = otherThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
The PIM mode to be used for groups in this group prefix.
pimInvalidRegisterAddressType
1.3.6.1.2.1.157.1.33
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type stored in pimInvalidRegisterOrigin, pimInvalidRegisterGroup, and pimInvalidRegisterRp.
If no invalid Register messages have been received, then this object is set to unknown(0).
pimInvalidRegisterOrigin
1.3.6.1.2.1.157.1.34
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The source address of the last invalid Register message received by this device.
pimInvalidRegisterGroup
1.3.6.1.2.1.157.1.35
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP multicast group address to which the last invalid Register message received by this device was addressed.
pimInvalidRegisterRp
1.3.6.1.2.1.157.1.36
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The RP address to which the last invalid Register message received by this device was delivered.
pimInvalidJoinPrune
1.3.6.1.2.1.157.0.3
Reference: RFC 4601 section 4.5.2
A pimInvalidJoinPrune notification signifies that an invalid PIM Join/Prune message was received by this device.
This notification is generated whenever the counter pimInvalidJoinPruneMsgsRcvd is incremented, subject to the rate limit specified by pimInvalidJoinPruneNotificationPeriod.
pimGroupMappingPimMode
1.3.6.1.2.1.157.1.13.1.7
PimMode1 = none2 = ssm3 = asm4 = bidir5 = dm6 = otherThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
The PIM mode to be used for groups in this group prefix.
pimInvalidJoinPruneAddressType
1.3.6.1.2.1.157.1.39
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type stored in pimInvalidJoinPruneOrigin, pimInvalidJoinPruneGroup, and pimInvalidJoinPruneRp.
If no invalid Join/Prune messages have been received, this object is set to unknown(0).
pimInvalidJoinPruneOrigin
1.3.6.1.2.1.157.1.40
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The source address of the last invalid Join/Prune message received by this device.
pimInvalidJoinPruneGroup
1.3.6.1.2.1.157.1.41
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The IP multicast group address carried in the last invalid Join/Prune message received by this device.
pimInvalidJoinPruneRp
1.3.6.1.2.1.157.1.42
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
The RP address carried in the last invalid Join/Prune message received by this device.
pimNeighborUpTime
1.3.6.1.2.1.157.1.2.1.6
TimeTicks
The time since this PIM neighbor (last) became a neighbor of the local router.
pimRPMappingChange
1.3.6.1.2.1.157.0.4
A pimRPMappingChange notification signifies a change to the active RP mapping on this device.
This notification is generated whenever the counter pimRPMappingChangeCount is incremented, subject to the rate limit specified by pimRPMappingChangeNotificationPeriod.
pimGroupMappingPimMode
1.3.6.1.2.1.157.1.13.1.7
PimMode1 = none2 = ssm3 = asm4 = bidir5 = dm6 = otherThe PIM mode in which a group is operating.
none(1) The group is not using PIM, which may be the
case if, for example, it is a link-local or unroutable group address.
ssm(2) Source-Specific Multicast (SSM) with PIM Sparse
Mode.
asm(3) Any Source Multicast (ASM) with PIM Sparse
Mode.
bidir(4) Bidirectional PIM.
dm(5) PIM Dense Mode.
other(6) Any other PIM mode. · Integer32
The PIM mode to be used for groups in this group prefix.
pimGroupMappingPrecedence
1.3.6.1.2.1.157.1.13.1.8
Unsigned32
The precedence of this row, used in the algorithm that determines which row applies to a given group address (described above). Numerically higher values for this object indicate lower precedences, with the value zero denoting the highest precedence.
The absolute values of this object have a significance only on the local router and do not need to be coordinated with other routers.
pimInterfaceElection
1.3.6.1.2.1.157.0.5
Reference: RFC 4601 section 4.3.2 and RFC 5015 section 3.5.2
A pimInterfaceElection notification signifies that a new DR or DF has been elected on a network.
This notification is generated whenever the counter pimInterfaceElectionWinCount is incremented, subject to the rate limit specified by pimInterfaceElectionNotificationPeriod.
pimInterfaceAddressType
1.3.6.1.2.1.157.1.1.1.3
InetAddressType0 = unknown1 = ipv42 = ipv63 = ipv4z4 = ipv6z16 = dnsA value that represents a type of Internet address.
unknown(0) An unknown address type. This value MUST
be used if the value of the corresponding InetAddress object is a zero-length string. It may also be used to indicate an IP address that is not in one of the formats defined below.
ipv4(1) An IPv4 address as defined by the
InetAddressIPv4 textual convention.
ipv6(2) An IPv6 address as defined by the
InetAddressIPv6 textual convention.
ipv4z(3) A non-global IPv4 address including a zone
index as defined by the InetAddressIPv4z textual convention.
ipv6z(4) A non-global IPv6 address including a zone
index as defined by the InetAddressIPv6z textual convention.
dns(16) A DNS domain name as defined by the
InetAddressDNS textual convention.
Each definition of a concrete InetAddressType value must be accompanied by a definition of a textual convention for use with that InetAddressType.
To support future extensions, the InetAddressType textual convention SHOULD NOT be sub-typed in object type definitions. It MAY be sub-typed in compliance statements in order to require only a subset of these address types for a compliant implementation.
Implementations must ensure that InetAddressType objects and any dependent objects (e.g., InetAddress objects) are consistent. An inconsistentValue error must be generated if an attempt to change an InetAddressType object would, for example, lead to an undefined InetAddress value. In particular, InetAddressType/InetAddress pairs must be changed together if the address type changes (e.g., from ipv6(2) to ipv4(1)). · Integer32
The address type of this PIM interface.
pimInterfaceAddress
1.3.6.1.2.1.157.1.1.1.4
InetAddressDenotes a generic Internet address.
An InetAddress value is always interpreted within the context of an InetAddressType value. Every usage of the InetAddress textual convention is required to specify the InetAddressType object that provides the context. It is suggested that the InetAddressType object be logically registered before the object(s) that use the InetAddress textual convention, if they appear in the same logical row.
The value of an InetAddress object must always be consistent with the value of the associated InetAddressType object. Attempts to set an InetAddress object to a value inconsistent with the associated InetAddressType must fail with an inconsistentValue error.
When this textual convention is used as the syntax of an index object, there may be issues with the limit of 128 sub-identifiers specified in SMIv2, STD 58. In this case, the object definition MUST include a 'SIZE' clause to limit the number of potential instance sub-identifiers; otherwise the applicable constraints MUST be stated in the appropriate conceptual row DESCRIPTION clauses, or in the surrounding documentation if there is no single DESCRIPTION clause that is appropriate. SIZE (0 | 4 | 8 | 16 | 20) · OCTET STRING
Reference: RFC 4601 sections 4.1.6, 4.3.1-4.3.4, and 4.5.1
The primary IP address of this router on this PIM interface. The InetAddressType is given by the pimInterfaceAddressType object.