idnits 2.17.1 draft-sehgal-roll-rpl-mib-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 115 has weird spacing: '...ference rpl...' == Line 118 has weird spacing: '...eration rpl...' == Line 136 has weird spacing: '...eration rpl...' == Line 147 has weird spacing: '...ference rpl...' == Line 153 has weird spacing: '...rolSize rpl...' == (2 more instances...) == The document seems to use 'NOT RECOMMENDED' as an RFC 2119 keyword, but does not include the phrase in its RFC 2119 key words list. -- The document date (February 22, 2013) is 4073 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-02) exists of draft-lhotka-netmod-yang-json-00 Summary: 0 errors (**), 0 flaws (~~), 9 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force K. Korte 3 Internet-Draft J. Schoenwaelder 4 Intended status: Standards Track A. Sehgal 5 Expires: August 26, 2013 Jacobs University 6 T. Tsou 7 Huawei Technologies (USA) 8 C. Zhou 9 Huawei Technologies 10 February 22, 2013 12 Definition of Managed Objects for the IPv6 Routing Protocol for Low 13 Power and Lossy Networks (RPL) 14 draft-sehgal-roll-rpl-mib-06 16 Abstract 18 This memo defines a portion of the Management Information Base (MIB) 19 for use with network management protocols in the Internet community. 20 In particular, it defines objects for managing the IPv6 Routing 21 Protocol for Low Power and Lossy Networks (RPL). 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on August 26, 2013. 40 Copyright Notice 42 Copyright (c) 2013 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. The Internet-Standard Management Framework . . . . . . . . . . 3 59 3. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 60 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 61 5. Relationship to Other MIB Modules . . . . . . . . . . . . . . 5 62 6. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 63 7. Security Considerations . . . . . . . . . . . . . . . . . . . 29 64 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 65 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 31 66 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 31 67 10.1. Normative References . . . . . . . . . . . . . . . . . . 31 68 10.2. Informative References . . . . . . . . . . . . . . . . . 32 69 Appendix A. JSON Representation . . . . . . . . . . . . . . . . . 32 71 1. Introduction 73 This memo defines a portion of the Management Information Base (MIB) 74 for use with network management protocols. In particular it defines 75 objects for managing the IPv6 Routing Protocol for Low Power and 76 Lossy Networks (RPL) [RFC6550]. It also provides management access 77 to the Trickle [RFC6206] parameters as they are used by RPL. 79 2. The Internet-Standard Management Framework 81 For a detailed overview of the documents that describe the current 82 Internet-Standard Management Framework, please refer to section 7 of 83 RFC 3410 [RFC3410]. 85 Managed objects are accessed via a virtual information store, termed 86 the Management Information Base or MIB. MIB objects are generally 87 accessed through the Simple Network Management Protocol (SNMP). 88 Objects in the MIB are defined using the mechanisms defined in the 89 Structure of Management Information (SMI). This memo specifies a MIB 90 module that is compliant to the SMIv2, which is described in STD 58, 91 RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 92 [RFC2580]. 94 3. Conventions 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 98 document are to be interpreted as described in RFC 2119 [RFC2119]. 100 4. Overview 102 The MIB module is organized into a group of scalars and tables. 104 # RPL-MIB registration tree (generated by smidump 0.4.8) 106 -rplMib(1.3.6.1.2.1.XXXX) 107 +-rplNotifications(0) 108 +-rplObjects(1) 109 +-rplDefaults(1) 110 | +- rwn RplDISMode rplDefaultDISMode(1) 111 | +- rwn Unsigned32 rplDefaultDISMessages(2) 112 | +- rwn Unsigned32 rplDefaultDISTimeout(3) 113 | +- rwn RplDAODelay rplDefaultDAODelay(4) 114 | +- rwn TruthValue rplDefaultDAOAckEnabled(5) 115 | +- rwn RplDodagPreference rplDefaultPreference(6) 116 | +- rwn RplMinHopRankIncrease rplDefaultMinHopRankIncrease(7) 117 | +- rwn Unsigned32 rplDefaultMaxRankIncrease(8) 118 | +- rwn RplModeOfOperation rplDefaultModeOfOperation(9) 119 | +- rwn Unsigned32 rplDefaultIntervalDoublings(10) 120 | +- rwn Unsigned32 rplDefaultIntervalMin(11) 121 | +- rwn Unsigned32 rplDefaultRedundancyConstant(12) 122 +-rplActive(2) 123 | +- rwn RplInstanceID rplActiveInstance(1) 124 | +- rwn InetAddressIPv6 rplActiveDodag(2) 125 | +- rwn Unsigned32 rplActiveDodagTriggerSequence(3) 126 +-rplOCPTable(3) 127 | +-rplOCPEntry(1) [rplOCPCodepoint] 128 | +- --- RplObjectiveCodePoint rplOCPCodepoint(1) 129 | +- rwn TruthValue rplOCPEnabled(2) 130 +-rplInstanceTable(4) 131 | +-rplInstanceEntry(1) [rplInstanceID] 132 | +- --- RplInstanceID rplInstanceID(1) 133 | +- r-n RplDISMode rplInstanceDISMode(2) 134 | +- r-n Unsigned32 rplInstanceDISMessages(3) 135 | +- r-n Unsigned32 rplInstanceDISTimeout(4) 136 | +- r-n RplModeOfOperation rplInstanceModeOfOperation(5) 137 +-rplDodagTable(5) 138 | +-rplDodagEntry(1) [rplInstanceID,rplDodagIndex] 139 | +- --- Unsigned32 rplDodagIndex(1) 140 | +- --- InetAddressIPv6 rplDodagRoot(2) 141 | +- r-n RplDodagVersionNumber rplDodagVersion(3) 142 | +- r-n RplRank rplDodagRank(4) 143 | +- r-n Enumeration rplDodagState(5) 144 | +- r-n RplObjectiveCodePoint rplDodagOCP(6) 145 | +- r-n RplDAODelay rplDodagDAODelay(7) 146 | +- r-n TruthValue rplDodagDAOAckEnabled(8) 147 | +- r-n RplDodagPreference rplDodagPreference(9) 148 | +- r-n RplMinHopRankIncrease rplDodagMinHopRankIncrease(10) 149 | +- r-n Unsigned32 rplDodagMaxRankIncrease(11) 150 | +- r-n Unsigned32 rplDodagIntervalDoublings(12) 151 | +- r-n Unsigned32 rplDodagIntervalMin(13) 152 | +- r-n Unsigned32 rplDodagRedundancyConstant(14) 153 | +- r-n RplPathControlSize rplDodagPathControlSize(15) 154 +-rplDodagParentTable(6) 155 | +-rplDodagParentEntry(1) [rplInstanceID,rplDodagIndex, 156 | | rplDodagParentID] 157 | +- --- InetAddressIPv6 rplDodagParentID(1) 158 | +- r-n InterfaceIndex rplDodagParentIf(2) 159 +-rplDodagChildTable(7) 160 | +-rplDodagChildEntry(1) [rplInstanceID,rplDodagIndex, 161 | | rplDodagChildID] 162 | +- --- InetAddressIPv6 rplDodagChildID(1) 163 | +- r-n InterfaceIndex rplDodagChildIf(2) 164 +-rplStats(8) 165 | +- r-n Counter32 rplMemOverflows(1) 166 | +- r-n Counter32 rplParseErrors(2) 167 | +- r-n Counter32 rplUnknownMsgTypes(3) 168 | +- r-n Counter32 rplSecurityPolicyViolations(4) 169 | +- r-n Counter32 rplIntegrityCheckFailures(5) 170 | +- r-n Counter32 rplReplayProtectionFailures(6) 171 | +- r-n Counter32 rplValidParentFailures(7) 172 | +- r-n Counter32 rplNoInstanceIDs(8) 173 | +- r-n Counter32 rplTriggeredLocalRepairs(9) 174 | +- r-n Counter32 rplTriggeredGlobalRepairs(10) 175 | +- r-n Counter32 rplNoParentSecs(11) 176 | +- r-n Counter32 rplActiveNoParentSecs(12) 177 | +- r-n Counter32 rplOBitSetDownwards(13) 178 | +- r-n Counter32 rplOBitClearedUpwards(14) 179 | +- r-n Counter32 rplFBitSet(15) 180 | +- r-n Counter32 rplRBitSet(16) 181 | +- r-n Counter32 rplTrickleTimerResets(17) 182 +-rplMsgStatsTable(9) 183 +-rplMsgStatsEntry(1) [rplMsgStatsType] 184 +- --- RplMessageType rplMsgStatsType(1) 185 +- r-n Counter32 rplMsgStatsInMsgs(2) 186 +- r-n Counter32 rplMsgStatsOutMsgs(3) 188 5. Relationship to Other MIB Modules 190 The MIB module IMPORTS definitions from SNMPv2-SMI [RFC2578], 191 SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863] and the 192 INET-ADDRESS-MIB [RFC4001]. 194 The IPv6 routing table SHOULD be exposed via the inetCidrRouteTable 195 defined in the IP-FORWARD-MIB [RFC4292]. Since an RPL node can 196 participate in multiple RPL instances, the inetCidrRoutePolicy object 197 SHOULD carry the OID of the rplInstanceID instance, including the 198 value of rplInstanceID. 200 The prefixes used by DODAGs SHOULD be exported via the 201 ipAddressPrefixTable of the IP-MIB [RFC4293]. The value of 202 ipAddressPrefixOrigin should be routeradv(5). 204 6. Definitions 206 RPL-MIB DEFINITIONS ::= BEGIN 208 IMPORTS 209 MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, mib-2 210 FROM SNMPv2-SMI -- RFC 2578 211 TEXTUAL-CONVENTION, TruthValue 212 FROM SNMPv2-TC -- RFC 2579 213 OBJECT-GROUP, MODULE-COMPLIANCE 214 FROM SNMPv2-CONF -- RFC 2580 216 InterfaceIndex 217 FROM IF-MIB -- RFC 2863 218 InetAddressIPv6 219 FROM INET-ADDRESS-MIB; -- RFC 4001 221 rplMib MODULE-IDENTITY 222 LAST-UPDATED "201302200000Z" 223 ORGANIZATION 224 "Jacobs University Bremen" 225 CONTACT-INFO 226 "Kevin Dominik Korte 227 Jacobs University Bremen 228 Email: k.korte@jacobs-university.de 230 Anuj Sehgal 231 Jacobs University Bremen 232 Email: s.anuj@jacobs-university.de 234 Juergen Schoenwaelder 235 Jacobs University Bremen 236 Email: j.schoenwaelder@jacobs-university.de 238 Tina Tsou 239 Huawei Technologies 240 Email: tina.tsou.zouting@huawei.com 242 Cathy Zhou 243 Huawei Technologies 244 Email: cathyzhou@huawei.com" 245 DESCRIPTION 246 "The MIB module for monitoring nodes implementing the IPv6 247 routing protocol for low power and lossy networks (RPL). 249 Copyright (c) 2013 IETF Trust and the persons identified as 250 authors of the code. All rights reserved. 252 Redistribution and use in source and binary forms, with or 253 without modification, is permitted pursuant to, and subject 254 to the license terms contained in, the Simplified BSD 255 License set forth in Section 4.c of the IETF Trust's 256 Legal Provisions Relating to IETF Documents 257 (http://trustee.ietf.org/license-info)." 259 REVISION "201302200000Z" 260 DESCRIPTION 261 "Initial version, published as RFC XXXX." 262 -- RFC Ed.: replace XXXX with actual RFC number & remove this note 263 ::= { mib-2 XXXX } 265 RplMessageType ::= TEXTUAL-CONVENTION 266 DISPLAY-HINT "d" 267 STATUS current 268 DESCRIPTION 269 "The type of an RPL control message as defined in Section 270 6 of RFC 6550." 271 REFERENCE 272 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 273 SYNTAX Unsigned32 (0..255) 275 RplInstanceID ::= TEXTUAL-CONVENTION 276 DISPLAY-HINT "d" 277 STATUS current 278 DESCRIPTION 279 "A global or local RPLInstanceID as defined in Section 5.1 280 of RFC 6550." 281 REFERENCE 282 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 283 SYNTAX Unsigned32 (0..255) 285 RplDodagVersionNumber ::= TEXTUAL-CONVENTION 286 DISPLAY-HINT "d" 287 STATUS current 288 DESCRIPTION 289 "The version number of a DODAG as defined in Section 6.3 of 290 RFC 6550." 291 REFERENCE 292 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 293 SYNTAX Unsigned32 (0..255) 295 RplRank ::= TEXTUAL-CONVENTION 296 DISPLAY-HINT "d" 297 STATUS current 298 DESCRIPTION 299 "The rank of a node within a DODAG as defined in Section 6.3 300 of RFC 6550." 301 REFERENCE 302 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 303 SYNTAX Unsigned32 (0..65535) 305 RplObjectiveCodePoint ::= TEXTUAL-CONVENTION 306 DISPLAY-HINT "d" 307 STATUS current 308 DESCRIPTION 309 "The Objective Code Point of a DODAG as defined in 310 Section 6.7.6 of RFC 6550." 312 REFERENCE 313 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 314 SYNTAX Unsigned32 (0..65535) 316 RplDISMode ::= TEXTUAL-CONVENTION 317 STATUS current 318 DESCRIPTION 319 "Determines whether a DIS message is send upon boot-up 320 or not as defined in Section 18.2.1.1 of RFC 6550: 322 silent(1) do not send DIS messages 323 send(2) send DIS messages" 324 REFERENCE 325 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 326 SYNTAX INTEGER { 327 silent(1), 328 send(2) 329 } 331 RplModeOfOperation ::= TEXTUAL-CONVENTION 332 STATUS current 333 DESCRIPTION 334 "The mode of operation of an RPL instance as defined in 335 Section 6.3.1 of RFC 6550." 336 REFERENCE 337 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 338 SYNTAX INTEGER { 339 noDownwardRoutes(0), 340 nonStoringMode(1), 341 storingWithoutMulticastSupport(2), 342 storingWithMulticastSupport(3) 343 } 345 RplDAODelay ::= TEXTUAL-CONVENTION 346 DISPLAY-HINT "d" 347 STATUS current 348 DESCRIPTION 349 "The delay time used for aggregation before a DAO message 350 is send." 351 REFERENCE 352 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 353 SYNTAX Unsigned32 355 RplDodagPreference ::= TEXTUAL-CONVENTION 356 DISPLAY-HINT "d" 357 STATUS current 358 DESCRIPTION 359 "The preference of a DODAG compared to another DODAG of the 360 same instance as defined in Section 6.3 of RFC 6550." 361 REFERENCE 362 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 363 SYNTAX Unsigned32 (0..7) 365 RplMinHopRankIncrease ::= TEXTUAL-CONVENTION 366 DISPLAY-HINT "d" 367 STATUS current 368 DESCRIPTION 369 "The minimal increase of a rank within a single hop as 370 defined in Section 6.7.6 of RFC 6550." 371 REFERENCE 372 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 373 SYNTAX Unsigned32 (0..131071) 375 RplPathControlSize ::= TEXTUAL-CONVENTION 376 DISPLAY-HINT "d" 377 STATUS current 378 DESCRIPTION 379 "The Path Control Size within a DODAG as defined in 380 Section 6.7.6 of RFC 6550." 381 REFERENCE 382 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 383 SYNTAX Unsigned32 (0..7) 385 -- object definitions 387 rplNotifications OBJECT IDENTIFIER ::= { rplMib 0 } 388 rplObjects OBJECT IDENTIFIER ::= { rplMib 1 } 389 rplConformance OBJECT IDENTIFIER ::= { rplMib 2 } 391 rplDefaults OBJECT IDENTIFIER ::= { rplObjects 1 } 393 rplDefaultDISMode OBJECT-TYPE 394 SYNTAX RplDISMode 395 MAX-ACCESS read-write 396 STATUS current 397 DESCRIPTION 398 "Determines whether a DIS message is send upon boot-up. 399 Changes to this value may not persist across restarts." 400 ::= { rplDefaults 1 } 402 rplDefaultDISMessages OBJECT-TYPE 403 SYNTAX Unsigned32 (1..255) 404 MAX-ACCESS read-write 405 STATUS current 406 DESCRIPTION 407 "The number of DIS messages that are sent as an initial 408 probe for nearby DODAGs if the DIS mode is 'send'. The 409 value of this object is ignored if the DIS mode is 410 'silent'. Changes to this value may not persist across 411 restarts." 412 DEFVAL { 1 } 413 ::= { rplDefaults 2 } 415 rplDefaultDISTimeout OBJECT-TYPE 416 SYNTAX Unsigned32 (0..255) 417 UNITS "seconds" 418 MAX-ACCESS read-write 419 STATUS current 420 DESCRIPTION 421 "The number of seconds after which a node in DIS mode 'send' 422 in the absence of DIO messages may decide to root a 423 floating DODAG. Changes to this value may not persist 424 across restarts." 425 DEFVAL { 60 } 426 ::= { rplDefaults 3 } 428 rplDefaultDAODelay OBJECT-TYPE 429 SYNTAX RplDAODelay 430 UNITS "milliseconds" 431 MAX-ACCESS read-write 432 STATUS current 433 DESCRIPTION 434 "The default delay for aggregations before a DAO is send. 435 Changes to this value may not persist across restarts." 436 DEFVAL { 1000 } 437 ::= { rplDefaults 4 } 439 rplDefaultDAOAckEnabled OBJECT-TYPE 440 SYNTAX TruthValue 441 MAX-ACCESS read-write 442 STATUS current 443 DESCRIPTION 444 "Indicates whether DAO Acknowledgements are sent on this 445 RPL instance. Changes to this value may not persist 446 across restarts." 447 DEFVAL { false } 448 ::= { rplDefaults 5 } 450 rplDefaultPreference OBJECT-TYPE 451 SYNTAX RplDodagPreference 452 MAX-ACCESS read-write 453 STATUS current 454 DESCRIPTION 455 "The default preference of this DODAG compared to other 456 DODAGs within the same instance. Changes to this value 457 may not persist across restarts." 458 DEFVAL { 0 } 459 ::= { rplDefaults 6 } 461 rplDefaultMinHopRankIncrease OBJECT-TYPE 462 SYNTAX RplMinHopRankIncrease 463 MAX-ACCESS read-write 464 STATUS current 465 DESCRIPTION 466 "The default minimum increase of the rank in a single hop. 467 Changes to this value may not persist across restarts." 468 DEFVAL { 256 } 469 ::= { rplDefaults 7 } 471 rplDefaultMaxRankIncrease OBJECT-TYPE 472 SYNTAX Unsigned32 (0..65535) 473 MAX-ACCESS read-write 474 STATUS current 475 DESCRIPTION 476 "The default maximum allowable increase in rank in support 477 of local repair. If DAGMaxRankIncrease is 0 then this 478 mechanism is disabled. Changes to this value may not 479 persist across restarts." 480 DEFVAL { 65535 } 481 ::= { rplDefaults 8 } 483 rplDefaultModeOfOperation OBJECT-TYPE 484 SYNTAX RplModeOfOperation 485 MAX-ACCESS read-write 486 STATUS current 487 DESCRIPTION 488 "The mode of operation of the RPL instance. Changes to this 489 value may not persist across restarts." 490 DEFVAL { storingWithoutMulticastSupport } 491 ::= { rplDefaults 9 } 493 rplDefaultIntervalDoublings OBJECT-TYPE 494 SYNTAX Unsigned32 (0..255) 495 MAX-ACCESS read-write 496 STATUS current 497 DESCRIPTION 498 "The default Imax parameter of the DIO trickle timer. Changes 499 to this value may not persist across restarts." 500 REFERENCE 501 "RFC 6206: The Trickle Algorithm" 502 DEFVAL { 20 } 503 ::= { rplDefaults 10 } 505 rplDefaultIntervalMin OBJECT-TYPE 506 SYNTAX Unsigned32 (0..255) 507 MAX-ACCESS read-write 508 STATUS current 509 DESCRIPTION 510 "The default Imin parameter of the DIO trickle timer. Changes 511 to this value may not persist across restarts." 512 REFERENCE 513 "RFC 6206: The Trickle Algorithm" 514 DEFVAL { 3 } 515 ::= { rplDefaults 11 } 517 rplDefaultRedundancyConstant OBJECT-TYPE 518 SYNTAX Unsigned32 (0..255) 519 MAX-ACCESS read-write 520 STATUS current 521 DESCRIPTION 522 "The default k parameter of the DIO trickle timer. Changes to 523 this value may not persist across restarts." 524 REFERENCE 525 "RFC 6206: The Trickle Algorithm" 526 DEFVAL { 10 } 527 ::= { rplDefaults 12 } 529 rplActive OBJECT IDENTIFIER ::= { rplObjects 2 } 531 rplActiveInstance OBJECT-TYPE 532 SYNTAX RplInstanceID 533 MAX-ACCESS read-write 534 STATUS current 535 DESCRIPTION 536 "The currently active RPL Instance. Changes to this value 537 may not persist across restarts." 538 ::= { rplActive 1 } 540 rplActiveDodag OBJECT-TYPE 541 SYNTAX InetAddressIPv6 542 MAX-ACCESS read-write 543 STATUS current 544 DESCRIPTION 545 "The currently active RPL DODAG in the active RPL Instance. 546 Changes to this value may not persist across restarts." 547 ::= { rplActive 2 } 549 rplActiveDodagTriggerSequence OBJECT-TYPE 550 SYNTAX Unsigned32 (0..255) 551 MAX-ACCESS read-write 552 STATUS current 553 DESCRIPTION 554 "The DAO Trigger Sequence Number (DTSN) of the active 555 DODAG as defined in Section 6.3.1 of RFC 6550. Changes to 556 this value may not persist across restarts." 557 REFERENCE 558 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 559 ::= { rplActive 3 } 561 rplOCPTable OBJECT-TYPE 562 SYNTAX SEQUENCE OF RplOCPEntry 563 MAX-ACCESS not-accessible 564 STATUS current 565 DESCRIPTION 566 "The table of all supported Objective Code Points (OCPs)." 567 ::= { rplObjects 3 } 569 rplOCPEntry OBJECT-TYPE 570 SYNTAX RplOCPEntry 571 MAX-ACCESS not-accessible 572 STATUS current 573 DESCRIPTION 574 "An entry representing a supported Objective Code Point." 575 INDEX { rplOCPCodepoint } 576 ::= { rplOCPTable 1 } 578 RplOCPEntry ::= SEQUENCE { 579 rplOCPCodepoint RplObjectiveCodePoint, 580 rplOCPEnabled TruthValue 581 } 583 rplOCPCodepoint OBJECT-TYPE 584 SYNTAX RplObjectiveCodePoint 585 MAX-ACCESS not-accessible 586 STATUS current 587 DESCRIPTION 588 "A supported Objective Code Point." 589 ::= { rplOCPEntry 1 } 591 rplOCPEnabled OBJECT-TYPE 592 SYNTAX TruthValue 593 MAX-ACCESS read-write 594 STATUS current 595 DESCRIPTION 596 "Enables the usage of this Objective Code Point. Changes to 597 this value may not persist across restarts." 598 ::= { rplOCPEntry 2 } 600 rplInstanceTable OBJECT-TYPE 601 SYNTAX SEQUENCE OF RplInstanceEntry 602 MAX-ACCESS not-accessible 603 STATUS current 604 DESCRIPTION 605 "The table represents information about all known 606 RPL Instances." 607 ::= { rplObjects 4 } 609 rplInstanceEntry OBJECT-TYPE 610 SYNTAX RplInstanceEntry 611 MAX-ACCESS not-accessible 612 STATUS current 613 DESCRIPTION 614 "An entry representing information about a RPL Instance." 615 INDEX { rplInstanceID } 616 ::= { rplInstanceTable 1 } 618 RplInstanceEntry ::= SEQUENCE { 619 rplInstanceID RplInstanceID, 620 rplInstanceDISMode RplDISMode, 621 rplInstanceDISMessages Unsigned32, 622 rplInstanceDISTimeout Unsigned32, 623 rplInstanceModeOfOperation RplModeOfOperation 624 } 626 rplInstanceID OBJECT-TYPE 627 SYNTAX RplInstanceID 628 MAX-ACCESS not-accessible 629 STATUS current 630 DESCRIPTION 631 "The InstanceID of this RPL Instance." 632 ::= { rplInstanceEntry 1 } 634 rplInstanceDISMode OBJECT-TYPE 635 SYNTAX RplDISMode 636 MAX-ACCESS read-only 637 STATUS current 638 DESCRIPTION 639 "Reports whether a DIS message is send for this instance 640 upon boot-up." 641 ::= { rplInstanceEntry 2 } 643 rplInstanceDISMessages OBJECT-TYPE 644 SYNTAX Unsigned32 (1..255) 645 MAX-ACCESS read-only 646 STATUS current 647 DESCRIPTION 648 "The number of DIS messages that are sent as an initial 649 probe for nearby DODAGs if the DIS mode is 'send'." 650 ::= { rplInstanceEntry 3 } 652 rplInstanceDISTimeout OBJECT-TYPE 653 SYNTAX Unsigned32 (0..255) 654 UNITS "seconds" 655 MAX-ACCESS read-only 656 STATUS current 657 DESCRIPTION 658 "The number of seconds after which a node in DIS mode 'send' 659 in the absence of DIO messages may decide to root a 660 floating DODAG." 661 ::= { rplInstanceEntry 4 } 663 rplInstanceModeOfOperation OBJECT-TYPE 664 SYNTAX RplModeOfOperation 665 MAX-ACCESS read-only 666 STATUS current 667 DESCRIPTION 668 "The mode of operation of the RPL instance." 669 ::= { rplInstanceEntry 5 } 671 rplDodagTable OBJECT-TYPE 672 SYNTAX SEQUENCE OF RplDodagEntry 673 MAX-ACCESS not-accessible 674 STATUS current 675 DESCRIPTION 676 "The table represents information about all locally known 677 DODAGs." 678 ::= { rplObjects 5 } 680 rplDodagEntry OBJECT-TYPE 681 SYNTAX RplDodagEntry 682 MAX-ACCESS not-accessible 683 STATUS current 684 DESCRIPTION 685 "An entry representing information about a DODAG." 686 INDEX { rplInstanceID, rplDodagIndex } 687 ::= { rplDodagTable 1 } 689 RplDodagEntry ::= SEQUENCE { 690 rplDodagIndex Unsigned32, 691 rplDodagID InetAddressIPv6, 692 rplDodagVersion RplDodagVersionNumber, 693 rplDodagRank RplRank, 694 rplDodagState INTEGER, 695 rplDodagOCP RplObjectiveCodePoint, 696 rplDodagDAODelay RplDAODelay, 697 rplDodagDAOAckEnabled TruthValue, 698 rplDodagPreference RplDodagPreference, 699 rplDodagMinHopRankIncrease RplMinHopRankIncrease, 700 rplDodagMaxRankIncrease Unsigned32, 701 rplDodagIntervalDoublings Unsigned32, 702 rplDodagIntervalMin Unsigned32, 703 rplDodagRedundancyConstant Unsigned32, 704 rplDodagPathControlSize RplPathControlSize 705 } 707 rplDodagIndex OBJECT-TYPE 708 SYNTAX Unsigned32 (1..4294967295) 709 MAX-ACCESS not-accessible 710 STATUS current 711 DESCRIPTION 712 "The index identifying a DODAG within an RPL instance. This 713 index is used to keep the table indexes short. The RPL protocol 714 identifies a DODAG within an RPL instance by the DODAGID." 715 ::= { rplDodagEntry 1 } 717 rplDodagID OBJECT-TYPE 718 SYNTAX InetAddressIPv6 719 MAX-ACCESS read-only 720 STATUS current 721 DESCRIPTION 722 "The identifier of a DODAG root (DODAGID) of this RPL 723 instance. The root of the DODAG reports its own IPv6 724 address as the DODAG root. This is uniquely identifying 725 a DODAG within an RPL instance." 726 ::= { rplDodagEntry 2 } 728 rplDodagVersion OBJECT-TYPE 729 SYNTAX RplDodagVersionNumber 730 MAX-ACCESS read-only 731 STATUS current 732 DESCRIPTION 733 "The version of the DODAG in this RPL instance." 734 ::= { rplDodagEntry 3 } 736 rplDodagRank OBJECT-TYPE 737 SYNTAX RplRank 738 MAX-ACCESS read-only 739 STATUS current 740 DESCRIPTION 741 "The rank of the node within the DODAG." 742 ::= { rplDodagEntry 4 } 744 rplDodagState OBJECT-TYPE 745 SYNTAX INTEGER { 746 other(0), 747 grounded(1), 748 floating(2) 749 } 750 MAX-ACCESS read-only 751 STATUS current 752 DESCRIPTION 753 "The status of the DODAG: 755 other(0) An unknown state. 757 grounded(1) The DODAG is grounded. 759 floating(2) The DODAG is floating (not grounded)." 760 ::= { rplDodagEntry 5 } 762 rplDodagOCP OBJECT-TYPE 763 SYNTAX RplObjectiveCodePoint 764 MAX-ACCESS read-only 765 STATUS current 766 DESCRIPTION 767 "The Objective Code Point of this DODAG." 768 ::= { rplDodagEntry 6 } 770 rplDodagDAODelay OBJECT-TYPE 771 SYNTAX RplDAODelay 772 UNITS "milliseconds" 773 MAX-ACCESS read-only 774 STATUS current 775 DESCRIPTION 776 "The delay for aggregations before a DAO is send." 777 ::= { rplDodagEntry 7 } 779 rplDodagDAOAckEnabled OBJECT-TYPE 780 SYNTAX TruthValue 781 MAX-ACCESS read-only 782 STATUS current 783 DESCRIPTION 784 "Indicates whether DAO Acknowledgements are sent on this 785 DODAG." 786 ::= { rplDodagEntry 8 } 788 rplDodagPreference OBJECT-TYPE 789 SYNTAX RplDodagPreference 790 MAX-ACCESS read-only 791 STATUS current 792 DESCRIPTION 793 "How preferred this DODAG is compared to other DODAGs 794 within the same instance." 795 ::= { rplDodagEntry 9 } 797 rplDodagMinHopRankIncrease OBJECT-TYPE 798 SYNTAX RplMinHopRankIncrease 799 MAX-ACCESS read-only 800 STATUS current 801 DESCRIPTION 802 "The minimum increase of the rank in a single hop." 803 ::= { rplDodagEntry 10 } 805 rplDodagMaxRankIncrease OBJECT-TYPE 806 SYNTAX Unsigned32 (0..65535) 807 MAX-ACCESS read-only 808 STATUS current 809 DESCRIPTION 810 "The maximum allowable increase in rank in support of local 811 repair. If DAGMaxRankIncrease is 0 then this mechanism is 812 disabled." 813 ::= { rplDodagEntry 11 } 815 rplDodagIntervalDoublings OBJECT-TYPE 816 SYNTAX Unsigned32 (0..255) 817 MAX-ACCESS read-only 818 STATUS current 819 DESCRIPTION 820 "The Imax parameter of the DIO trickle timer." 821 REFERENCE 822 "RFC 6206: The Trickle Algorithm" 823 ::= { rplDodagEntry 12 } 825 rplDodagIntervalMin OBJECT-TYPE 826 SYNTAX Unsigned32 (0..255) 827 MAX-ACCESS read-only 828 STATUS current 829 DESCRIPTION 830 "The Imin parameter of the DIO trickle timer." 831 REFERENCE 832 "RFC 6206: The Trickle Algorithm" 833 ::= { rplDodagEntry 13 } 835 rplDodagRedundancyConstant OBJECT-TYPE 836 SYNTAX Unsigned32 (0..255) 837 MAX-ACCESS read-only 838 STATUS current 839 DESCRIPTION 840 "The k parameter of the DIO trickle timer." 842 REFERENCE 843 "RFC 6206: The Trickle Algorithm" 844 ::= { rplDodagEntry 14 } 846 rplDodagPathControlSize OBJECT-TYPE 847 SYNTAX RplPathControlSize 848 MAX-ACCESS read-only 849 STATUS current 850 DESCRIPTION 851 "The Path Control Size of this DODAG." 852 ::= { rplDodagEntry 15 } 854 rplDodagParentTable OBJECT-TYPE 855 SYNTAX SEQUENCE OF RplDodagParentEntry 856 MAX-ACCESS not-accessible 857 STATUS current 858 DESCRIPTION 859 "The list of parents of a DODAG." 860 ::= { rplObjects 6 } 862 rplDodagParentEntry OBJECT-TYPE 863 SYNTAX RplDodagParentEntry 864 MAX-ACCESS not-accessible 865 STATUS current 866 DESCRIPTION 867 "Information about a known DODAG parent." 868 INDEX { rplInstanceID, rplDodagIndex, rplDodagParentID } 869 ::= { rplDodagParentTable 1 } 871 RplDodagParentEntry ::= SEQUENCE { 872 rplDodagParentID InetAddressIPv6, 873 rplDodagParentIf InterfaceIndex 874 } 876 rplDodagParentID OBJECT-TYPE 877 SYNTAX InetAddressIPv6 878 MAX-ACCESS not-accessible 879 STATUS current 880 DESCRIPTION 881 "The address of a parent associated with this DODAG." 882 ::= { rplDodagParentEntry 1 } 884 rplDodagParentIf OBJECT-TYPE 885 SYNTAX InterfaceIndex 886 MAX-ACCESS read-only 887 STATUS current 888 DESCRIPTION 889 "The interface over which the parent can be reached." 891 ::= { rplDodagParentEntry 2 } 893 rplDodagChildTable OBJECT-TYPE 894 SYNTAX SEQUENCE OF RplDodagChildEntry 895 MAX-ACCESS not-accessible 896 STATUS current 897 DESCRIPTION 898 "The list of children of a DODAG." 899 ::= { rplObjects 7 } 901 rplDodagChildEntry OBJECT-TYPE 902 SYNTAX RplDodagChildEntry 903 MAX-ACCESS not-accessible 904 STATUS current 905 DESCRIPTION 906 "Information about a known DODAG child." 907 INDEX { rplInstanceID, rplDodagIndex, rplDodagChildID } 908 ::= { rplDodagChildTable 1 } 910 RplDodagChildEntry ::= SEQUENCE { 911 rplDodagChildID InetAddressIPv6, 912 rplDodagChildIf InterfaceIndex 913 } 915 rplDodagChildID OBJECT-TYPE 916 SYNTAX InetAddressIPv6 917 MAX-ACCESS not-accessible 918 STATUS current 919 DESCRIPTION 920 "The address of an RPL child associated with this DODAG." 921 ::= { rplDodagChildEntry 1 } 923 rplDodagChildIf OBJECT-TYPE 924 SYNTAX InterfaceIndex 925 MAX-ACCESS read-only 926 STATUS current 927 DESCRIPTION 928 "The interface over which the child can be reached." 929 ::= { rplDodagChildEntry 2 } 931 rplStats OBJECT IDENTIFIER ::= { rplObjects 8 } 933 rplMemOverflows OBJECT-TYPE 934 SYNTAX Counter32 935 MAX-ACCESS read-only 936 STATUS current 937 DESCRIPTION 938 "The number of memory allocation failures (e.g., routing table 939 overflows)." 940 ::= { rplStats 1 } 942 rplParseErrors OBJECT-TYPE 943 SYNTAX Counter32 944 MAX-ACCESS read-only 945 STATUS current 946 DESCRIPTION 947 "The number of received malformed messages." 948 ::= { rplStats 2 } 950 rplUnknownMsgTypes OBJECT-TYPE 951 SYNTAX Counter32 952 MAX-ACCESS read-only 953 STATUS current 954 DESCRIPTION 955 "The number of received RPL messages that we dropped because 956 the message type is not recognized by the implementation." 957 ::= { rplStats 3 } 959 rplSecurityPolicyViolations OBJECT-TYPE 960 SYNTAX Counter32 961 MAX-ACCESS read-only 962 STATUS current 963 DESCRIPTION 964 "The number of messages discarded because the described level 965 of security for the message type and originator is unknown or 966 does not meet locally maintained security policies as defined 967 in Section 10.7 of RFC 6550." 968 REFERENCE 969 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 970 ::= { rplStats 4 } 972 rplIntegrityCheckFailures OBJECT-TYPE 973 SYNTAX Counter32 974 MAX-ACCESS read-only 975 STATUS current 976 DESCRIPTION 977 "The number of messages discarded because the integrity 978 check failed against the received message authentication 979 code (MAC) as defined in Section 10.7 of RFC 6550." 980 REFERENCE 981 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 982 ::= { rplStats 5 } 984 rplReplayProtectionFailures OBJECT-TYPE 985 SYNTAX Counter32 986 MAX-ACCESS read-only 987 STATUS current 988 DESCRIPTION 989 "The number of messages discarded because the received 990 message Counter value is non-zero and less than the 991 maintained incoming Counter watermark or because the 992 received Timestamp Counter value indicates a message 993 transmission time that is earlier than the Current time 994 less the acceptable packet delay as defined in Section 995 10.7 of RFC 6550. This counter is also incremented if the 996 temporal consistency check of the message fails as defined 997 in Section 10.7.1." 998 REFERENCE 999 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 1000 ::= { rplStats 6 } 1002 rplValidParentFailures OBJECT-TYPE 1003 SYNTAX Counter32 1004 MAX-ACCESS read-only 1005 STATUS current 1006 DESCRIPTION 1007 "The number of times a packet could not be sent to a DODAG 1008 parent flagged as valid." 1009 ::= { rplStats 7 } 1011 rplNoInstanceIDs OBJECT-TYPE 1012 SYNTAX Counter32 1013 MAX-ACCESS read-only 1014 STATUS current 1015 DESCRIPTION 1016 "The number of times a packet could not be sent because of 1017 a missing RPLInstanceID." 1018 ::= { rplStats 8 } 1020 rplTriggeredLocalRepairs OBJECT-TYPE 1021 SYNTAX Counter32 1022 MAX-ACCESS read-only 1023 STATUS current 1024 DESCRIPTION 1025 "The number of times a local repair procedure was triggered." 1026 ::= { rplStats 9 } 1028 rplTriggeredGlobalRepairs OBJECT-TYPE 1029 SYNTAX Counter32 1030 MAX-ACCESS read-only 1031 STATUS current 1032 DESCRIPTION 1033 "The number of times a global repair procedure was triggered." 1034 ::= { rplStats 10 } 1036 rplNoParentSecs OBJECT-TYPE 1037 SYNTAX Counter32 1038 MAX-ACCESS read-only 1039 STATUS current 1040 DESCRIPTION 1041 "The number of seconds without a next hop (DODAG parent)." 1042 ::= { rplStats 11 } 1044 rplActiveNoParentSecs OBJECT-TYPE 1045 SYNTAX Counter32 1046 MAX-ACCESS read-only 1047 STATUS current 1048 DESCRIPTION 1049 "The number of seconds with packets to forward without a 1050 next hop (DODAG parent)." 1051 ::= { rplStats 12 } 1053 rplOBitSetDownwards OBJECT-TYPE 1054 SYNTAX Counter32 1055 MAX-ACCESS read-only 1056 STATUS current 1057 DESCRIPTION 1058 "Number of packets received with the 'O' bit set from 1059 a node with a higher rank as defined in Section 18.3.2 1060 of RFC 6550." 1061 REFERENCE 1062 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 1063 ::= { rplStats 13 } 1065 rplOBitClearedUpwards OBJECT-TYPE 1066 SYNTAX Counter32 1067 MAX-ACCESS read-only 1068 STATUS current 1069 DESCRIPTION 1070 "Number of packets received with the 'O' bit cleared 1071 from a node with a lower rank as defined in Section 18.3.2 1072 of RFC 6550." 1073 REFERENCE 1074 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 1075 ::= { rplStats 14 } 1077 rplFBitSet OBJECT-TYPE 1078 SYNTAX Counter32 1079 MAX-ACCESS read-only 1080 STATUS current 1081 DESCRIPTION 1082 "Number of packets received with the 'F' bit set as 1083 defined in Section 18.3.2 of RFC 6550." 1085 REFERENCE 1086 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 1087 ::= { rplStats 15 } 1089 rplRBitSet OBJECT-TYPE 1090 SYNTAX Counter32 1091 MAX-ACCESS read-only 1092 STATUS current 1093 DESCRIPTION 1094 "Number of packets received with the 'R' bit set as 1095 defined in Section 18.3.2 of RFC 6550." 1096 REFERENCE 1097 "RFC 6550: RPL: IPv6 Routing Protocol for LLNs" 1098 ::= { rplStats 16 } 1100 rplTrickleTimerResets OBJECT-TYPE 1101 SYNTAX Counter32 1102 MAX-ACCESS read-only 1103 STATUS current 1104 DESCRIPTION 1105 "The number of trickle timer resets." 1106 ::= { rplStats 17 } 1108 rplMsgStatsTable OBJECT-TYPE 1109 SYNTAX SEQUENCE OF RplMsgStatsEntry 1110 MAX-ACCESS not-accessible 1111 STATUS current 1112 DESCRIPTION 1113 "Basic RPL message statistics by message type." 1114 ::= { rplObjects 9 } 1116 rplMsgStatsEntry OBJECT-TYPE 1117 SYNTAX RplMsgStatsEntry 1118 MAX-ACCESS not-accessible 1119 STATUS current 1120 DESCRIPTION 1121 "Statistics for a specific RPL message type." 1122 INDEX { rplMsgStatsType } 1123 ::= { rplMsgStatsTable 1 } 1125 RplMsgStatsEntry ::= SEQUENCE { 1126 rplMsgStatsType RplMessageType, 1127 rplMsgStatsInMsgs Counter32, 1128 rplMsgStatsOutMsgs Counter32 1129 } 1131 rplMsgStatsType OBJECT-TYPE 1132 SYNTAX RplMessageType 1133 MAX-ACCESS not-accessible 1134 STATUS current 1135 DESCRIPTION 1136 "The RPL message type being counted by this row." 1137 ::= { rplMsgStatsEntry 1 } 1139 rplMsgStatsInMsgs OBJECT-TYPE 1140 SYNTAX Counter32 1141 MAX-ACCESS read-only 1142 STATUS current 1143 DESCRIPTION 1144 "The number of RPL messages received of this type." 1145 ::= { rplMsgStatsEntry 2 } 1147 rplMsgStatsOutMsgs OBJECT-TYPE 1148 SYNTAX Counter32 1149 MAX-ACCESS read-only 1150 STATUS current 1151 DESCRIPTION 1152 "The number of RPL messages sent of this type." 1153 ::= { rplMsgStatsEntry 3 } 1155 -- conformance definitions 1157 rplGroups OBJECT IDENTIFIER ::= { rplConformance 1 } 1158 rplCompliances OBJECT IDENTIFIER ::= { rplConformance 2 } 1160 rplFullCompliance MODULE-COMPLIANCE 1161 STATUS current 1162 DESCRIPTION 1163 "Compliance statement for implementations supporting 1164 read/write access, according to the object definitions." 1165 MODULE -- this module 1166 MANDATORY-GROUPS { 1167 rplGeneralGroup, 1168 rplInstanceGroup, 1169 rplStatsGroup 1170 } 1171 ::= { rplCompliances 1 } 1173 rplReadOnlyCompliance MODULE-COMPLIANCE 1174 STATUS current 1175 DESCRIPTION 1176 "Compliance statement for implementations supporting 1177 only readonly access." 1178 MODULE -- this module 1179 MANDATORY-GROUPS { 1180 rplGeneralGroup, 1181 rplInstanceGroup, 1182 rplStatsGroup 1183 } 1185 OBJECT rplDefaultDISMode 1186 MIN-ACCESS read-only 1187 DESCRIPTION 1188 "Write access is not required." 1190 OBJECT rplDefaultDISMessages 1191 MIN-ACCESS read-only 1192 DESCRIPTION 1193 "Write access is not required." 1195 OBJECT rplDefaultDISTimeout 1196 MIN-ACCESS read-only 1197 DESCRIPTION 1198 "Write access is not required." 1200 OBJECT rplDefaultDAODelay 1201 MIN-ACCESS read-only 1202 DESCRIPTION 1203 "Write access is not required." 1205 OBJECT rplDefaultDAOAckEnabled 1206 MIN-ACCESS read-only 1207 DESCRIPTION 1208 "Write access is not required." 1210 OBJECT rplDefaultPreference 1211 MIN-ACCESS read-only 1212 DESCRIPTION 1213 "Write access is not required." 1215 OBJECT rplDefaultMinHopRankIncrease 1216 MIN-ACCESS read-only 1217 DESCRIPTION 1218 "Write access is not required." 1220 OBJECT rplDefaultMaxRankIncrease 1221 MIN-ACCESS read-only 1222 DESCRIPTION 1223 "Write access is not required." 1225 OBJECT rplDefaultModeOfOperation 1226 MIN-ACCESS read-only 1227 DESCRIPTION 1228 "Write access is not required." 1230 OBJECT rplDefaultIntervalDoublings 1231 MIN-ACCESS read-only 1232 DESCRIPTION 1233 "Write access is not required." 1235 OBJECT rplDefaultIntervalMin 1236 MIN-ACCESS read-only 1237 DESCRIPTION 1238 "Write access is not required." 1240 OBJECT rplDefaultRedundancyConstant 1241 MIN-ACCESS read-only 1242 DESCRIPTION 1243 "Write access is not required." 1245 OBJECT rplActiveInstance 1246 MIN-ACCESS read-only 1247 DESCRIPTION 1248 "Write access is not required." 1250 OBJECT rplActiveDodag 1251 MIN-ACCESS read-only 1252 DESCRIPTION 1253 "Write access is not required." 1255 OBJECT rplActiveDodagTriggerSequence 1256 MIN-ACCESS read-only 1257 DESCRIPTION 1258 "Write access is not required." 1260 OBJECT rplOCPEnabled 1261 MIN-ACCESS read-only 1262 DESCRIPTION 1263 "Write access is not required." 1265 ::= { rplCompliances 2 } 1267 rplGeneralGroup OBJECT-GROUP 1268 OBJECTS { 1269 rplDefaultDISMode, 1270 rplDefaultDISMessages, 1271 rplDefaultDISTimeout, 1272 rplDefaultDAODelay, 1273 rplDefaultDAOAckEnabled, 1274 rplDefaultPreference, 1275 rplDefaultMinHopRankIncrease, 1276 rplDefaultMaxRankIncrease, 1277 rplDefaultModeOfOperation, 1278 rplDefaultIntervalDoublings, 1279 rplDefaultIntervalMin, 1280 rplDefaultRedundancyConstant, 1281 rplActiveInstance, 1282 rplActiveDodag, 1283 rplActiveDodagTriggerSequence, 1284 -- rplOCPCodepoint, 1285 rplOCPEnabled 1286 } 1287 STATUS current 1288 DESCRIPTION 1289 "A collection of objects providing general information about 1290 the RPL implementation." 1291 ::= { rplGroups 1 } 1293 rplInstanceGroup OBJECT-GROUP 1294 OBJECTS { 1295 -- rplInstanceID, 1296 rplInstanceDISMode, 1297 rplInstanceDISMessages, 1298 rplInstanceDISTimeout, 1299 rplInstanceModeOfOperation, 1300 -- rplDodagIndex, 1301 rplDodagID, 1302 rplDodagVersion, 1303 rplDodagRank, 1304 rplDodagState, 1305 rplDodagOCP, 1306 rplDodagDAODelay, 1307 rplDodagDAOAckEnabled, 1308 rplDodagPreference, 1309 rplDodagMinHopRankIncrease, 1310 rplDodagMaxRankIncrease, 1311 rplDodagIntervalDoublings, 1312 rplDodagIntervalMin, 1313 rplDodagRedundancyConstant, 1314 rplDodagPathControlSize, 1315 -- rplDodagParentID, 1316 rplDodagParentIf, 1317 -- rplDodagChildID, 1318 rplDodagChildIf 1319 } 1320 STATUS current 1321 DESCRIPTION 1322 "A collection of objects providing insight into RPL 1323 Instances and RPL DODAGs." 1324 ::= { rplGroups 2 } 1326 rplStatsGroup OBJECT-GROUP 1327 OBJECTS { 1328 rplMemOverflows, 1329 rplParseErrors, 1330 rplUnknownMsgTypes, 1331 rplSecurityPolicyViolations, 1332 rplIntegrityCheckFailures, 1333 rplReplayProtectionFailures, 1334 rplValidParentFailures, 1335 rplNoInstanceIDs, 1336 rplTriggeredLocalRepairs, 1337 rplTriggeredGlobalRepairs, 1338 rplNoParentSecs, 1339 rplActiveNoParentSecs, 1340 rplOBitSetDownwards, 1341 rplOBitClearedUpwards, 1342 rplFBitSet, 1343 rplRBitSet, 1344 rplTrickleTimerResets, 1345 -- rplMsgStatsType, 1346 rplMsgStatsInMsgs, 1347 rplMsgStatsOutMsgs 1348 } 1349 STATUS current 1350 DESCRIPTION 1351 "A collection of objects providing statistics about the 1352 RPL implementation." 1353 ::= { rplGroups 3 } 1355 END 1357 7. Security Considerations 1359 There are a number of management objects defined in this MIB module 1360 with a MAX-ACCESS clause of read-write and/or read-create. Such 1361 objects may be considered sensitive or vulnerable in some network 1362 environments. The support for SET operations in a non-secure 1363 environment without proper protection can have a negative effect on 1364 network operations. These are the tables and objects and their 1365 sensitivity/vulnerability: 1367 o The objects below rplDefaults control the operation of RPL. 1368 Unauthorized access to these objects can either make RPL 1369 inefficient or even fail to converge. 1371 o The objects below rplActive select the currently active RPL DODAG 1372 in the currently active RPL Instance. Unauthorized changes may 1373 prevent communication or cause loss of efficiency. 1375 o The rplOCPTable controls which objective functions can be used by 1376 an RPL implementation. Unauthorized access may prevent certain 1377 RPL instances to be established or less it may cause less 1378 efficient RPL instances to be used. 1380 Some of the readable objects in this MIB module (i.e., objects with a 1381 MAX-ACCESS other than not-accessible) may be considered sensitive or 1382 vulnerable in some network environments. It is thus important to 1383 control even GET and/or NOTIFY access to these objects and possibly 1384 to even encrypt the values of these objects when sending them over 1385 the network via SNMP. These tables and objects provide detailed 1386 information about the structure and operation of RPL instances and 1387 the topology of the DODAGs. This information may be exploited to 1388 target attacks or to gain insights about the structure of a certain 1389 deployment. 1391 The counters of the RPL-MIB are provided primarily to assist in 1392 troubleshooting problems in RPL deployments. The counters, however, 1393 may also be used to gain insights into certain active attacks on RPL 1394 itself. 1396 SNMP versions prior to SNMPv3 did not include adequate security. 1397 Even if the network itself is secure (for example by using IPsec), 1398 even then, there is no control as to who on the secure network is 1399 allowed to access and GET/SET (read/change/create/delete) the objects 1400 in this MIB module. 1402 It is RECOMMENDED that implementers consider the security features as 1403 provided by the SNMPv3 framework (see [RFC3410], section 8), 1404 including full support for the SNMPv3 cryptographic mechanisms (for 1405 authentication and privacy). 1407 Further, deployment of SNMP versions prior to SNMPv3 is NOT 1408 RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to 1409 enable cryptographic security. It is then a customer/operator 1410 responsibility to ensure that the SNMP entity giving access to an 1411 instance of this MIB module is properly configured to give access to 1412 the objects only to those principals (users) that have legitimate 1413 rights to indeed GET or SET (change/create/delete) them. 1415 8. IANA Considerations 1417 IANA is requested to assign a value for "XXXX" under the 'mib-2' 1418 subtree and to record the assignment in the SMI Numbers registry. 1419 When the assignment has been made, the RFC Editor is asked to replace 1420 "XXXX" (here and in the MIB module) with the assigned value and to 1421 remove this note. 1423 IANA has allocated a number for RPL in the IANAipRouteProtocol 1424 textual convention of the IANA-RTPROTO-MIB. 1426 9. Acknowledgements 1428 The authors like to thank Michael Richardson for providing helpful 1429 comments during the development of this specification. 1431 Juergen Schoenwaelder and Anuj Sehgal were partly funded by Flamingo, 1432 a Network of Excellence project (ICT-318488) supported by the 1433 European Commission under its Seventh Framework Programme. 1435 10. References 1437 10.1. Normative References 1439 [RFC2119] Bradner, S., "Key words for use in 1440 RFCs to Indicate Requirement Levels", 1441 BCP 14, RFC 2119, March 1997. 1443 [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., 1444 and J. Schoenwaelder, Ed., "Structure 1445 of Management Information Version 2 1446 (SMIv2)", STD 58, RFC 2578, 1447 April 1999. 1449 [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., 1450 and J. Schoenwaelder, Ed., "Textual 1451 Conventions for SMIv2", STD 58, 1452 RFC 2579, April 1999. 1454 [RFC2580] McCloghrie, K., Perkins, D., and J. 1455 Schoenwaelder, "Conformance Statements 1456 for SMIv2", STD 58, RFC 2580, 1457 April 1999. 1459 [RFC2863] McCloghrie, K. and F. Kastenholz, "The 1460 Interfaces Group MIB", RFC 2863, 1461 June 2000. 1463 [RFC4001] Daniele, M., Haberman, B., Routhier, 1464 S., and J. Schoenwaelder, "Textual 1465 Conventions for Internet Network 1466 Addresses", RFC 4001, February 2005. 1468 [RFC4292] Haberman, B., "IP Forwarding Table 1469 MIB", RFC 4292, April 2006. 1471 [RFC4293] Routhier, S., "Management Information 1472 Base for the Internet Protocol (IP)", 1473 RFC 4293, April 2006. 1475 [RFC6206] Levis, P., Clausen, T., Hui, J., 1476 Gnawali, O., and J. Ko, "The Trickle 1477 Algorithm", RFC 6206, March 2011. 1479 [RFC6550] Winter, T., Thubert, P., Brandt, A., 1480 Hui, J., Kelsey, R., Levis, P., 1481 Pister, K., Struik, R., Vasseur, JP., 1482 and R. Alexander, "RPL: IPv6 Routing 1483 Protocol for Low-Power and Lossy 1484 Networks", RFC 6550, March 2012. 1486 10.2. Informative References 1488 [RFC3410] Case, J., Mundy, R., Partain, D., and 1489 B. Stewart, "Introduction and 1490 Applicability Statements for Internet- 1491 Standard Management Framework", 1492 RFC 3410, December 2002. 1494 [RFC6643] Schoenwaelder, J., "Translation of 1495 Structure of Management Information 1496 Version 2 (SMIv2) MIB Modules to YANG 1497 Modules", RFC 6643, July 2012. 1499 [I-D.lhotka-netmod-yang-json] Lhotka, L., "Modeling JSON Text with 1500 YANG", 1501 draft-lhotka-netmod-yang-json-00 (work 1502 in progress), October 2012. 1504 Appendix A. JSON Representation 1506 Using the translation algorithm defined in [RFC6643], the SMIv2 1507 module can be translated to YANG. Using the JSON representation of 1508 data modeled in YANG defined in [I-D.lhotka-netmod-yang-json], the 1509 objects defined in the MIB module can be represented in JSON as shown 1510 below. The compact representation without any white space uses XXXX 1511 octets. (Of course, this number depends on the number of octets 1512 needed for the counter values.) 1514 { 1515 "RPL-MIB:RPL-MIB": { 1516 "rplGeneral": { 1517 "rplDefaultDISMode": "silent", 1518 "rplDefaultDISMessages": 1, 1519 "rplDefaultDISTimeout": 60, 1520 "rplDefaultDAODelay": 1000, 1521 "rplDefaultDAOAckEnabled": false, 1522 "rplDefaultPreference": 0, 1523 "rplDefaultMinHopRankIncrease": 256, 1524 "rplDefaultMaxRankIncrease": 65535, 1525 "rplDefaultModeOfOperation": 1526 "storingWithoutMulticastSupport", 1527 "rplDefaultIntervalDoublings": 20, 1528 "rplDefaultIntervalMin": 3, 1529 "rplDefaultRedundancyConstant": 10 1530 }, 1531 "rplActive": { 1532 "rplActiveInstance": 0, 1533 "rplActiveDodag": "2001:db8:bad:cafe::1", 1534 "rplActiveDodagTriggerSequence": 4 1535 }, 1536 "rplStats": { 1537 "rplMemOverflows": 0, 1538 "rplParseErrors": 0, 1539 "rplUnknownMsgTypes": 1, 1540 "rplSecurityPolicyViolations": 0, 1541 "rplIntegrityCheckFailures": 0, 1542 "rplReplayProtectionFailures": 0, 1543 "rplValidParentFailures": 1, 1544 "rplNoInstanceIDs": 0, 1545 "rplTriggeredLocalRepairs": 3, 1546 "rplTriggeredGlobalRepairs": 0, 1547 "rplNoParentSecs": 15, 1548 "rplActiveNoParentSecs": 0, 1549 "rplOBitSetDownwards": 0, 1550 "rplOBitClearedUpwards": 0, 1551 "rplFBitSet": 0, 1552 "rplRBitSet": 0, 1553 "rplTrickleTimerResets": 42 1554 }, 1555 "rplOCPTable": { 1556 "rplOCPEntry": [ 1557 { 1558 "rplOCPCodepoint": 0, 1559 "rplOCPEnabled": true 1560 } 1561 ] 1562 }, 1563 "rplInstanceTable": { 1564 "rplInstanceEntry": [ 1565 { 1566 "rplInstanceID": 0, 1567 "rplInstanceDISMode": "send", 1568 "rplInstanceDISMessages": 1, 1569 "rplInstanceDISTimeout": 60, 1570 "rplInstanceModeOfOperation": 1571 "storingWithoutMulticastSupport" 1572 } 1573 ] 1574 }, 1575 "rplDodagTable": { 1576 "rplDodagEntry": [ 1577 { 1578 "rplInstanceID": 0, 1579 "rplDodagIndex": 1, 1580 "rplDodagID": "2001:db8:bad:cafe::1", 1581 "rplDodagVersion": 3, 1582 "rplDodagRank": 2, 1583 "rplDodagState": "grounded", 1584 "rplDodagOCP": 0, 1585 "rplDodagDAODelay": 1000, 1586 "rplDodagDAOAckEnabled": false, 1587 "rplDodagPreference": 0, 1588 "rplDodagMinHopRankIncrease": 256, 1589 "rplDodagMaxRankIncrease": 0, 1590 "rplDodagIntervalDoublings": 20, 1591 "rplDodagIntervalMin": 3, 1592 "rplDodagRedundancyConstant": 10, 1593 "rplDodagPathControlSize": 0 1594 } 1595 ] 1596 }, 1597 "rplDodagParentTable": { 1598 "rplDodagParentEntry": [ 1599 { 1600 "rplRPLInstanceID": 0, 1601 "rplDodagIndex": 1, 1602 "rplDodagParentID": "2001:db8:bad:cafe::8", 1603 "rplDodagParentIf": 1 1604 } 1605 ] 1606 }, 1607 "rplDodagChildTable": { 1608 "rplDodagChildEntry": [ 1609 { 1610 "rplRPLInstanceID": 0, 1611 "rplDodagIndex": 1, 1612 "rplDodagChildID": "2001:db8:bad:cafe::a" 1613 "rplDodagChildIf": 1 1614 }, 1615 { 1616 "rplRPLInstanceID": 0, 1617 "rplDodagIndex": 1, 1618 "rplDodagChildID": "2001:db8:bad:cafe::b" 1619 "rplDodagChildIf": 2 1620 } 1621 ] 1622 }, 1623 "rplMsgStatsTable": { 1624 "rplMsgStatsEntry": [ 1625 { 1626 "rplMsgStatsType": 0, 1627 "rplMsgStatsInMsgs": 78, 1628 "rplMsgStatsOutMsgs": 23 1629 }, 1630 { 1631 "rplMsgStatsType": 1, 1632 "rplMsgStatsInMsgs": 11, 1633 "rplMsgStatsOutMsgs": 54 1634 }, 1635 { 1636 "rplMsgStatsType": 2, 1637 "rplMsgStatsInMsgs": 87, 1638 "rplMsgStatsOutMsgs": 28 1639 }, 1640 { 1641 "rplMsgStatsType": 4, 1642 "rplMsgStatsInMsgs": 47, 1643 "rplMsgStatsOutMsgs": 38 1644 } 1645 ] 1646 } 1647 } 1648 } 1650 Authors' Addresses 1652 Kevin Korte 1653 Jacobs University 1654 Campus Ring 1 1655 Bremen 28759 1656 Germany 1658 EMail: k.korte@jacobs-university.de 1659 Juergen Schoenwaelder 1660 Jacobs University 1661 Campus Ring 1 1662 Bremen 28759 1663 Germany 1665 EMail: j.schoenwaelder@jacobs-university.de 1667 Anuj Sehgal 1668 Jacobs University 1669 Campus Ring 1 1670 Bremen 28759 1671 Germany 1673 EMail: s.anuj@jacobs-university.de 1675 Tina Tsou 1676 Huawei Technologies (USA) 1677 2330 Central Expressway 1678 Santa Clara CA 95050 1679 USA 1681 EMail: tina.tsou.zouting@huawei.com 1683 Cathy Zhou 1684 Huawei Technologies 1685 Bantian, Longgang District 1686 Shenzhen 518129 1687 P.R. China 1689 EMail: cathyzhou@huawei.com