RFC5240

From RFC-Wiki

Network Working Group B. Joshi Request for Comments: 5240 Infosys Technologies Ltd. Category: Standards Track R. Bijlani

                                                           June 2008
   Protocol Independent Multicast (PIM) Bootstrap Router MIB

Status of This Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Abstract

This document defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing the Bootstrap Router (BSR) mechanism for PIM (Protocol Independent Multicast).

Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects used for managing the Bootstrap Router (BSR) mechanism for PIM RFC4601, RFC5059.

This document was created by moving some of the PIM BSR-specific MIB tables from one of the earlier versions of PIM MIB RFC5060.

The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 RFC3410.

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 RFC2578, STD 58, RFC 2579 RFC2579 and STD 58, RFC 2580 RFC2580.

Conventions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 RFC2119.

Overview

This MIB module contains four tables. The tables are:

1. The Candidate-RP Table, which contains one row for each multicast

   group address prefix for which the local router is configured to
   advertise itself as a Candidate-RP (C-RP).  This table exists on
   routers that are configured as Candidate-RP.

2. The Elected BSR RP-Set Table, which contains one row for each

   Group-to-RP mapping that was received in C-RP advertisements.
   This table exists on a router that is an elected BSR (E-BSR).

3. The Candidate-BSR Table, which contains one row for each

   Candidate-BSR configuration for the local router.  This table
   exists on routers that are configured as Candidate-BSR.

4. The Elected-BSR Table, which contains one row for each elected

   BSR.  This table exists on a router that is an elected BSR.

This MIB module uses textual conventions defined in the INET-ADDRESS- MIB RFC4001.

Definitions

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

Security Considerations

There are a number of management objects defined in this MIB module with a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure

environment without proper protection can have a negative effect on network operations. These are the tables and objects and their sensitivity/vulnerability:

o A new Candidate-BSR with high priority or modification of priority

  ( bsrCandidateBSRPriority ) of an existing Candidate-BSR can take
  over the functionality of an Elected BSR, which can prevent and
  disrupt the services.

o A new Candidate-RP with lower priority or modification of priority

  ( bsrCandidateRPPriority ) of an existing Candidate-RP can force
  other routers to select itself for a particular group prefix.
  This can prevent and disrupt the services provided through this
  group prefix.

The following are the read-write and read-create objects defined in this MIB module:

bsrCandidateRPBidir bsrCandidateRPPriority bsrCandidateRPAdvInterval bsrCandidateRPHoldtime bsrCandidateBSRAddressType bsrCandidateBSRAddress bsrCandidateBSRPriority bsrCandidateBSRHashMaskLength

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:

pimBsrCandidateRPAdvTimer pimBsrElectedBSRRPSetPriority pimBsrElectedBSRRPSetHoldtime pimBsrElectedBSRRPSetExpiryTime pimBsrElectedBSRRPSetGrpBidir pimBsrCandidateBSRElectedBSR pimBsrCandidateBSRBootstrapTimer pimBsrElectedBSRAddressType pimBsrElectedBSRAddress pimBsrElectedBSRPriority pimBsrElectedBSRHashMaskLength pimBsrElectedBSRExpiryTime

In this MIB module, possible effects that can be induced by GET operations include:

o Determination of Elected BSR, Candidate-BSRs, and Candidate-RPs in

  the Multicast Network topology.  This information may be sensitive
  and may be used in preparation for Denial-of-Service (DoS) attacks
  including any of the attacks described above.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is still no control over whom on the secure network is allowed to access (read/change/create/delete) the objects in this MIB module.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see RFC3410, section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to access (read/change/create/delete) them.

IANA Considerations

The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

Descriptor OBJECT IDENTIFIER value


-----------------------

pimBsrMIB { mib-2 172 }

Acknowledgments

This MIB module is based on the original work in RFC5060 by R. Sivaramu, J. Lingard, and B. Joshi.

Many thanks to Bill Fenner, Stig Venaas, Nidhi Bhaskar, David Mcwalter, David Harrington, and J. W. Atwood for their feedback on this MIB module.

Suggested IPv6 multicast MIBs by R. Sivaramu and R. Raghunarayan have been used for comparison while editing this MIB module.

References

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119, March 1997.

RFC2578 McCloghrie, K., Ed., Perkins, D., Ed., and J.

          Schoenwaelder, Ed., "Structure of Management Information
          Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

RFC2579 McCloghrie, K., Ed., Perkins, D., Ed., and J.

          Schoenwaelder, Ed., "Textual Conventions for SMIv2",
          STD 58, RFC 2579, April 1999.

RFC2580 McCloghrie, K., Perkins, D., and J. Schoenwaelder,

          "Conformance Statements for SMIv2", STD 58, RFC 2580,
          April 1999.

RFC4001 Daniele, M., Haberman, B., Routhier, S., and J.

          Schoenwaelder, "Textual Conventions for Internet Network
          Addresses", RFC 4001, February 2005.

RFC4601 Fenner, B., Handley, M., Holbrook, H., and I. Kouvelas,

          "Protocol Independent Multicast - Sparse Mode (PIM-SM):
          Protocol Specification (Revised)", RFC 4601, August 2006.

RFC5060 Sivaramu, R., Lingard, J., McWalter, D., Joshi, B., and A.

          Kessler, "Protocol Independent Multicast MIB", RFC 5060,
          January 2008.

RFC5059 Bhaskar, N., Gall, A., Lingard, J., and S. Venaas,

          "Bootstrap Router (BSR) Mechanism for Protocol Independent
          Multicast (PIM)", RFC 5059, January 2008.

RFC5132 McWalter, D., Thaler, D., and A. Kessler, "IP Multicast

          MIB", RFC 5132, December 2007.

Informative References

RFC3410 Case, J., Mundy, R., Partain, D., and B. Stewart,

          "Introduction and Applicability Statements for Internet-
          Standard Management Framework", RFC 3410, December 2002.

Authors' Addresses

Bharat Joshi Infosys Technologies Ltd. 44 Electronics City, Hosur Road Bangalore 560 100 India

EMail: [email protected] URI: http://www.infosys.com/

Raina Bijlani

EMail: [email protected]

Full Copyright Statement

Copyright (C) The IETF Trust (2008).

This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at [email protected].