Internet Engineering Task Force K. Korte Internet-Draft J. Schoenwaelder Intended status: Standards Track A. Sehgal Expires: April 22, 2013 Jacobs University T. Tsou Huawei Technologies (USA) C. Zhou Huawei Technologies October 19, 2012 Definition of Managed Objects for the IPv6 Routing Protocol for Low Power and Lossy Networks (RPL) draft-sehgal-roll-rpl-mib-05 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 in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on April 22, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. 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 Korte, et al. Expires April 22, 2013 [Page 1] Internet-Draft RPL-MIB October 2012 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 Simplified 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 . . . . . . . . . . . . . . . . . . . 29 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 30 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30 10.1. Normative References . . . . . . . . . . . . . . . . . . 30 10.2. Informative References . . . . . . . . . . . . . . . . . 31 Appendix A. JSON Representation . . . . . . . . . . . . . . . . . 32 Korte, et al. Expires April 22, 2013 [Page 2] Internet-Draft RPL-MIB October 2012 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) [RFC6550]. It also provides management access to the Trickle [RFC6206] parameters as they are used by 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. # RPL-MIB registration tree (generated by smidump 0.4.8) -rplMib(1.3.6.1.2.1.XXXX) +-rplNotifications(0) +-rplObjects(1) +-rplDefaults(1) | +- rwn RplDISMode rplDefaultDISMode(1) | +- rwn Unsigned32 rplDefaultDISMessages(2) | +- rwn Unsigned32 rplDefaultDISTimeout(3) | +- rwn RplDAODelay rplDefaultDAODelay(4) | +- rwn TruthValue rplDefaultDAOAckEnabled(5) | +- rwn RplDodagPreference rplDefaultPreference(6) | +- rwn RplMinHopRankIncrease rplDefaultMinHopRankIncrease(7) | +- rwn Unsigned32 rplDefaultMaxRankIncrease(8) | +- rwn RplModeOfOperation rplDefaultModeOfOperation(9) Korte, et al. Expires April 22, 2013 [Page 3] Internet-Draft RPL-MIB October 2012 | +- rwn Unsigned32 rplDefaultIntervalDoublings(10) | +- rwn Unsigned32 rplDefaultIntervalMin(11) | +- rwn Unsigned32 rplDefaultRedundancyConstant(12) +-rplActive(2) | +- rwn RplInstanceID rplActiveInstance(1) | +- rwn InetAddressIPv6 rplActiveDodag(2) | +- rwn Unsigned32 rplActiveDodagTriggerSequence(3) +-rplOCPTable(3) | +-rplOCPEntry(1) [rplOCPCodepoint] | +- --- RplObjectiveCodePoint rplOCPCodepoint(1) | +- rwn TruthValue rplOCPEnabled(2) +-rplInstanceTable(4) | +-rplInstanceEntry(1) [rplInstanceID] | +- --- RplInstanceID rplInstanceID(1) | +- r-n RplDISMode rplInstanceDISMode(2) | +- r-n Unsigned32 rplInstanceDISMessages(3) | +- r-n Unsigned32 rplInstanceDISTimeout(4) | +- r-n RplModeOfOperation rplInstanceModeOfOperation(5) +-rplDodagTable(5) | +-rplDodagEntry(1) [rplInstanceID,rplDodagIndex] | +- --- Unsigned32 rplDodagIndex(1) | +- --- InetAddressIPv6 rplDodagRoot(2) | +- r-n RplDodagVersionNumber rplDodagVersion(3) | +- r-n RplRank rplDodagRank(4) | +- r-n Enumeration rplDodagState(5) | +- r-n RplObjectiveCodePoint rplDodagOCP(6) | +- r-n RplDAODelay rplDodagDAODelay(7) | +- r-n TruthValue rplDodagDAOAckEnabled(8) | +- r-n RplDodagPreference rplDodagPreference(9) | +- r-n RplMinHopRankIncrease rplDodagMinHopRankIncrease(10) | +- r-n Unsigned32 rplDodagMaxRankIncrease(11) | +- r-n Unsigned32 rplDodagIntervalDoublings(12) | +- r-n Unsigned32 rplDodagIntervalMin(13) | +- r-n Unsigned32 rplDodagRedundancyConstant(14) | +- r-n RplPathControlSize rplDodagPathControlSize(15) +-rplDodagParentTable(6) | +-rplDodagParentEntry(1) [rplInstanceID,rplDodagIndex, | | rplDodagParentID] | +- --- InetAddressIPv6 rplDodagParentID(1) | +- r-n InterfaceIndex rplDodagParentIf(2) +-rplDodagChildTable(7) | +-rplDodagChildEntry(1) [rplInstanceID,rplDodagIndex, | | rplDodagChildID] | +- --- InetAddressIPv6 rplDodagChildID(1) | +- r-n InterfaceIndex rplDodagChildIf(2) +-rplStats(8) | +- r-n Counter32 rplMemOverflows(1) | +- r-n Counter32 rplParseErrors(2) Korte, et al. Expires April 22, 2013 [Page 4] Internet-Draft RPL-MIB October 2012 | +- r-n Counter32 rplUnknownMsgTypes(3) | +- r-n Counter32 rplSecurityPolicyViolations(4) | +- r-n Counter32 rplIntegrityCheckFailures(5) | +- r-n Counter32 rplReplayProtectionFailures(6) | +- r-n Counter32 rplValidParentFailures(7) | +- r-n Counter32 rplNoInstanceIDs(8) | +- r-n Counter32 rplTriggeredLocalRepairs(9) | +- r-n Counter32 rplTriggeredGlobalRepairs(10) | +- r-n Counter32 rplNoParentSecs(11) | +- r-n Counter32 rplActiveNoParentSecs(12) | +- r-n Counter32 rplOBitSetDownwards(13) | +- r-n Counter32 rplOBitClearedUpwards(14) | +- r-n Counter32 rplFBitSet(15) | +- r-n Counter32 rplRBitSet(16) | +- r-n Counter32 rplTrickleTimerResets(17) +-rplMsgStatsTable(9) +-rplMsgStatsEntry(1) [rplMsgStatsType] +- --- RplMessageType rplMsgStatsType(1) +- r-n Counter32 rplMsgStatsInMsgs(2) +- r-n Counter32 rplMsgStatsOutMsgs(3) 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]. The IPv6 routing table SHOULD be exposed via the inetCidrRouteTable defined in the IP-FORWARD-MIB [RFC4292]. Since an RPL node can participate in multiple RPL instances, the inetCidrRoutePolicy object SHOULD carry the OID of the rplInstanceID instance, including the value of rplInstanceID. The prefixes used by DODAGs SHOULD be exported via the ipAddressPrefixTable of the IP-MIB [RFC4293]. The value of ipAddressPrefixOrigin should be routeradv(5). 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 Korte, et al. Expires April 22, 2013 [Page 5] Internet-Draft RPL-MIB October 2012 InterfaceIndex FROM IF-MIB -- RFC 2863 InetAddressIPv6 FROM INET-ADDRESS-MIB; -- RFC 4001 rplMib MODULE-IDENTITY LAST-UPDATED "201210190000Z" 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: tina.tsou.zouting@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) 2012 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 "201210190000Z" DESCRIPTION "Initial version, published as RFC XXXX." -- RFC Ed.: replace XXXX with actual RFC number & remove this note Korte, et al. Expires April 22, 2013 [Page 6] Internet-Draft RPL-MIB October 2012 ::= { mib-2 XXXX } RplMessageType ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The type of an RPL control message as defined in Section 6 of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" SYNTAX Unsigned32 (0..255) RplInstanceID ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "A global or local RPLinstanceID as defined in Section 5.1. of RFC 6550." REFERENCE "RFC 6550: 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 6550." REFERENCE "RFC 6550: 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 6550." REFERENCE "RFC 6550: 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 6550." Korte, et al. Expires April 22, 2013 [Page 7] Internet-Draft RPL-MIB October 2012 REFERENCE "RFC 6550: 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 18.2.1.1 of RFC 6550: silent(1) do not send DIS messages send(2) send DIS messages" REFERENCE "RFC 6550: 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 6550: 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 6550: 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 6550." Korte, et al. Expires April 22, 2013 [Page 8] Internet-Draft RPL-MIB October 2012 REFERENCE "RFC 6550: 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 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" SYNTAX Unsigned32 (0..131071) 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 6550." REFERENCE "RFC 6550: 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 } rplDefaults 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. Changes to this value may not persist across restarts." ::= { rplDefaults 1 } rplDefaultDISMessages OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The number of DIS messages that are sent as an initial probe for nearby DODAGs if the DIS mode is 'send'. The Korte, et al. Expires April 22, 2013 [Page 9] Internet-Draft RPL-MIB October 2012 value of this object is ignored if the DIS mode is 'silent'. Changes to this value may not persist across restarts." DEFVAL { 1 } ::= { rplDefaults 2 } rplDefaultDISTimeout OBJECT-TYPE SYNTAX Unsigned32 (0..255) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of seconds after which a node in DIS mode 'send' in the absence of DIO messages may decide to root a floating DODAG. Changes to this value may not persist across restarts." DEFVAL { 60 } ::= { rplDefaults 3 } rplDefaultDAODelay OBJECT-TYPE SYNTAX RplDAODelay UNITS "milliseconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The default delay for aggregations before a DAO is send. Changes to this value may not persist across restarts." DEFVAL { 1000 } ::= { rplDefaults 4 } rplDefaultDAOAckEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Indicates whether DAO Acknowledgements are sent on this RPL instance. Changes to this value may not persist across restarts." DEFVAL { false } ::= { rplDefaults 5 } rplDefaultPreference OBJECT-TYPE SYNTAX RplDodagPreference MAX-ACCESS read-write STATUS current DESCRIPTION "The default preference of this DODAG compared to other DODAGs within the same instance. Changes to this value Korte, et al. Expires April 22, 2013 [Page 10] Internet-Draft RPL-MIB October 2012 may not persist across restarts." DEFVAL { 0 } ::= { rplDefaults 6 } rplDefaultMinHopRankIncrease OBJECT-TYPE SYNTAX RplMinHopRankIncrease MAX-ACCESS read-write STATUS current DESCRIPTION "The default minimum increase of the rank in a single hop. Changes to this value may not persist across restarts." DEFVAL { 256 } ::= { rplDefaults 7 } rplDefaultMaxRankIncrease OBJECT-TYPE SYNTAX Unsigned32 (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "The default maximum allowable increase in rank in support of local repair. If DAGMaxRankIncrease is 0 then this mechanism is disabled. Changes to this value may not persist across restarts." DEFVAL { 65535 } ::= { rplDefaults 8 } rplDefaultModeOfOperation OBJECT-TYPE SYNTAX RplModeOfOperation MAX-ACCESS read-write STATUS current DESCRIPTION "The mode of operation of the RPL instance. Changes to this value may not persist across restarts." DEFVAL { storingWithoutMulticastSupport } ::= { rplDefaults 9 } rplDefaultIntervalDoublings OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The default Imax parameter of the DIO trickle timer. Changes to this value may not persist across restarts." REFERENCE "RFC 6206: The Trickle Algorithm" DEFVAL { 20 } ::= { rplDefaults 10 } Korte, et al. Expires April 22, 2013 [Page 11] Internet-Draft RPL-MIB October 2012 rplDefaultIntervalMin OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The default Imin parameter of the DIO trickle timer. Changes to this value may not persist across restarts." REFERENCE "RFC 6206: The Trickle Algorithm" DEFVAL { 3 } ::= { rplDefaults 11 } rplDefaultRedundancyConstant OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current DESCRIPTION "The default k parameter of the DIO trickle timer. Changes to this value may not persist across restarts." REFERENCE "RFC 6206: The Trickle Algorithm" DEFVAL { 10 } ::= { rplDefaults 12 } rplActive OBJECT IDENTIFIER ::= { rplObjects 2 } rplActiveInstance OBJECT-TYPE SYNTAX RplInstanceID MAX-ACCESS read-write STATUS current DESCRIPTION "The currently active RPL Instance. Changes to this value may not persist across restarts." ::= { rplActive 1 } rplActiveDodag OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-write STATUS current DESCRIPTION "The currently active RPL DODAG in the active RPL Instance. Changes to this value may not persist across restarts." ::= { rplActive 2 } rplActiveDodagTriggerSequence OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-write STATUS current Korte, et al. Expires April 22, 2013 [Page 12] Internet-Draft RPL-MIB October 2012 DESCRIPTION "The DAO Trigger Sequence Number (DTSN) of the active DODAG as defined in Section 6.3.1 of RFC 6550. Changes to this value may not persist across restarts." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplActive 3 } 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 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. Changes to this value may not persist across restarts." ::= { rplOCPEntry 2 } rplInstanceTable OBJECT-TYPE Korte, et al. Expires April 22, 2013 [Page 13] Internet-Draft RPL-MIB October 2012 SYNTAX SEQUENCE OF RplInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table represents information about all known RPL Instances." ::= { rplObjects 4 } rplInstanceEntry OBJECT-TYPE SYNTAX RplInstanceEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry representing information about a RPL Instance." INDEX { rplInstanceID } ::= { rplInstanceTable 1 } RplInstanceEntry ::= SEQUENCE { rplInstanceID RplInstanceID, rplInstanceDISMode RplDISMode, rplInstanceDISMessages Unsigned32, rplInstanceDISTimeout Unsigned32, rplInstanceModeOfOperation RplModeOfOperation } rplInstanceID OBJECT-TYPE SYNTAX RplInstanceID MAX-ACCESS not-accessible STATUS current DESCRIPTION "The InstanceID of this RPL Instance." ::= { rplInstanceEntry 1 } rplInstanceDISMode OBJECT-TYPE SYNTAX RplDISMode MAX-ACCESS read-only STATUS current DESCRIPTION "Reports whether a DIS message is send for this instance upon boot-up." ::= { rplInstanceEntry 2 } rplInstanceDISMessages OBJECT-TYPE SYNTAX Unsigned32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The number of DIS messages that are sent as an initial Korte, et al. Expires April 22, 2013 [Page 14] Internet-Draft RPL-MIB October 2012 probe for nearby DODAGs if the DIS mode is 'send'." ::= { rplInstanceEntry 3 } rplInstanceDISTimeout OBJECT-TYPE SYNTAX Unsigned32 (0..255) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds after which a node in DIS mode 'send' in the absence of DIO messages may decide to root a floating DODAG." ::= { rplInstanceEntry 4 } rplInstanceModeOfOperation OBJECT-TYPE SYNTAX RplModeOfOperation MAX-ACCESS read-only STATUS current DESCRIPTION "The mode of operation of the RPL instance." ::= { rplInstanceEntry 5 } rplDodagTable OBJECT-TYPE SYNTAX SEQUENCE OF RplDodagEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table represents information about all locally known DODAGs." ::= { rplObjects 5 } rplDodagEntry OBJECT-TYPE SYNTAX RplDodagEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry representing information about a DODAG." INDEX { rplInstanceID, rplDodagIndex } ::= { rplDodagTable 1 } RplDodagEntry ::= SEQUENCE { rplDodagIndex Unsigned32, rplDodagID InetAddressIPv6, rplDodagVersion RplDodagVersionNumber, rplDodagRank RplRank, rplDodagState INTEGER, rplDodagOCP RplObjectiveCodePoint, rplDodagDAODelay RplDAODelay, Korte, et al. Expires April 22, 2013 [Page 15] Internet-Draft RPL-MIB October 2012 rplDodagDAOAckEnabled TruthValue, rplDodagPreference RplDodagPreference, rplDodagMinHopRankIncrease RplMinHopRankIncrease, rplDodagMaxRankIncrease Unsigned32, rplDodagIntervalDoublings Unsigned32, rplDodagIntervalMin Unsigned32, rplDodagRedundancyConstant Unsigned32, rplDodagPathControlSize RplPathControlSize } rplDodagIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index identifying a DODAG within an RPL instance. This index is used to keep the table indexes short. The RPL protocol identifies a DODAG within an RPL instance by the DODAGID." ::= { rplDodagEntry 1 } rplDodagID OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS read-only 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. This is uniquely identifying a DODAG within an RPL instance." ::= { rplDodagEntry 2 } rplDodagVersion OBJECT-TYPE SYNTAX RplDodagVersionNumber MAX-ACCESS read-only STATUS current DESCRIPTION "The version of the DODAG in this RPL instance." ::= { rplDodagEntry 3 } rplDodagRank OBJECT-TYPE SYNTAX RplRank MAX-ACCESS read-only STATUS current DESCRIPTION "The rank of the node within the DODAG." ::= { rplDodagEntry 4 } rplDodagState OBJECT-TYPE Korte, et al. Expires April 22, 2013 [Page 16] Internet-Draft RPL-MIB October 2012 SYNTAX INTEGER { other(0), grounded(1), floating(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of the DODAG: other(0) An unknown state. grounded(1) The DODAG is grounded. floating(2) The DODAG is floating (not grounded)." ::= { rplDodagEntry 5 } rplDodagOCP OBJECT-TYPE SYNTAX RplObjectiveCodePoint MAX-ACCESS read-only STATUS current DESCRIPTION "The Objective Code Point of this DODAG." ::= { rplDodagEntry 6 } rplDodagDAODelay OBJECT-TYPE SYNTAX RplDAODelay UNITS "milliseconds" MAX-ACCESS read-only STATUS current DESCRIPTION "The delay for aggregations before a DAO is send." ::= { rplDodagEntry 7 } rplDodagDAOAckEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates whether DAO Acknowledgements are sent on this DODAG." ::= { rplDodagEntry 8 } rplDodagPreference OBJECT-TYPE SYNTAX RplDodagPreference MAX-ACCESS read-only STATUS current DESCRIPTION Korte, et al. Expires April 22, 2013 [Page 17] Internet-Draft RPL-MIB October 2012 "How preferred this DODAG is compared to other DODAGs within the same instance." ::= { rplDodagEntry 9 } rplDodagMinHopRankIncrease OBJECT-TYPE SYNTAX RplMinHopRankIncrease MAX-ACCESS read-only STATUS current DESCRIPTION "The minimum increase of the rank in a single hop." ::= { rplDodagEntry 10 } 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 11 } rplDodagIntervalDoublings OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The Imax parameter of the DIO trickle timer." REFERENCE "RFC 6206: The Trickle Algorithm" ::= { rplDodagEntry 12 } rplDodagIntervalMin OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The Imin parameter of the DIO trickle timer." REFERENCE "RFC 6206: The Trickle Algorithm" ::= { rplDodagEntry 13 } rplDodagRedundancyConstant OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The k parameter of the DIO trickle timer." Korte, et al. Expires April 22, 2013 [Page 18] Internet-Draft RPL-MIB October 2012 REFERENCE "RFC 6206: The Trickle Algorithm" ::= { rplDodagEntry 14 } rplDodagPathControlSize OBJECT-TYPE SYNTAX RplPathControlSize MAX-ACCESS read-only STATUS current DESCRIPTION "The Path Control Size of this DODAG." ::= { rplDodagEntry 15 } 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 { rplInstanceID, rplDodagIndex, 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 STATUS current DESCRIPTION "The interface over which the parent can be reached." Korte, et al. Expires April 22, 2013 [Page 19] Internet-Draft RPL-MIB October 2012 ::= { 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 { rplInstanceID, rplDodagIndex, rplDodagChildID } ::= { rplDodagChildTable 1 } RplDodagChildEntry ::= SEQUENCE { rplDodagChildID InetAddressIPv6, rplDodagChildIf InterfaceIndex } rplDodagChildID OBJECT-TYPE SYNTAX InetAddressIPv6 MAX-ACCESS not-accessible STATUS current DESCRIPTION "An RPL child associated with this DODAG." ::= { rplDodagChildEntry 1 } rplDodagChildIf OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "The interface over which the child can be reached." ::= { rplDodagChildEntry 2 } rplStats OBJECT IDENTIFIER ::= { rplObjects 8 } rplMemOverflows OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of memory allocation failures (e.g., routing table Korte, et al. Expires April 22, 2013 [Page 20] Internet-Draft RPL-MIB October 2012 overflows)." ::= { rplStats 1 } rplParseErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received malformed messages." ::= { rplStats 2 } rplUnknownMsgTypes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received RPL messages that we dropped because the message type is not recognized by the implementation." ::= { rplStats 3 } rplSecurityPolicyViolations OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages discarded because the described level of security for the message type and originator is unknown or does not meet locally maintained security policies as defined in Section 10.7. of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 4 } rplIntegrityCheckFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages discarded because the integrity check failed against the received message authentication code (MAC) as defined in Section 10.7. of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 5 } rplReplayProtectionFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Korte, et al. Expires April 22, 2013 [Page 21] Internet-Draft RPL-MIB October 2012 STATUS current DESCRIPTION "The number of messages discarded because the received message Counter value is non-zero and less than the maintained incoming Counter watermark or because the received Timestamp Counter value indicates a message transmission time that is earlier than the Current time less the acceptable packet delay as defined in Section 10.7. of RFC 6550. This counter is also incremented if the temporal consistency check of the message fails as defined in Section 10.7.1." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 6 } rplValidParentFailures OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a packet could not be sent to a DODAG parent flagged as valid." ::= { rplStats 7 } rplNoInstanceIDs 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 8 } rplTriggeredLocalRepairs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a local repair procedure was triggered." ::= { rplStats 9 } rplTriggeredGlobalRepairs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of times a global repair procedure was triggered." ::= { rplStats 10 } Korte, et al. Expires April 22, 2013 [Page 22] Internet-Draft RPL-MIB October 2012 rplNoParentSecs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds without a next hop (DODAG parent)." ::= { rplStats 11 } rplActiveNoParentSecs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of seconds with packets to forward without a next hop (DODAG parent)." ::= { rplStats 12 } rplOBitSetDownwards 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 as defined in Section 18.3.2 of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 13 } rplOBitClearedUpwards 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 as defined in Section 18.3.2 of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 14 } rplFBitSet OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets received with the 'F' bit set as defined in Section 18.3.2 of RFC 6550." Korte, et al. Expires April 22, 2013 [Page 23] Internet-Draft RPL-MIB October 2012 REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 15 } rplRBitSet OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of packets received with the 'R' bit set as defined in Section 18.3.2 of RFC 6550." REFERENCE "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" ::= { rplStats 16 } rplTrickleTimerResets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of trickle timer resets." ::= { rplStats 17 } rplMsgStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF RplMsgStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Basic RPL message statistics by message type." ::= { rplObjects 9 } rplMsgStatsEntry OBJECT-TYPE SYNTAX RplMsgStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Statistics for a specific RPL message type." INDEX { rplMsgStatsType } ::= { rplMsgStatsTable 1 } RplMsgStatsEntry ::= SEQUENCE { rplMsgStatsType RplMessageType, rplMsgStatsInMsgs Counter32, rplMsgStatsOutMsgs Counter32 } rplMsgStatsType OBJECT-TYPE SYNTAX RplMessageType Korte, et al. Expires April 22, 2013 [Page 24] Internet-Draft RPL-MIB October 2012 MAX-ACCESS not-accessible STATUS current DESCRIPTION "The RPL message type being counted by this row." ::= { rplMsgStatsEntry 1 } rplMsgStatsInMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of RPL messages received of this type." ::= { rplMsgStatsEntry 2 } rplMsgStatsOutMsgs OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of RPL messages sent of this type." ::= { rplMsgStatsEntry 3 } -- conformance definitions rplGroups OBJECT IDENTIFIER ::= { rplConformance 1 } rplCompliances OBJECT IDENTIFIER ::= { rplConformance 2 } 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, Korte, et al. Expires April 22, 2013 [Page 25] Internet-Draft RPL-MIB October 2012 rplInstanceGroup, rplStatsGroup } OBJECT rplDefaultDISMode MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultDISMessages MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultDISTimeout MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultDAODelay MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultDAOAckEnabled MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultPreference MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultMinHopRankIncrease MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultMaxRankIncrease MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultModeOfOperation MIN-ACCESS read-only DESCRIPTION "Write access is not required." Korte, et al. Expires April 22, 2013 [Page 26] Internet-Draft RPL-MIB October 2012 OBJECT rplDefaultIntervalDoublings MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultIntervalMin MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplDefaultRedundancyConstant MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplActiveInstance MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplActiveDodag MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplActiveDodagTriggerSequence MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT rplOCPEnabled MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { rplCompliances 2 } rplGeneralGroup OBJECT-GROUP OBJECTS { rplDefaultDISMode, rplDefaultDISMessages, rplDefaultDISTimeout, rplDefaultDAODelay, rplDefaultDAOAckEnabled, rplDefaultPreference, rplDefaultMinHopRankIncrease, rplDefaultMaxRankIncrease, rplDefaultModeOfOperation, Korte, et al. Expires April 22, 2013 [Page 27] Internet-Draft RPL-MIB October 2012 rplDefaultIntervalDoublings, rplDefaultIntervalMin, rplDefaultRedundancyConstant, rplActiveInstance, rplActiveDodag, rplActiveDodagTriggerSequence, -- rplOCPCodepoint, rplOCPEnabled } STATUS current DESCRIPTION "A collection of objects providing general information about the RPL implementation." ::= { rplGroups 1 } rplInstanceGroup OBJECT-GROUP OBJECTS { -- rplInstanceID, rplInstanceDISMode, rplInstanceDISMessages, rplInstanceDISTimeout, rplInstanceModeOfOperation, -- rplDodagIndex, rplDodagID, rplDodagVersion, rplDodagRank, rplDodagState, rplDodagOCP, rplDodagDAODelay, rplDodagDAOAckEnabled, rplDodagPreference, rplDodagMinHopRankIncrease, rplDodagMaxRankIncrease, rplDodagIntervalDoublings, rplDodagIntervalMin, rplDodagRedundancyConstant, rplDodagPathControlSize, -- rplDodagParentID, rplDodagParentIf, -- rplDodagChildID, rplDodagChildIf } STATUS current DESCRIPTION "A collection of objects providing insight into RPL Instances and RPL DODAGs." ::= { rplGroups 2 } Korte, et al. Expires April 22, 2013 [Page 28] Internet-Draft RPL-MIB October 2012 rplStatsGroup OBJECT-GROUP OBJECTS { rplMemOverflows, rplParseErrors, rplUnknownMsgTypes, rplSecurityPolicyViolations, rplIntegrityCheckFailures, rplReplayProtectionFailures, rplValidParentFailures, rplNoInstanceIDs, rplTriggeredLocalRepairs, rplTriggeredGlobalRepairs, rplNoParentSecs, rplActiveNoParentSecs, rplOBitSetDownwards, rplOBitClearedUpwards, rplFBitSet, rplRBitSet, rplTrickleTimerResets, -- rplMsgStatsType, rplMsgStatsInMsgs, rplMsgStatsOutMsgs } STATUS current DESCRIPTION "A collection of objects providing statistics about the RPL implementation." ::= { rplGroups 3 } 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 Korte, et al. Expires April 22, 2013 [Page 29] Internet-Draft RPL-MIB October 2012 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 "XXXX" 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 "XXXX" (here and in the MIB module) with the assigned value and to remove this note. IANA has allocated a number for RPL in the IANAipRouteProtocol textual convention of the IANA-RTPROTO-MIB. 9. Acknowledgements The authors like to thank Michael Richardson for providing helpful comments during the development of this specification. 10. References 10.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Korte, et al. Expires April 22, 2013 [Page 30] Internet-Draft RPL-MIB October 2012 [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. [RFC4292] Haberman, B., "IP Forwarding Table MIB", RFC 4292, April 2006. [RFC4293] Routhier, S., "Management Information Base for the Internet Protocol (IP)", RFC 4293, April 2006. [RFC6206] Levis, P., Clausen, T., Hui, J., Gnawali, O., and J. Ko, "The Trickle Algorithm", RFC 6206, March 2011. [RFC6550] Winter, T., Thubert, P., Brandt, A., Hui, J., Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur, JP., and R. Alexander, "RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks", RFC 6550, March 2012. 10.2. Informative References [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet- Korte, et al. Expires April 22, 2013 [Page 31] Internet-Draft RPL-MIB October 2012 Standard Management Framework", RFC 3410, December 2002. [RFC6643] Schoenwaelder, J., "Translation of Structure of Management Information Version 2 (SMIv2) MIB Modules to YANG Modules", RFC 6643, July 2012. [I-D.lhotka-netmod-yang-json] Lhotka, L., "Modeling JSON Text with YANG", draft-lhotka-netmod-yang-json-00 (work in progress), October 2012. Appendix A. JSON Representation Using the translation algorithm defined in [RFC6643], the SMIv2 module can be translated to YANG. Using the JSON representation of data modeled in YANG defined in [I-D.lhotka-netmod-yang-json], the objects defined in the MIB module can be represented in JSON as shown below. The compact representation without any white space uses XXXX octets. (Of course, this number depends on the number of octets needed for the counter values.) { "RPL-MIB:RPL-MIB": { "rplGeneral": { "rplDefaultDISMode": "silent", "rplDefaultDISMessages": 1, "rplDefaultDISTimeout": 60, "rplDefaultDAODelay": 1000, "rplDefaultDAOAckEnabled": false, "rplDefaultPreference": 0, "rplDefaultMinHopRankIncrease": 256, "rplDefaultMaxRankIncrease": 65535, "rplDefaultModeOfOperation": "storingWithoutMulticastSupport", "rplDefaultIntervalDoublings": 20, "rplDefaultIntervalMin": 3, "rplDefaultRedundancyConstant": 10 }, "rplActive": { "rplActiveInstance": 0, "rplActiveDodag": "2001:db8:bad:cafe::1", "rplActiveDodagTriggerSequence": 4 }, "rplStats": { "rplMemOverflows": 0, "rplParseErrors": 0, Korte, et al. Expires April 22, 2013 [Page 32] Internet-Draft RPL-MIB October 2012 "rplUnknownMsgTypes": 1, "rplSecurityPolicyViolations": 0, "rplIntegrityCheckFailures": 0, "rplReplayProtectionFailures": 0, "rplValidParentFailures": 1, "rplNoInstanceIDs": 0, "rplTriggeredLocalRepairs": 3, "rplTriggeredGlobalRepairs": 0, "rplNoParentSecs": 15, "rplActiveNoParentSecs": 0, "rplOBitSetDownwards": 0, "rplOBitClearedUpwards": 0, "rplFBitSet": 0, "rplRBitSet": 0, "rplTrickleTimerResets": 42 }, "rplOCPTable": { "rplOCPEntry": [ { "rplOCPCodepoint": 0, "rplOCPEnabled": true } ] }, "rplInstanceTable": { "rplInstanceEntry": [ { "rplInstanceID": 0, "rplInstanceDISMode": "send", "rplInstanceDISMessages": 1, "rplInstanceDISTimeout": 60, "rplInstanceModeOfOperation": "storingWithoutMulticastSupport" } ] }, "rplDodagTable": { "rplDodagEntry": [ { "rplInstanceID": 0, "rplDodagIndex": 1, "rplDodagID": "2001:db8:bad:cafe::1", "rplDodagVersion": 3, "rplDodagRank": 2, "rplDodagState": "grounded", "rplDodagOCP": 0, "rplDodagDAODelay": 1000, "rplDodagDAOAckEnabled": false, Korte, et al. Expires April 22, 2013 [Page 33] Internet-Draft RPL-MIB October 2012 "rplDodagPreference": 0, "rplDodagMinHopRankIncrease": 256, "rplDodagMaxRankIncrease": 0, "rplDodagIntervalDoublings": 20, "rplDodagIntervalMin": 3, "rplDodagRedundancyConstant": 10, "rplDodagPathControlSize": 0 } ] }, "rplDodagParentTable": { "rplDodagParentEntry": [ { "rplRPLInstanceID": 0, "rplDodagIndex": 1, "rplDodagParentID": "2001:db8:bad:cafe::8", "rplDodagParentIf": 1 } ] }, "rplDodagChildTable": { "rplDodagChildEntry": [ { "rplRPLInstanceID": 0, "rplDodagIndex": 1, "rplDodagChildID": "2001:db8:bad:cafe::a" "rplDodagChildIf": 1 }, { "rplRPLInstanceID": 0, "rplDodagIndex": 1, "rplDodagChildID": "2001:db8:bad:cafe::b" "rplDodagChildIf": 2 } ] }, "rplMsgStatsTable": { "rplMsgStatsEntry": [ { "rplMsgStatsType": 0, "rplMsgStatsInMsgs": 78, "rplMsgStatsOutMsgs": 23 }, { "rplMsgStatsType": 1, "rplMsgStatsInMsgs": 11, "rplMsgStatsOutMsgs": 54 }, Korte, et al. Expires April 22, 2013 [Page 34] Internet-Draft RPL-MIB October 2012 { "rplMsgStatsType": 2, "rplMsgStatsInMsgs": 87, "rplMsgStatsOutMsgs": 28 }, { "rplMsgStatsType": 4, "rplMsgStatsInMsgs": 47, "rplMsgStatsOutMsgs": 38 } ] } } } 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 April 22, 2013 [Page 35] Internet-Draft RPL-MIB October 2012 Tina Tsou Huawei Technologies (USA) 2330 Central Expressway Santa Clara CA 95050 USA EMail: tina.tsou.zouting@huawei.com Cathy Zhou Huawei Technologies Bantian, Longgang District Shenzhen 518129 P.R. China EMail: cathyzhou@huawei.com Korte, et al. Expires April 22, 2013 [Page 36]