Internet Engineering Task Force K. Korte
Internet-Draft J. Schoenwaelder
Intended status: Standards Track A. Sehgal
Expires: May 3, 2012 Jacobs University
T. Tsou
C. Zhou
Huawei Technologies
October 31, 2011
Definition of Managed Objects for the IPv6 Routing Protocol for Low
Power and Lossy Networks (RPL)
draft-sehgal-roll-rpl-mib-02
Abstract
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community.
In particular, it defines objects for managing the IPv6 Routing
Protocol for Low Power and Lossy Networks (RPL).
Status of This Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on May 3, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
Korte, et al. Expires May 3, 2012 [Page 1]
Internet-Draft RPL MIB October 2011
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. The Internet-Standard Management Framework . . . . . . . . . . 3
3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
5. Relationship to Other MIB Modules . . . . . . . . . . . . . . 5
6. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 23
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 24
9.1. Normative References . . . . . . . . . . . . . . . . . . . 24
9.2. Informative References . . . . . . . . . . . . . . . . . . 24
Appendix A. Open Issues . . . . . . . . . . . . . . . . . . . . . 25
Korte, et al. Expires May 3, 2012 [Page 2]
Internet-Draft RPL MIB October 2011
1. Introduction
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols. In particular it defines
objects for managing the IPv6 Routing Protocol for Low Power and
Lossy Networks (RPL) [I-D.ietf-roll-rpl].
2. 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].
3. 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].
4. Overview
The MIB module is organized into a group of scalars and tables.
rplMib(1.3.6.1.2.1.8888)
|
+-rplNotifications(0)
|
+-rplObjects(1)
|
+-rplGeneral(1)
| |
| +- rwn RplDISMode rplDefaultDISMode(1)
|
+-rplActive(2)
| |
| +- rwn RplInstanceID rplActiveInstance(1)
| +- rwn InetAddressIPv6 rplActiveDodag(2)
| +- r-n Unsigned32 rplActiveDodagDAOSequence(3)
| +- rwn Unsigned32 rplActiveDodagTriggerSequence(4)
Korte, et al. Expires May 3, 2012 [Page 3]
Internet-Draft RPL MIB October 2011
|
+-rplOCPTable(3)
| |
| +-rplOCPEntry(1) [rplOCPCodepoint]
| |
| +- --- RplObjectiveCodePoint rplOCPCodepoint(1)
| +- rwn TruthValue rplOCPEnabled(2)
|
+-rplRPLInstanceTable(4)
| |
| +-rplRPLInstanceEntry(1) [rplRPLInstanceID]
| |
| +- --- RplInstanceID rplRPLInstanceID(1)
| +- rwn RplObjectiveCodePoint rplRPLInstanceOCP(2)
| +- rwn RplDISMode rplRPLInstanceDisMode(3)
| +- rwn Enumeration rplRPLInstanceDAOAcknowledgement(4)
| +- rwn RplModeOfOperation rplRPLInstanceModeOfOperation(5)
|
+-rplDodagTable(5)
| |
| +-rplDodagEntry(1) [rplRPLInstanceID,rplDodagRoot]
| |
| +- --- InetAddressIPv6 rplDodagRoot(1)
| +- r-n RplDodagVersionNumber rplDodagVersion(2)
| +- r-n RplRank rplDodagRank(3)
| +- r-n Enumeration rplDodagState(4)
| +- r-n RplDAODelay rplDodagDAODelay(5)
| +- r-n RplDodagPreference rplDodagPreference(6)
| +- r-n RplMinHopRankIncrease rplDodagMinHopRankIncrease(7)
| +- r-n Unsigned32 rplDodagMaxRankIncrease(8)
| +- r-n Unsigned32 rplDodagIntervalDoublings(9)
| +- r-n Unsigned32 rplDodagIntervalMin(10)
| +- r-n Unsigned32 rplDodagRedundancyConstant(11)
| +- r-n RplPathControlSize rplDodagPathControlSize(12)
|
+-rplDodagParentTable(6)
| |
| +-rplDodagParentEntry(1) [rplRPLInstanceID,rplDodagRoot,
| | rplDodagParentID]
| |
| +- --- InetAddressIPv6 rplDodagParentID(1)
| +- r-n InterfaceIndex rplDodagParentIf(2)
|
+-rplDodagChildTable(7)
| |
| +-rplDodagChildEntry(1) [rplRPLInstanceID,rplDodagRoot,
| | rplDodagChildID]
| |
Korte, et al. Expires May 3, 2012 [Page 4]
Internet-Draft RPL MIB October 2011
| +- r-n InetAddressIPv6 rplDodagChildID(1)
|
+-rplDodagPrefixTable(8)
| |
| +-rplDodagPrefixEntry(1) [rplRPLInstanceID,rplDodagRoot,
| | rplDodagPrefixIpv6Prefix,
| | rplDodagPrefixIpv6PrefixLength]
| |
| +- r-n InetAddressIPv6 rplDodagPrefixIpv6Prefix(1)
| +- r-n InetAddressPrefixLength rplDodagPrefixIpv6PrefixLength(2)
|
+-rplStats(9)
|
+- r-n Counter32 rplStatsMemOverflows(1)
+- r-n Counter32 rplStatsValidParentFailures(2)
+- r-n Counter32 rplStatsNoInstanceIDs(3)
+- r-n Counter32 rplStatsTriggeredLocalRepairs(4)
+- r-n Counter32 rplStatsTriggeredGlobalRepairs(5)
+- r-n Counter32 rplStatsParseErrors(6)
+- r-n Counter32 rplStatsNoParentSecs(7)
+- r-n Counter32 rplStatsActiveNoParentSecs(8)
+- r-n Counter32 rplStatsOBitSetDownwards(9)
+- r-n Counter32 rplStatsOBitClearedUpwards(10)
+- r-n Counter32 rplStatsFBitSet(11)
+- r-n Counter32 rplStatsRBitSet(12)
5. Relationship to Other MIB Modules
The MIB module IMPORTS definitions from SNMPv2-SMI [RFC2578],
SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863] and the
INET-ADDRESS-MIB [RFC4001].
6. Definitions
RPL-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, mib-2
FROM SNMPv2-SMI -- RFC 2578
TEXTUAL-CONVENTION, TruthValue
FROM SNMPv2-TC -- RFC 2579
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF -- RFC 2580
InterfaceIndex
FROM IF-MIB -- RFC 2863
InetAddressIPv6, InetAddressPrefixLength
FROM INET-ADDRESS-MIB; -- RFC 4001
-- XXX Are we sure RPL will never ever support a different
Korte, et al. Expires May 3, 2012 [Page 5]
Internet-Draft RPL MIB October 2011
-- XXX version of IP?
rplMib MODULE-IDENTITY
LAST-UPDATED "201110310000Z"
ORGANIZATION
"Jacobs University Bremen"
CONTACT-INFO
"Kevin Dominik Korte
Jacobs University Bremen
Email: k.korte@jacobs-university.de
Anuj Sehgal
Jacobs University Bremen
Email: s.anuj@jacobs-university.de
Juergen Schoenwaelder
Jacobs University Bremen
Email: j.schoenwaelder@jacobs-university.de
Tina Tsou
Huawei Technologies
Email: tena@huawei.com
Cathy Zhou
Huawei Technologies
Email: cathyzhou@huawei.com"
DESCRIPTION
"The MIB module for monitoring nodes implementing the IPv6
routing protocol for low power and lossy networks (RPL).
Copyright (c) 2011 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD
License set forth in Section 4.c of the IETF Trust's
Legal Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info)."
REVISION "201110310000Z"
DESCRIPTION
"Initial version, published as RFC XXXX."
-- RFC Ed.: replace XXXX with actual RFC number & remove this note
::= { mib-2 XXXX }
RplInstanceID ::= TEXTUAL-CONVENTION
Korte, et al. Expires May 3, 2012 [Page 6]
Internet-Draft RPL MIB October 2011
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"A global or local RPLinstanceID as defined in Section 5.1. of
RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..255)
RplDodagVersionNumber ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The version number of a DODAG as defined in Section 6.3 of
RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..255)
RplRank ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The rank of a node within a DODAG as defined in Section 6.3
of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..65535)
RplObjectiveCodePoint ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The Objective Code Point of a DODAG as defined in
Section 6.7.6 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..65535)
RplDISMode ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Determines whether a DIS message is send upon boot-up
or not as defined in Section 17.2.1.1 of RFC YYYY:
silent(1) do not send DIS messages
send(2) send DIS messages"
REFERENCE
Korte, et al. Expires May 3, 2012 [Page 7]
Internet-Draft RPL MIB October 2011
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX INTEGER {
silent(1),
send(2)
}
RplModeOfOperation ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Determines the mode of operation."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX INTEGER {
noDownwardRoutes(0),
nonStoringMode(1),
storingWithoutMulticastSupport(2),
storingWithMulticastSupport(3)
}
RplDAODelay ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The delay time used for aggregation before a DAO message
is send."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32
RplDodagPreference ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The preference of a DODAG compared to another DODAG of the
same instance as defined in Section 6.3 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..7)
RplMinHopRankIncrease ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The minimal incerease of a rank within a single hop as
defined in Section 6.7.6 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..131071)
Korte, et al. Expires May 3, 2012 [Page 8]
Internet-Draft RPL MIB October 2011
RplPathControlSize ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"The Path Control Size within a DODAG as defined in
Section 6.7.6 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
SYNTAX Unsigned32 (0..7)
-- object definitions
rplNotifications OBJECT IDENTIFIER ::= { rplMib 0 }
rplObjects OBJECT IDENTIFIER ::= { rplMib 1 }
rplConformance OBJECT IDENTIFIER ::= { rplMib 2 }
rplGeneral OBJECT IDENTIFIER ::= { rplObjects 1 }
rplDefaultDISMode OBJECT-TYPE
SYNTAX RplDISMode
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Determines whether a DIS message is send upon boot-up."
::= { rplGeneral 1 }
-- XXX should be able to configure the number of DIS messages
-- XXX and related timer, see 17.2.1.1.
-- XXX need to say something about persistence across reboots
-- XXX Should there be more objects to configure default timers
-- XXX etc that are applied to all DODAGs etc?
rplActive OBJECT IDENTIFIER ::= { rplObjects 2 }
rplActiveInstance OBJECT-TYPE
SYNTAX RplInstanceID
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The currently active RPL Instance."
::= { rplActive 1 }
-- XXX need to say something about persistence across reboots
rplActiveDodag OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS read-write
STATUS current
DESCRIPTION
Korte, et al. Expires May 3, 2012 [Page 9]
Internet-Draft RPL MIB October 2011
"The currently active RPL DODAG in the active RPL Instance."
::= { rplActive 2 }
rplActiveDodagDAOSequence OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The DAO message sequence number (DAOSequence) of the active
DODAG as defined in Section 6.5.1 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
::= { rplActive 3 }
rplActiveDodagTriggerSequence OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The DAO Trigger Sequence Number (DTSN) of the active
DODAG as defined in Section 6.3.1 of RFC YYYY."
REFERENCE
"RFC YYYY: RPL: IPv6 Routing Protocol for LLNs"
::= { rplActive 4 }
rplOCPTable OBJECT-TYPE
SYNTAX SEQUENCE OF RplOCPEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table of all supported Objective Code Points (OCPs)."
::= { rplObjects 3 }
rplOCPEntry OBJECT-TYPE
SYNTAX RplOCPEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry representing a supported Objective Code Point."
INDEX { rplOCPCodepoint }
::= { rplOCPTable 1 }
RplOCPEntry ::= SEQUENCE {
rplOCPCodepoint RplObjectiveCodePoint,
rplOCPEnabled TruthValue
}
rplOCPCodepoint OBJECT-TYPE
Korte, et al. Expires May 3, 2012 [Page 10]
Internet-Draft RPL MIB October 2011
SYNTAX RplObjectiveCodePoint
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A supported Objective Code Point."
::= { rplOCPEntry 1 }
rplOCPEnabled OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Enables the usage of this Objective Code Point."
::= { rplOCPEntry 2 }
-- XXX need to say something about persistence across reboots
rplRPLInstanceTable OBJECT-TYPE
SYNTAX SEQUENCE OF RplRPLInstanceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table represents information about all known
RPL Instances."
::= { rplObjects 4 }
rplRPLInstanceEntry OBJECT-TYPE
SYNTAX RplRPLInstanceEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry representing information about a RPL Instance."
INDEX { rplRPLInstanceID }
::= { rplRPLInstanceTable 1 }
-- XXX This should likely be a read-create table.
RplRPLInstanceEntry ::= SEQUENCE {
rplRPLInstanceID RplInstanceID,
rplRPLInstanceOCP RplObjectiveCodePoint,
rplRPLInstanceDisMode RplDISMode,
rplRPLInstanceDAOAcknowledgement INTEGER,
rplRPLInstanceModeOfOperation RplModeOfOperation
}
rplRPLInstanceID OBJECT-TYPE
SYNTAX RplInstanceID
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Korte, et al. Expires May 3, 2012 [Page 11]
Internet-Draft RPL MIB October 2011
"The InstanceID of this RPL Instance."
::= { rplRPLInstanceEntry 1 }
rplRPLInstanceOCP OBJECT-TYPE
SYNTAX RplObjectiveCodePoint
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The Objective Code Point of this RPL Instance."
::= { rplRPLInstanceEntry 2 }
-- XXX If this is read-write, what is the persistence?
-- XXX Support provisioning of table entries on border routers?
-- XXX If so, use StorageType and RowStatus?
rplRPLInstanceDisMode OBJECT-TYPE
SYNTAX RplDISMode
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Determines whether a DIS message is send for this instance
upon boot-up."
::= { rplRPLInstanceEntry 3 }
-- XXX Check how this works together with the global toggle.
-- XXX should we allow per instance parameters such as the number
-- XXX of DIS messages and related timer, see 17.2.1.1?
rplRPLInstanceDAOAcknowledgement OBJECT-TYPE
SYNTAX INTEGER {
nope(1)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The mode of Operation of the RPL instance."
::= { rplRPLInstanceEntry 4 }
-- XXX What is this? Kevin?
-- XXX persistence?
rplRPLInstanceModeOfOperation OBJECT-TYPE
SYNTAX RplModeOfOperation
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The mode of Operation of the RPL instance."
::= { rplRPLInstanceEntry 5 }
-- XXX persistence?
rplDodagTable OBJECT-TYPE
Korte, et al. Expires May 3, 2012 [Page 12]
Internet-Draft RPL MIB October 2011
SYNTAX SEQUENCE OF RplDodagEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The table represents information about all locally known
DODAGs."
::= { rplObjects 5 }
-- XXX The root needs a bit(?) config, where does that go?
rplDodagEntry OBJECT-TYPE
SYNTAX RplDodagEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry representing information about a DODAG."
INDEX { rplRPLInstanceID, rplDodagRoot }
::= { rplDodagTable 1 }
RplDodagEntry ::= SEQUENCE {
rplDodagRoot InetAddressIPv6,
rplDodagVersion RplDodagVersionNumber,
rplDodagRank RplRank,
rplDodagState INTEGER,
rplDodagDAODelay RplDAODelay,
rplDodagPreference RplDodagPreference,
rplDodagMinHopRankIncrease RplMinHopRankIncrease,
rplDodagMaxRankIncrease Unsigned32,
rplDodagIntervalDoublings Unsigned32,
rplDodagIntervalMin Unsigned32,
rplDodagRedundancyConstant Unsigned32,
rplDodagPathControlSize RplPathControlSize
}
rplDodagRoot OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The identifier of a DODAG root (DODAGID) of this RPL
instance. The root of the DODAG reports its own IPv6
address as the DODAG root."
::= { rplDodagEntry 1 }
rplDodagVersion OBJECT-TYPE
SYNTAX RplDodagVersionNumber
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Korte, et al. Expires May 3, 2012 [Page 13]
Internet-Draft RPL MIB October 2011
"The version of the DODAG in this RPL instance."
::= { rplDodagEntry 2 }
rplDodagRank OBJECT-TYPE
SYNTAX RplRank
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The rank of the node within the DODAG."
::= { rplDodagEntry 3 }
rplDodagState OBJECT-TYPE
SYNTAX INTEGER {
other(0),
associated(1),
grounded(2),
floating(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The status of the DODAG:
other(0) An unknown state.
associated(1) A node is associated with the RPL instance.
grounded(2) The DODAG is grounded.
floating(3) The DODAG is floating (not grounded).
"
::= { rplDodagEntry 4 }
rplDodagDAODelay OBJECT-TYPE
SYNTAX RplDAODelay
UNITS "milliseconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The delay for aggregations before a DAO is send."
::= { rplDodagEntry 5 }
-- XXX should this be configuration? If so we should add a default
-- clause to define the default value to be 1 second.
rplDodagPreference OBJECT-TYPE
SYNTAX RplDodagPreference
MAX-ACCESS read-only
STATUS current
Korte, et al. Expires May 3, 2012 [Page 14]
Internet-Draft RPL MIB October 2011
DESCRIPTION
"How preferred this DODAG is compared to other DODAGs
within the same instance."
::= { rplDodagEntry 6 }
rplDodagMinHopRankIncrease OBJECT-TYPE
SYNTAX RplMinHopRankIncrease
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum increase of the rank in a single hop."
::= { rplDodagEntry 7 }
-- XXX should this be writable at the root? If so we should add a
-- defval clause to define the default value to be 256.
rplDodagMaxRankIncrease OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum allowable increase in rank in support of local
repair. If DAGMaxRankIncrease is 0 then this mechanism is
disabled."
::= { rplDodagEntry 8 }
rplDodagIntervalDoublings OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The configured Imax of the DIO trickle timer."
::= { rplDodagEntry 9 }
-- XXX should this be writable at the root? If so we should add a
-- defval clause to define the default value of 20.
rplDodagIntervalMin OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The configured Imin of the DIO trickle timer."
::= { rplDodagEntry 10 }
-- XXX should this be writable at the root? If so we should add a
-- defval clause to define the default value of 3.
rplDodagRedundancyConstant OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
Korte, et al. Expires May 3, 2012 [Page 15]
Internet-Draft RPL MIB October 2011
STATUS current
DESCRIPTION
"The configured k of the DIO trickle timer."
::= { rplDodagEntry 11 }
-- XXX should this be writable at the root? If so we should add a
-- defval clause to define the default value of 10.
rplDodagPathControlSize OBJECT-TYPE
SYNTAX RplPathControlSize
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Path Control Size of this DODAG."
::= { rplDodagEntry 12 }
rplDodagParentTable OBJECT-TYPE
SYNTAX SEQUENCE OF RplDodagParentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The list of parents for a DODAG."
::= { rplObjects 6 }
rplDodagParentEntry OBJECT-TYPE
SYNTAX RplDodagParentEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a known DODAG parent."
INDEX { rplRPLInstanceID, rplDodagRoot, rplDodagParentID }
::= { rplDodagParentTable 1 }
RplDodagParentEntry ::= SEQUENCE {
rplDodagParentID InetAddressIPv6,
rplDodagParentIf InterfaceIndex
}
rplDodagParentID OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An RPL parent associated with this DODAG."
::= { rplDodagParentEntry 1 }
rplDodagParentIf OBJECT-TYPE
SYNTAX InterfaceIndex
MAX-ACCESS read-only
Korte, et al. Expires May 3, 2012 [Page 16]
Internet-Draft RPL MIB October 2011
STATUS current
DESCRIPTION
"The interface over which the parent can be reached."
::= { rplDodagParentEntry 2 }
rplDodagChildTable OBJECT-TYPE
SYNTAX SEQUENCE OF RplDodagChildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The list of children for a DODAG."
::= { rplObjects 7 }
rplDodagChildEntry OBJECT-TYPE
SYNTAX RplDodagChildEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a known DODAG child."
INDEX { rplRPLInstanceID, rplDodagRoot, rplDodagChildID }
::= { rplDodagChildTable 1 }
RplDodagChildEntry ::= SEQUENCE {
rplDodagChildID InetAddressIPv6
}
rplDodagChildID OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An RPL child associated with this DODAG."
::= { rplDodagChildEntry 1 }
rplDodagPrefixTable OBJECT-TYPE
SYNTAX SEQUENCE OF RplDodagPrefixEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"List of prefixes associated with a DODAG."
::= { rplObjects 8 }
-- XXX Explain how this relates to the ipAddressPrefixTable in
-- XXX the IP-MIB
rplDodagPrefixEntry OBJECT-TYPE
SYNTAX RplDodagPrefixEntry
MAX-ACCESS not-accessible
STATUS current
Korte, et al. Expires May 3, 2012 [Page 17]
Internet-Draft RPL MIB October 2011
DESCRIPTION
"Information about a prefix associated with a DODAG."
INDEX { rplRPLInstanceID, rplDodagRoot,
rplDodagPrefixIpv6Prefix, rplDodagPrefixIpv6PrefixLength }
::= { rplDodagPrefixTable 1 }
RplDodagPrefixEntry ::= SEQUENCE {
rplDodagPrefixIpv6Prefix InetAddressIPv6,
rplDodagPrefixIpv6PrefixLength InetAddressPrefixLength
}
rplDodagPrefixIpv6Prefix OBJECT-TYPE
SYNTAX InetAddressIPv6
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IPv6 address forming the IPv6 prefix."
::= { rplDodagPrefixEntry 1 }
rplDodagPrefixIpv6PrefixLength OBJECT-TYPE
SYNTAX InetAddressPrefixLength
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The length of the IPv6 prefix."
::= { rplDodagPrefixEntry 2 }
-- XXX The routing table should be exposed via the inetCidrRouteTable
-- XXX defines in the IP-FORWARD-MIB (RFC 4292). We need to clarify
-- XXX whether the inetCidrRoutePolicy can / should point to the DODAG
-- XXX instance. Furthermore, this document should request that IANA
-- XXX allocates a number for RPL in the IANAipRouteProtocol TC.
rplStats OBJECT IDENTIFIER ::= { rplObjects 9 }
rplStatsMemOverflows OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of memory allocation failures (e.g., routing table
overflows)."
::= { rplStats 1 }
rplStatsValidParentFailures OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
Korte, et al. Expires May 3, 2012 [Page 18]
Internet-Draft RPL MIB October 2011
DESCRIPTION
"The number of times a packet could not be sent to a DODAG
parent flagged as valid."
::= { rplStats 2 }
rplStatsNoInstanceIDs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a packet could not be sent because of
a missing RPLInstanceID."
::= { rplStats 3 }
rplStatsTriggeredLocalRepairs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a local repair procedure was triggered."
::= { rplStats 4 }
rplStatsTriggeredGlobalRepairs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a global repair procedure was triggered."
::= { rplStats 5 }
rplStatsParseErrors OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of received malformed messages."
::= { rplStats 6 }
rplStatsNoParentSecs OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds without a next hop (DODAG parent)."
::= { rplStats 7 }
rplStatsActiveNoParentSecs OBJECT-TYPE
SYNTAX Counter32
Korte, et al. Expires May 3, 2012 [Page 19]
Internet-Draft RPL MIB October 2011
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of seconds with packets to forward without a
next hop (DODAG parent)."
::= { rplStats 8 }
rplStatsOBitSetDownwards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received with the 'O' bit set from
a node with a higher rank."
::= { rplStats 9 }
rplStatsOBitClearedUpwards OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received with the 'O' bit cleared
from a node with a lower rank."
::= { rplStats 10 }
rplStatsFBitSet OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received with the 'F' bit set."
::= { rplStats 11 }
rplStatsRBitSet OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of packets received with the 'R' bit set."
::= { rplStats 12 }
-- XXX There seem to be additional local error events to count, see
-- XXX for example Section 11.2. (rank errors, forwarding errors, ...)
-- XXX RPL security has not been looked at.
rplGroups OBJECT IDENTIFIER ::= { rplConformance 1 }
rplCompliances OBJECT IDENTIFIER ::= { rplConformance 2 }
Korte, et al. Expires May 3, 2012 [Page 20]
Internet-Draft RPL MIB October 2011
rplFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance statement for implementations supporting
read/write access, according to the object definitions."
MODULE -- this module
MANDATORY-GROUPS {
rplGeneralGroup,
rplInstanceGroup,
rplStatsGroup
}
::= { rplCompliances 1 }
rplReadOnlyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Compliance statement for implementations supporting
only readonly access."
MODULE -- this module
MANDATORY-GROUPS {
rplGeneralGroup,
rplInstanceGroup,
rplStatsGroup
}
::= { rplCompliances 2 }
-- XXX Need to list all writable objects to declare them
-- XXX readonly.
rplGeneralGroup OBJECT-GROUP
OBJECTS {
rplDefaultDISMode,
rplActiveInstance,
rplActiveDodag,
rplActiveDodagDAOSequence,
rplActiveDodagTriggerSequence,
-- rplOCPCodepoint,
rplOCPEnabled
}
STATUS current
DESCRIPTION
"A collection of objects providing general information about
the RPL implementation."
::= { rplGroups 1 }
rplInstanceGroup OBJECT-GROUP
OBJECTS {
-- rplRPLInstanceID,
rplRPLInstanceOCP,
Korte, et al. Expires May 3, 2012 [Page 21]
Internet-Draft RPL MIB October 2011
rplRPLInstanceDisMode,
rplRPLInstanceDAOAcknowledgement,
rplRPLInstanceModeOfOperation,
-- rplDodagRoot,
rplDodagVersion,
rplDodagRank,
rplDodagState,
rplDodagDAODelay,
rplDodagPreference,
rplDodagMinHopRankIncrease,
rplDodagMaxRankIncrease,
rplDodagIntervalDoublings,
rplDodagIntervalMin,
rplDodagRedundancyConstant,
rplDodagPathControlSize,
-- rplDodagParentID,
rplDodagParentIf,
rplDodagChildID,
rplDodagPrefixIpv6Prefix,
rplDodagPrefixIpv6PrefixLength
}
STATUS current
DESCRIPTION
"A collection of objects providing insight into the RPL
Instances and the DODAGs."
::= { rplGroups 2 }
rplStatsGroup OBJECT-GROUP
OBJECTS {
rplStatsMemOverflows,
rplStatsValidParentFailures,
rplStatsNoInstanceIDs,
rplStatsTriggeredLocalRepairs,
rplStatsTriggeredGlobalRepairs,
rplStatsParseErrors,
rplStatsNoParentSecs,
rplStatsActiveNoParentSecs,
rplStatsOBitSetDownwards,
rplStatsOBitClearedUpwards,
rplStatsFBitSet,
rplStatsRBitSet
}
STATUS current
DESCRIPTION
"A collection of objects providing statistics about the
RPL implementation."
::= { rplGroups 3 }
Korte, et al. Expires May 3, 2012 [Page 22]
Internet-Draft RPL MIB October 2011
END
7. 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 rplActiveInstance: [TBD] explain sensitivity
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:
[TODO: Need to describe vulnerabilities here.]
SNMP versions prior to SNMPv3 did not include adequate security.
Even if the network itself is secure (for example by using IPsec),
even then, there is no control as to who on the secure network is
allowed to access and GET/SET (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 indeed GET or SET (change/create/delete) them.
8. IANA Considerations
IANA is requested to assign a value for "XXX" under the 'mib-2'
subtree and to record the assignment in the SMI Numbers registry.
When the assignment has been made, the RFC Editor is asked to replace
Korte, et al. Expires May 3, 2012 [Page 23]
Internet-Draft RPL MIB October 2011
"XXX" (here and in the MIB module) with the assigned value and to
remove this note.
9. References
9.1. 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.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The
Interfaces Group MIB", RFC 2863, June 2000.
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J.
Schoenwaelder, "Textual Conventions for Internet
Network Addresses", RFC 4001, February 2005.
[I-D.ietf-roll-rpl] Winter, T., Thubert, P., Brandt, A., Clausen,
T., Hui, J., Kelsey, R., Levis, P., Pister, K.,
Struik, R., and J. Vasseur, "RPL: IPv6 Routing
Protocol for Low power and Lossy Networks",
draft-ietf-roll-rpl-19 (work in progress),
March 2011.
9.2. 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.
Korte, et al. Expires May 3, 2012 [Page 24]
Internet-Draft RPL MIB October 2011
Appendix A. Open Issues
Should there be basic DIS/DIO/DAO/DAO-ACK message counters?
Should we reveal the interal trickle variables? Right now, we
only allow to read the configured trickle parameters.
Should we model objective functions, e.g. by introducing a table
that includes things such as MinHopRankIncrease and
MaxRankIncrease
Should we report the mode (storing mode, non-storing mode)?
Check the various issues marked with XXX in the RPL-MIB itself.
Authors' Addresses
Kevin Korte
Jacobs University
Campus Ring 1
Bremen 28759
Germany
EMail: k.korte@jacobs-university.de
Juergen Schoenwaelder
Jacobs University
Campus Ring 1
Bremen 28759
Germany
EMail: j.schoenwaelder@jacobs-university.de
Anuj Sehgal
Jacobs University
Campus Ring 1
Bremen 28759
Germany
EMail: s.anuj@jacobs-university.de
Korte, et al. Expires May 3, 2012 [Page 25]
Internet-Draft RPL MIB October 2011
Tina Tsou
Huawei Technologies
Bantian, Longgang District
Shenzhen 518129
P.R. China
EMail: tena@huawei.com
Cathy Zhou
Huawei Technologies
Bantian, Longgang District
Shenzhen 518129
P.R. China
EMail: cathyzhou@huawei.com
Korte, et al. Expires May 3, 2012 [Page 26]