PIM-BSR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2, Unsigned32, TimeTicks FROM SNMPv2-SMI RowStatus, TruthValue, StorageType FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF InetAddressType, InetAddressPrefixLength, InetAddress, InetZoneIndex FROM INET-ADDRESS-MIB; pimBsrMIB MODULE-IDENTITY LAST-UPDATED "200805280000Z" -- 28 May 2008 ORGANIZATION "IETF Protocol Independent Multicast (PIM) Working Group" CONTACT-INFO "Email: [email protected] WG charter: http://www.ietf.org/html.charters/pim-charter.html" DESCRIPTION "The MIB module for management of the Bootstrap Router (BSR) mechanism for PIM routers. Copyright (C) The IETF Trust (2008). This version of this MIB module is part of RFC 5240; see the RFC itself for full legal notices." REVISION "200805280000Z" -- 28 May 2008 DESCRIPTION "Initial version, published as RFC 5240." ::= { mib-2 172 } -- -- Top-level structure -- pimBsrNotifications OBJECT IDENTIFIER ::= { pimBsrMIB 0 } pimBsrObjects OBJECT IDENTIFIER ::= { pimBsrMIB 1 } -- -- Conformance Information -- pimBsrConformance OBJECT IDENTIFIER ::= { pimBsrMIB 2 } pimBsrCompliances OBJECT IDENTIFIER ::= { pimBsrConformance 1 } pimBsrGroups OBJECT IDENTIFIER ::= { pimBsrConformance 2 } -- -- The BSR Candidate-RP Table -- pimBsrCandidateRPTable OBJECT-TYPE SYNTAX SEQUENCE OF PimBsrCandidateRPEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing the IP multicast group prefixes for which the local router is to advertise itself as a Candidate-RP." ::= { pimBsrObjects 1 } pimBsrCandidateRPEntry OBJECT-TYPE SYNTAX PimBsrCandidateRPEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimBsrCandidateRPTable." INDEX { pimBsrCandidateRPAddressType, pimBsrCandidateRPAddress, pimBsrCandidateRPGroupAddress, pimBsrCandidateRPGroupPrefixLength } ::= { pimBsrCandidateRPTable 1 } PimBsrCandidateRPEntry ::= SEQUENCE { pimBsrCandidateRPAddressType InetAddressType, pimBsrCandidateRPAddress InetAddress, pimBsrCandidateRPGroupAddress InetAddress, pimBsrCandidateRPGroupPrefixLength InetAddressPrefixLength, pimBsrCandidateRPBidir TruthValue, pimBsrCandidateRPAdvTimer TimeTicks, pimBsrCandidateRPPriority Unsigned32, pimBsrCandidateRPAdvInterval Unsigned32, pimBsrCandidateRPHoldtime Unsigned32, pimBsrCandidateRPStatus RowStatus, pimBsrCandidateRPStorageType StorageType } pimBsrCandidateRPAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Inet address type of the Candidate-RP." ::= { pimBsrCandidateRPEntry 1 } pimBsrCandidateRPAddress OBJECT-TYPE SYNTAX InetAddress (SIZE (4|8|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (unicast) address that will be advertised as a Candidate-RP. The InetAddressType is given by the pimBsrCandidateRPAddressType object." ::= { pimBsrCandidateRPEntry 2 } pimBsrCandidateRPGroupAddress OBJECT-TYPE SYNTAX InetAddress (SIZE (4|8|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address that, when combined with the corresponding value of pimBsrCandidateRPGroupPrefixLength, identifies a group prefix for which the local router will advertise itself as a Candidate-RP. The InetAddressType is given by the pimBsrCandidateRPAddressType object. This address object is only significant up to pimBsrCandidateRPGroupPrefixLength bits. The remainder of the address bits are zero. This is especially important for this field, which is part of the index of this entry. Any non-zero bits would signify an entirely different entry." ::= { pimBsrCandidateRPEntry 3 } pimBsrCandidateRPGroupPrefixLength OBJECT-TYPE SYNTAX InetAddressPrefixLength (4..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group address mask that, when combined with the corresponding value of pimBsrCandidateRPGroupAddress, identifies a group prefix for which the local router will advertise itself as a Candidate-RP. The InetAddressType is given by the pimBsrCandidateRPAddressType object." ::= { pimBsrCandidateRPEntry 4 } pimBsrCandidateRPBidir OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "If this object is set to TRUE, this group range is advertised with this RP as a BIDIR-PIM group range. If it is set to FALSE, it is advertised as a PIM-SM group range." DEFVAL { false } ::= { pimBsrCandidateRPEntry 5 } pimBsrCandidateRPAdvTimer OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time remaining before the local router next sends a Candidate-RP-Advertisement to the elected BSR for this zone." ::= { pimBsrCandidateRPEntry 6 } pimBsrCandidateRPPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The priority for this Candidate-RP advertised in Candidate-RP-Advertisements." REFERENCE "RFC 5059, section 3.2" DEFVAL { 192 } ::= { pimBsrCandidateRPEntry 7 } pimBsrCandidateRPAdvInterval OBJECT-TYPE SYNTAX Unsigned32 (1..26214) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "A Candidate-RP generates Candidate-RP-Advertisements periodically. This object represents the time interval in seconds between two consecutive advertisements." REFERENCE "RFC 5059, sections 3.2 and 5" DEFVAL { 60 } ::= { pimBsrCandidateRPEntry 8 } pimBsrCandidateRPHoldtime OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "Holdtime for this Candidate-RP. The amount of time (in seconds) this Candidate-RP entry is valid. This object's value can be zero only when this C-RP is shutting down." REFERENCE "RFC 5059, section 4.2" DEFVAL { 150 } ::= { pimBsrCandidateRPEntry 9 } pimBsrCandidateRPStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table. This status object can be set to active(1) without setting any other columnar objects in this entry. All writable objects in this entry can be modified when the status of this entry is active(1)." ::= { pimBsrCandidateRPEntry 10 } pimBsrCandidateRPStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this row. Rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { pimBsrCandidateRPEntry 11 } -- -- The BSR Elected BSR RP-Set Table -- pimBsrElectedBSRRPSetTable OBJECT-TYPE SYNTAX SEQUENCE OF PimBsrElectedBSRRPSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table listing BSR-specific information about PIM group mappings learned via C-RP advertisements or created locally using configurations. This table is maintained only on the Elected BSR. An Elected BSR uses this table to create Bootstrap messages after applying a local policy to include some or all of the group mappings in this table." ::= { pimBsrObjects 2 } pimBsrElectedBSRRPSetEntry OBJECT-TYPE SYNTAX PimBsrElectedBSRRPSetEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimBsrElectedBSRRPSetTable." INDEX { pimBsrElectedBSRGrpMappingAddrType, pimBsrElectedBSRGrpMappingGrpAddr, pimBsrElectedBSRGrpMappingGrpPrefixLen, pimBsrElectedBSRGrpMappingRPAddr } ::= { pimBsrElectedBSRRPSetTable 1 } PimBsrElectedBSRRPSetEntry ::= SEQUENCE { pimBsrElectedBSRGrpMappingAddrType InetAddressType, pimBsrElectedBSRGrpMappingGrpAddr InetAddress, pimBsrElectedBSRGrpMappingGrpPrefixLen InetAddressPrefixLength, pimBsrElectedBSRGrpMappingRPAddr InetAddress, pimBsrElectedBSRRPSetPriority Unsigned32, pimBsrElectedBSRRPSetHoldtime Unsigned32, pimBsrElectedBSRRPSetExpiryTime TimeTicks, pimBsrElectedBSRRPSetGrpBidir TruthValue } pimBsrElectedBSRGrpMappingAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Inet address type of the IP multicast group prefix." ::= { pimBsrElectedBSRRPSetEntry 2 } pimBsrElectedBSRGrpMappingGrpAddr OBJECT-TYPE SYNTAX InetAddress (SIZE (4|8|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP multicast group address that, when combined with pimBsrElectedBSRGrpMappingGrpPrefixLen, gives the group prefix for this mapping. The InetAddressType is given by the pimBsrElectedBSRGrpMappingAddrType object. This address object is only significant up to pimBsrElectedBSRGrpMappingGrpPrefixLen bits. The remainder of the address bits are zero. This is especially important for this field, which is part of the index of this entry. Any non-zero bits would signify an entirely different entry." ::= { pimBsrElectedBSRRPSetEntry 3 } pimBsrElectedBSRGrpMappingGrpPrefixLen OBJECT-TYPE SYNTAX InetAddressPrefixLength (4..128) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The multicast group prefix length that, when combined with pimBsrElectedBSRGrpMappingGrpAddr, gives the group prefix for this mapping. The InetAddressType is given by the pimBsrElectedBSRGrpMappingAddrType object. If pimBsrElectedBSRGrpMappingAddrType is 'ipv4' or 'ipv4z', this object must be in the range 4..32. If pimBsrElectedBSRGrpMappingAddrType is 'ipv6' or 'ipv6z', this object must be in the range 8..128." ::= { pimBsrElectedBSRRPSetEntry 4 } pimBsrElectedBSRGrpMappingRPAddr OBJECT-TYPE SYNTAX InetAddress (SIZE (4|8|16|20)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP address of the RP to be used for groups within this group prefix. The InetAddressType is given by the pimBsrElectedBSRGrpMappingAddrType object." ::= { pimBsrElectedBSRRPSetEntry 5 } pimBsrElectedBSRRPSetPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The priority for RP. Numerically higher values for this object indicate lower priorities, with the value zero denoting the highest priority." REFERENCE "RFC 5059, section 4.1" ::= { pimBsrElectedBSRRPSetEntry 6 } pimBsrElectedBSRRPSetHoldtime OBJECT-TYPE SYNTAX Unsigned32 (0..65535) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The holdtime for RP" REFERENCE "RFC 5059, section 4.1" ::= { pimBsrElectedBSRRPSetEntry 7 } pimBsrElectedBSRRPSetExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before this entry will be aged out. The value zero indicates that this entry will never be aged out." ::= { pimBsrElectedBSRRPSetEntry 8 } pimBsrElectedBSRRPSetGrpBidir OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "If this object is TRUE, this group range with this RP is a BIDIR-PIM group range. If it is set to FALSE, it is a PIM-SM group range." ::= { pimBsrElectedBSRRPSetEntry 9 } -- -- The BSR Candidate-BSR Table -- pimBsrCandidateBSRTable OBJECT-TYPE SYNTAX SEQUENCE OF PimBsrCandidateBSREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing Candidate-BSR configuration for the local router. The table contains one row for each zone for which the local router is to advertise itself as a Candidate-BSR." ::= { pimBsrObjects 3 } pimBsrCandidateBSREntry OBJECT-TYPE SYNTAX PimBsrCandidateBSREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimBsrCandidateBSRTable." INDEX { pimBsrCandidateBSRZoneIndex } ::= { pimBsrCandidateBSRTable 1 } PimBsrCandidateBSREntry ::= SEQUENCE { pimBsrCandidateBSRZoneIndex InetZoneIndex, pimBsrCandidateBSRAddressType InetAddressType, pimBsrCandidateBSRAddress InetAddress, pimBsrCandidateBSRPriority Unsigned32, pimBsrCandidateBSRHashMaskLength Unsigned32, pimBsrCandidateBSRElectedBSR TruthValue, pimBsrCandidateBSRBootstrapTimer TimeTicks, pimBsrCandidateBSRStatus RowStatus, pimBsrCandidateBSRStorageType StorageType } pimBsrCandidateBSRZoneIndex OBJECT-TYPE SYNTAX InetZoneIndex (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The zone index uniquely identifies the zone on a device to which this Candidate-BSR is attached. There is one entry for each zone in ipMcastZoneTable. Scope-level information for this zone can be extracted from ipMcastZoneTable in IP Multicast MIB [RFC5132]. Zero is a special value used to request the default zone for a given scope. Zero is not a valid value for this object." ::= { pimBsrCandidateBSREntry 1 } pimBsrCandidateBSRAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-create STATUS current DESCRIPTION "The address type of the Candidate-BSR." ::= { pimBsrCandidateBSREntry 2 } pimBsrCandidateBSRAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The (unicast) address that the local router will use to advertise itself as a Candidate-BSR. The InetAddressType is given by the pimBsrCandidateBSRAddressType object." ::= { pimBsrCandidateBSREntry 3 } pimBsrCandidateBSRPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The priority value for the local router as a Candidate-BSR for this zone. Numerically higher values for this object indicate higher priorities." DEFVAL { 0 } ::= { pimBsrCandidateBSREntry 4 } pimBsrCandidateBSRHashMaskLength OBJECT-TYPE SYNTAX Unsigned32 (0..128) MAX-ACCESS read-create STATUS current DESCRIPTION "The hash mask length (used in the RP hash function) that the local router will advertise in its Bootstrap messages for this zone. This object defaults to 30 if pimBsrCandidateBSRAddressType is 'ipv4' or 'ipv4z' , and defaults to 126 if pimBsrCandidateBSRAddressType is 'ipv6' or 'ipv6z'." ::= { pimBsrCandidateBSREntry 5 } pimBsrCandidateBSRElectedBSR OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Whether the local router is the elected BSR for this zone." ::= { pimBsrCandidateBSREntry 6 } pimBsrCandidateBSRBootstrapTimer OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The time remaining before the local router next originates a Bootstrap message for this zone. Value of this object is zero if pimBsrCandidateBSRElectedBSR is 'FALSE'." ::= { pimBsrCandidateBSREntry 7 } pimBsrCandidateBSRStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created or old entries deleted from this table. This status object can be set to active(1) without setting any other columnar objects in this entry. All writable objects in this entry can be modified when the status of this entry is active(1)." ::= { pimBsrCandidateBSREntry 8 } pimBsrCandidateBSRStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this row. Rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { pimBsrCandidateBSREntry 9 } -- -- The BSR Elected-BSR Table -- pimBsrElectedBSRTable OBJECT-TYPE SYNTAX SEQUENCE OF PimBsrElectedBSREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The (conceptual) table containing information about elected BSRs. The table contains one row for each zone for which there is an elected BSR." ::= { pimBsrObjects 4 } pimBsrElectedBSREntry OBJECT-TYPE SYNTAX PimBsrElectedBSREntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the pimBsrElectedBSRTable." INDEX { pimBsrElectedBSRZoneIndex } ::= { pimBsrElectedBSRTable 1 } PimBsrElectedBSREntry ::= SEQUENCE { pimBsrElectedBSRZoneIndex InetZoneIndex, pimBsrElectedBSRAddressType InetAddressType, pimBsrElectedBSRAddress InetAddress, pimBsrElectedBSRPriority Unsigned32, pimBsrElectedBSRHashMaskLength Unsigned32, pimBsrElectedBSRExpiryTime TimeTicks } pimBsrElectedBSRZoneIndex OBJECT-TYPE SYNTAX InetZoneIndex (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The zone index uniquely identifies the zone on a device to which this Elected BSR is attached. There is one entry for each zone in ipMcastZoneTable. Scope-level information for this zone can be extracted from ipMcastZoneTable in IP Multicast MIB [RFC5132]. Zero is a special value used to request the default zone for a given scope. Zero is not a valid value for this object." ::= { pimBsrElectedBSREntry 1 } pimBsrElectedBSRAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The address type of the elected BSR." ::= { pimBsrElectedBSREntry 2 } pimBsrElectedBSRAddress OBJECT-TYPE SYNTAX InetAddress (SIZE (4|8|16|20)) MAX-ACCESS read-only STATUS current DESCRIPTION "The (unicast) address of the elected BSR. The InetAddressType is given by the pimBsrElectedBSRAddressType object." ::= { pimBsrElectedBSREntry 3 } pimBsrElectedBSRPriority OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The priority value for the elected BSR for this address type. Numerically higher values for this object indicate higher priorities." ::= { pimBsrElectedBSREntry 4 } pimBsrElectedBSRHashMaskLength OBJECT-TYPE SYNTAX Unsigned32 (0..128) MAX-ACCESS read-only STATUS current DESCRIPTION "The hash mask length (used in the RP hash function) advertised by the elected BSR for this zone." ::= { pimBsrElectedBSREntry 5 } pimBsrElectedBSRExpiryTime OBJECT-TYPE SYNTAX TimeTicks MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum time remaining before the elected BSR for this zone will be declared down." ::= { pimBsrElectedBSREntry 6 } -- -- PIM BSR Notifications -- pimBsrElectedBSRLostElection NOTIFICATION-TYPE OBJECTS { pimBsrElectedBSRAddressType, pimBsrElectedBSRAddress, pimBsrElectedBSRPriority } STATUS current DESCRIPTION "A pimBsrElectedBSRLostElection notification should be generated when current E-BSR lost election to a new Candidate-BSR. Only an E-BSR should generate this notification. This notification is generated when pimBsrCandidateBSRElectedBSR becomes FALSE." REFERENCE "RFC 5059, section 3.1" ::= { pimBsrNotifications 1 } pimBsrCandidateBSRWinElection NOTIFICATION-TYPE OBJECTS { pimBsrCandidateBSRElectedBSR } STATUS current DESCRIPTION "A pimBsrCandidateBSRWinElection notification should be generated when a C-BSR wins BSR Election. Only an E-BSR should generate this notification. This notification is generated when pimBsrCandidateBSRElectedBSR becomes TRUE." REFERENCE "RFC 5059, section 3.1" ::= { pimBsrNotifications 2 } -- -- Compliance Statements -- pimBsrCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for PIM routers that implement the Bootstrap Router (BSR) mechanism." MODULE -- this module MANDATORY-GROUPS { pimBsrObjectGroup } GROUP pimBsrDiagnosticsGroup DESCRIPTION "This group is optional." ::= { pimBsrCompliances 1 } -- -- Units of Conformance -- pimBsrObjectGroup OBJECT-GROUP OBJECTS { pimBsrCandidateRPBidir, pimBsrCandidateRPAdvTimer, pimBsrCandidateRPPriority, pimBsrCandidateRPAdvInterval, pimBsrCandidateRPHoldtime, pimBsrCandidateRPStatus, pimBsrCandidateRPStorageType, pimBsrElectedBSRRPSetPriority, pimBsrElectedBSRRPSetHoldtime, pimBsrElectedBSRRPSetExpiryTime, pimBsrElectedBSRRPSetGrpBidir, pimBsrCandidateBSRAddress, pimBsrCandidateBSRAddressType, pimBsrCandidateBSRPriority, pimBsrCandidateBSRHashMaskLength, pimBsrCandidateBSRElectedBSR, pimBsrCandidateBSRBootstrapTimer, pimBsrCandidateBSRStatus, pimBsrCandidateBSRStorageType, pimBsrElectedBSRAddress, pimBsrElectedBSRAddressType, pimBsrElectedBSRPriority, pimBsrElectedBSRHashMaskLength, pimBsrElectedBSRExpiryTime } STATUS current DESCRIPTION "A collection of objects for managing the Bootstrap Router (BSR) mechanism for PIM routers." ::= { pimBsrGroups 1 } pimBsrDiagnosticsGroup NOTIFICATION-GROUP NOTIFICATIONS { pimBsrElectedBSRLostElection, pimBsrCandidateBSRWinElection } STATUS current DESCRIPTION "Objects providing additional diagnostics related to the Bootstrap Router (BSR) mechanism for PIM routers." ::= { pimBsrGroups 2 } END