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"	-- May 28, 2008 12:00:00 AM
	ORGANIZATION "IETF Protocol Independent Multicast (PIM) Working Group"
	CONTACT-INFO
		"Email: pim@ietf.org
		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"	-- May 28, 2008 12:00:00 AM
	DESCRIPTION
		"Initial version, published as RFC 5240."
	-- 1.3.6.1.2.1.172
	::= { mib-2 172 }


--
-- Top-level structure
--

pimBsrNotifications OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.172.0
	::= { pimBsrMIB 0 }

pimBsrObjects OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.172.1
	::= { pimBsrMIB 1 }

--
-- Conformance Information
--

pimBsrConformance OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.172.2
	::= { pimBsrMIB 2 }

pimBsrCompliances OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.172.2.1
	::= { pimBsrConformance 1 }

pimBsrGroups OBJECT IDENTIFIER 
	-- 1.3.6.1.2.1.172.2.2
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1.1.1
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1.1.2
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1.1.3
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1.1.4
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1.5
	::= { 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."
	-- 1.3.6.1.2.1.172.1.1.1.6
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1.7
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1.8
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1.9
	::= { 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)."
	-- 1.3.6.1.2.1.172.1.1.1.10
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.1.1.11
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.2.1
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.2
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.3
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.4
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.5
	::= { 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"
	-- 1.3.6.1.2.1.172.1.2.1.6
	::= { 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"
	-- 1.3.6.1.2.1.172.1.2.1.7
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.8
	::= { 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."
	-- 1.3.6.1.2.1.172.1.2.1.9
	::= { 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."
	-- 1.3.6.1.2.1.172.1.3
	::= { pimBsrObjects 3 }


pimBsrCandidateBSREntry OBJECT-TYPE
	SYNTAX  PimBsrCandidateBSREntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An entry (conceptual row) in the
		pimBsrCandidateBSRTable."
	INDEX {
		pimBsrCandidateBSRZoneIndex }
	-- 1.3.6.1.2.1.172.1.3.1
	::= { 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."
	-- 1.3.6.1.2.1.172.1.3.1.1
	::= { pimBsrCandidateBSREntry 1 }


pimBsrCandidateBSRAddressType OBJECT-TYPE
	SYNTAX  InetAddressType
	MAX-ACCESS read-create
	STATUS  current
	DESCRIPTION
		"The address type of the Candidate-BSR."
	-- 1.3.6.1.2.1.172.1.3.1.2
	::= { 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."
	-- 1.3.6.1.2.1.172.1.3.1.3
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.3.1.4
	::= { 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'."
	-- 1.3.6.1.2.1.172.1.3.1.5
	::= { 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."
	-- 1.3.6.1.2.1.172.1.3.1.6
	::= { 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'."
	-- 1.3.6.1.2.1.172.1.3.1.7
	::= { 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)."
	-- 1.3.6.1.2.1.172.1.3.1.8
	::= { 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 }
	-- 1.3.6.1.2.1.172.1.3.1.9
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4
	::= { pimBsrObjects 4 }


pimBsrElectedBSREntry OBJECT-TYPE
	SYNTAX  PimBsrElectedBSREntry
	MAX-ACCESS not-accessible
	STATUS  current
	DESCRIPTION
		"An entry (conceptual row) in the
		pimBsrElectedBSRTable."
	INDEX {
		pimBsrElectedBSRZoneIndex }
	-- 1.3.6.1.2.1.172.1.4.1
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4.1.1
	::= { pimBsrElectedBSREntry 1 }


pimBsrElectedBSRAddressType OBJECT-TYPE
	SYNTAX  InetAddressType
	MAX-ACCESS read-only
	STATUS  current
	DESCRIPTION
		"The address type of the elected BSR."
	-- 1.3.6.1.2.1.172.1.4.1.2
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4.1.3
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4.1.4
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4.1.5
	::= { 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."
	-- 1.3.6.1.2.1.172.1.4.1.6
	::= { 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"
	-- 1.3.6.1.2.1.172.0.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"
	-- 1.3.6.1.2.1.172.0.2
	::= { pimBsrNotifications 2 }


--
-- Compliance Statements
--

pimBsrCompliance MODULE-COMPLIANCE
	STATUS  current
	DESCRIPTION
		"The compliance statement for PIM routers that implement
		the Bootstrap Router (BSR) mechanism."

	MODULE 
	MANDATORY-GROUPS {
			pimBsrObjectGroup }

	GROUP pimBsrDiagnosticsGroup
	  DESCRIPTION
		"This group is optional."
	-- 1.3.6.1.2.1.172.2.1.1
	::= { 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."
	-- 1.3.6.1.2.1.172.2.2.1
	::= { 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."
	-- 1.3.6.1.2.1.172.2.2.2
	::= { pimBsrGroups 2 }

END
