idnits 2.17.00 (12 Aug 2021) /tmp/idnits4196/draft-ietf-6tisch-6top-interface-03.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 : ---------------------------------------------------------------------------- ** The document seems to lack a Security Considerations section. ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** There are 5 instances of too long lines in the document, the longest one being 3 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'MUST not' in this paragraph: If the TrackID is set to (0,0), the cell can be used by the best-effort QoS configuration or as a Shared cell. If the TrackID is not set to (0,0), i.e., the cell belongs to a specific track, the cell MUST not be set as Shared cell. -- The document date (March 9, 2015) is 2630 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Missing Reference: 'IEEE802154e' is mentioned on line 1649, but not defined == Missing Reference: 'IEEE802154' is mentioned on line 1655, but not defined == Missing Reference: 'OpenWSN' is mentioned on line 1661, but not defined == Unused Reference: 'I-D.ietf-6tisch-terminology' is defined on line 1621, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-6tisch-minimal' is defined on line 1627, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-6tisch-coap' is defined on line 1637, but no explicit reference was found in the text == Outdated reference: draft-ietf-6tisch-tsch has been published as RFC 7554 == Outdated reference: draft-ietf-6tisch-architecture has been published as RFC 9030 == Outdated reference: A later version (-10) exists of draft-ietf-6tisch-terminology-03 == Outdated reference: draft-ietf-6tisch-minimal has been published as RFC 8180 == Outdated reference: A later version (-04) exists of draft-wang-6tisch-6top-sublayer-01 == Outdated reference: A later version (-03) exists of draft-ietf-6tisch-coap-02 == Outdated reference: A later version (-05) exists of draft-richardson-6tisch--security-6top-04 Summary: 3 errors (**), 0 flaws (~~), 15 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 6TiSCH Q. Wang, Ed. 3 Internet-Draft Univ. of Sci. and Tech. Beijing 4 Intended status: Informational X. Vilajosana 5 Expires: September 10, 2015 Universitat Oberta de Catalunya 6 T. Watteyne 7 Linear Technology 8 March 9, 2015 10 6TiSCH Operation Sublayer (6top) Interface 11 draft-ietf-6tisch-6top-interface-03 13 Abstract 15 This document defines a generic data model for the 6TiSCH Operation 16 Sublayer (6top), using the YANG data modeling language. This data 17 model can be used for future network management solutions defined by 18 the 6TiSCH working group. This document also defines a list of 19 commands for the internal use of the 6top sublayer and/or to be used 20 by implementers as an API guideline or basic specification. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at http://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on September 10, 2015. 39 Copyright Notice 41 Copyright (c) 2015 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (http://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 58 3. 6TiSCH Operation Sublayer (6top) Overview . . . . . . . . . . 3 59 3.1. Cell Model . . . . . . . . . . . . . . . . . . . . . . . 4 60 3.1.1. hard cells . . . . . . . . . . . . . . . . . . . . . 6 61 3.1.2. soft cells . . . . . . . . . . . . . . . . . . . . . 6 62 3.2. Data Transfer Model . . . . . . . . . . . . . . . . . . . 6 63 4. Generic Data Model . . . . . . . . . . . . . . . . . . . . . 8 64 4.1. YANG model of the 6top MIB . . . . . . . . . . . . . . . 8 65 4.2. YANG model of the IEEE802.15.4 PIB . . . . . . . . . . . 27 66 4.3. Yang Model for the Security aspects of 6top . . . . . . . 32 67 5. Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 34 68 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 37 69 6.1. Normative References . . . . . . . . . . . . . . . . . . 37 70 6.2. Informative References . . . . . . . . . . . . . . . . . 37 71 6.3. External Informative References . . . . . . . . . . . . . 38 72 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 74 1. Introduction 76 This document defines a generic data model for the 6TiSCH Operation 77 Sublayer (6top), using the YANG data modeling language defined in 78 [RFC6020]. This data model can be used for future network management 79 solutions defined by the 6TiSCH working group. This document also 80 defines a list commands internal to the 6top sublayer. This data 81 model gives access to metrics (e.g. cell state), TSCH configuration 82 and control procedures, and support for the different scheduling 83 mechanisms described in [I-D.ietf-6tisch-architecture]. The 6top 84 sublayer addresses the set of management information and 85 functionalities described in [I-D.ietf-6tisch-tsch]. 87 For example, network formation in a TSCH network is handled by the 88 use of Enhanced Beacons (EB). EBs include information for joining 89 nodes to be able to synchronize and set up an initial network 90 topology. However, [IEEE802154e] does not specify how the period of 91 EBs is configured, nor the rules for a node to select a particular 92 node to join. 6top offers a set of commands so control mechanisms can 93 be introduced on top of TSCH to configure nodes to join a specific 94 node and obtain a unique 16-bit identifier from the network. Once a 95 network is formed, 6top maintains the network's health, allowing for 96 nodes to stay synchronized. It supplies mechanisms to manage each 97 node's time source neighbor and configure the EB interval. Network 98 layers running on top of 6top take advantage of the TSCH MAC layer 99 information so routing metrics, topological information, energy 100 consumption and latency requirements can be adjusted to TSCH, and 101 adapted to application requirements. 103 TSCH requires a mechanism to manage its schedule; 6top provides a set 104 of commands for upper layers to set up specific schedules, either 105 explicitly by detailing specific cell information, or by allowing 106 6top to establish a schedule given a bandwidth or latency 107 requirement. 6top is designed to enable decentralized, centralized or 108 hybrid scheduling solutions. 6top enables internal TSCH queuing 109 configuration, size of buffers, packet priorities, transmission 110 failure behavior, and defines mechanisms to encrypt and authenticate 111 MAC slotframes. 113 As described in [morell04label], due to the slotted nature of a TSCH 114 network, it is possible to use a label switched architecture on top 115 of TSCH cells. As a cell belongs to a specific track, a label header 116 is not needed at each packet; the input cell (or bundle) and the 117 output cell (or bundle) uniquely identify the data flow. The 6top 118 sublayer provides operations to manage the cell mappings. 120 2. Requirements Language 122 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 123 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 124 document are to be interpreted as described in RFC 2119 [RFC2119]. 126 3. 6TiSCH Operation Sublayer (6top) Overview 128 6top is a sublayer which is the next-higher layer for TSCH 129 (Figure 1), as detailed in [I-D.ietf-6tisch-architecture]. 6top 130 offers both management and data interfaces to an upper layer, and 131 includes monitoring and statistics collection, both of which are 132 configurable through its management interface. The detail of 6top- 133 sublayer is described in [I-D.wang-6tisch-6top-sublayer] 134 Protocol Stack 136 +-----------------------------------+ 137 | PCEP | CoAP | | 6LoWPAN | | 138 | PCC | DTLS | PANA | ND |RPL | 139 +------------------------------------------+ 140 | TCP | UDP | ICMP | RSVP | 141 +------------------------------------------+ 142 | IPv6 | 143 +------------------------------------------+ 144 | 6LoWPAN HC | 145 +------------------------------------------+ 146 | 6top | 147 +------------------------------------------+ 148 | IEEE802.15.4e TSCH | 149 +------------------------------------------+ 150 | IEEE802.15.4 | 151 +------------------------------------------+ 153 Figure 1 155 6top distinguishes between hard cells and soft cells. It therefore 156 requires an extra flag to all cells in the TSCH schedule, as detailed 157 in Section 3.1. 159 When a higher layer gives 6top a 6LoWPAN packet for transmission, 160 6top maps it to the appropriate outgoing priority-based queue, as 161 detailed in Section 3.2. 163 Section 4 contains a generic data model for the 6top sublayer, 164 described in the YANG data modeling language. 166 The commands of the management and data interfaces are listed in 167 Section 5. This set of commands is designed to support 168 decentralized, centralized and hybrid scheduling solutions. 170 3.1. Cell Model 172 [IEEE802154e] defines a set of options attached to each cell. A cell 173 can be a Transmit cell, a Receive cell, a Shared cell or a 174 Timekeeping cell. These options are not exclusive, as a cell can be 175 qualified with more than one of them. The MLME-SET-LINK.request 176 command defined in [IEEE802154e] uses a linkOptions bitmap to specify 177 the options of a cell. Acceptable values are: 179 b0 = Transmit 181 b1 = Receive 182 b2 = Shared 184 b3 = Timekeeping 186 b4-b7 = Reserved 188 Only Transmit cells can also be marked as Shared cells. When the 189 shared bit is set, a back-off procedure is applied to handle 190 collisions. Shared behavior does not apply to Receive cells. 192 6top allows an upper layer to schedule a cell at a specific 193 slotOffset and channelOffset, in a specific slotframe. 195 In addition, 6top allows an upper layer to schedule a certain amount 196 of bandwidth to a neighbor, without having to specify the exact 197 slotOffset(s) and channelOffset(s). Once bandwidth is reserved, 6top 198 is in charge of ensuring that this requirement is continuously 199 satisfied. 6top dynamically reallocates cells if needed, and over- 200 provisions if required. 202 6top allows an upper layer to associate a cell with a specific track 203 by using a TrackID. A TrackID is a tuple 204 (TrackOwnerAddr,InstanceID), where TrackOwnerAddr is the address of 205 the node which initializes the process of creating the track, i.e., 206 the owner of the track; and InstanceID is an instance identifier 207 given by the owner of the track. InstanceID comes from upper layer; 208 InstanceID could for example be the local instance ID defined in RPL. 210 If the TrackID is set to (0,0), the cell can be used by the best- 211 effort QoS configuration or as a Shared cell. If the TrackID is not 212 set to (0,0), i.e., the cell belongs to a specific track, the cell 213 MUST not be set as Shared cell. 215 6top allows an upper layer to ask a node to manage a portion of a 216 slotframe, which is named as chunk. Chunks can be delegated 217 explicitly by the PCE to a node, or claimed automatically by any node 218 that participates to the distributed cell scheduling process. The 219 resource in a chunk can be appropriated by the node, i.e. the owner 220 of the chunk. 222 Given this mechanism, 6top defines hard cells (which have been 223 requested specifically) and soft cells (which can be reallocated 224 dynamically). The hard/soft flag is introduced by the 6top sublayer 225 named as CellType, 0: soft cell, 1: hard cell. This option is 226 mandatory; all cells are either hard or soft. 228 3.1.1. hard cells 230 A hard cell is a cell that cannot be dynamically reallocated by 6top. 231 The CellType MUST be set to 1. The cell is installed by 6top given 232 specific slotframe ID, slotOffset, and channelOffset. 234 3.1.2. soft cells 236 A soft cell is a cell that can be reallocated by 6top dynamically. 237 The CellType MUST be set to 0. This cell is installed by 6top given 238 a specific bandwidth requirement. Soft cells are installed through 239 the soft cell negotiation procedure described in 240 [I-D.wang-6tisch-6top-sublayer]. 242 3.2. Data Transfer Model 244 Once a TSCH schedule is established, 6top is responsible for feeding 245 the data from the upper layer into TSCH. This section describes how 246 6top shapes data from the upper layer (e.g., RPL, 6LoWPAN), and feeds 247 it to TSCH. Since 6top is a sublayer between TSCH and 6LoWPAN, the 248 properties associated with a packet/fragment from the upper layer 249 includes the next hop neighbor (DestAddr) and expected sending 250 priority of the packet (Priority), and/or TrackID(s). The output to 251 TSCH is the fragment corresponding to the next active cell in the 252 TSCH schedule. 254 6top Data Transfer Model 256 | 257 | (DestAddr, Priority, Fragment) 258 | 259 +---------------------------------------+ 260 | I-MUX | 261 +---------------------------------------+ 262 | | | | .... | 263 | | | | | 264 +---+ +---+ +---+ +---+ +---+ 265 | | | | | | | | | | 266 |Q1 | |Q2 | |Q3 | |Q4 | |Qn | 267 | | | | | | | | | | 268 +---+ +---+ +---+ +---+ +---+ 269 | | | | | 270 | | | | | 271 +---------------------------------------+ 272 | MUX | 273 +---------------------------------------+ 274 | 275 | 276 +---+ 277 |PDU| 278 +---+ 279 | 280 | TSCH MAC-payload 281 | 283 Figure 2 285 In Figure 2, Qi represents a queue, which is either broadcast or 286 unicast, and has an assigned priority. The number of queues is 287 configurable. The relationship between queues and tracks is 288 configurable. For example, for a given queue, only one specific 289 track can be used, all of the tracks can be used, or a subset of the 290 tracks can be used. 292 When 6top receives a packet to transmit through a Send.data command 293 (Section 5), the I-MUX module selects a queue in which to insert it. 294 If the packet's destination address is a unicast (resp. broadcast) 295 address, it will be inserted into a unicast (resp. broadcast) queue. 297 The MUX module is invoked at each scheduled transmit cell by TSCH. 298 When invoked, the MUX module goes through the queues, looking for the 299 best matching frame to send. If it finds a frame, it hands it over 300 to TSCH for transmission. If the next active cell is a broadcast 301 cell, it selects a fragment only from broadcast queues. 303 How the MUX module selects the best frame is configurable. The 304 following rules are a typical example: 306 The frame's layer 2 destination address MUST match the neighbor 307 address associated with the transmit cell. 309 If the transmit cell is associated with a specific track, the 310 frames in the queue corresponding to the TrackID have the 311 highest priority. 313 If the transmit cell is not associated with a specific track, 314 i.e., TrackID=(0,0), frames from a queue with a higher priority 315 MUST be sent before frames from a queue with a lower priority. 317 Further rules can be configured to satisfy specific QoS requirements. 319 4. Generic Data Model 321 This section presents the generic data model of the 6top sublayer, 322 using the YANG data modeling langage. This data model can be used 323 for future network management solutions defined by the 6TiSCH working 324 group. The data model consists of the MIB (management information 325 base) defined in 6top, and part of the PIB (personal area network 326 information base) defined in [IEEE802154e] and [IEEE802154]. 328 4.1. YANG model of the 6top MIB 330 typedef nodeaddresstype { 331 type uint64; 332 description 333 "The type to store node address. It can be 64bits EUI address; 334 or the short address defined by 6top, constrained by TSCH 335 macNodeAddress size, 2-octets. If using TSCH as MAC, the 336 higher 6-octets should be filled with 0, and lowest 2-octets 337 is neighbor short address"; 338 } 340 list CellList { 341 key "CellID"; 342 min-elements 1; 343 unique "SlotframeID SlotOffset ChannelOffset"; 344 description 345 "List of scheduled cells of a node with all of its neighbors, 346 in all of its slotframes."; 348 leaf CellID { 349 type uint16; 350 description 351 "Equal to Linkhandle in the linkTable of TSCH"; 352 reference 353 "IEEE802154e"; 354 } 355 leaf SlotframeID { 356 type leafref { 357 path "/SlotframeList/SlotframeID"; 358 } 359 description 360 "SlotframeID, one in SlotframeList, indicates the slotframe 361 the cell belongs to."; 362 reference 363 "IEEE802154e"; 364 } 365 leaf SlotOffset { 366 type uint16; 367 description 368 "Defined in IEEE802154e."; 369 reference 370 "IEEE802154e"; 371 } 372 leaf ChannelOffset { 373 type uint16; 374 description 375 "Defined in IEEE802154e. Value range is 0..15"; 376 reference 377 "IEEE802154e"; 378 } 379 leaf LinkOption { 380 type bits { 381 bit Transmit { 382 position 0; 383 } 384 bit Receive { 385 position 1; 386 } 387 bit Share { 388 position 2; 389 } 390 bit Timekeeping { 391 position 3; 392 } 393 bit Reserved1 { 394 position 4; 395 } 396 bit Reserved2 { 397 position 5; 399 } 400 bit Reserved3 { 401 position 6; 402 } 403 bit Reserved4 { 404 position 7; 405 } 406 } 407 description 408 "Defined in IEEE802154e."; 409 reference 410 "IEEE802154e"; 411 } 412 leaf LinkType { 413 type enumeration { 414 enum NORMAL; 415 enum ADVERTISING; 416 } 417 description 418 "Defined in IEEE802154"; 419 reference 420 "IEEE802154"; 421 } 422 leaf CellType { 423 type enumeration { 424 enum SOFT; 425 enum HARD; 426 } 427 description 428 "Defined in 6top"; 429 } 430 leaf NodeAddress { 431 type nodeaddresstype; 432 description 433 "specify the target node address."; 434 } 435 leaf TrackID { 436 type leafref { 437 path "/TrackList/TrackId"; 438 } 439 description 440 "A TrackID is one in the TrackList, pointing to a tuple 441 (TrackOwnerAddr,InstanceID) , where TrackOwnerAddr is the 442 address of the node which initializes the process of 443 creating the track, i.e., the owner of the track; and 444 InstanceID is an instance identifier given by the owner of 445 the track."; 446 } 447 container Statistic { 448 leaf NumOfStatistic { 449 mandatory true; 450 type uint8; 451 description 452 "Number of statistics collected on the cell"; 453 } 454 list MeasureList { 455 key "StatisticsMetricsID"; 456 min-elements 1; 458 leaf StatisticsMetricsID{ 459 type leafref { 460 path "/StatisticsMetricsList/StatisticsMetricsID"; 461 } 462 description 463 "An index of StatisticsMetricList, which defines how 464 to collect data and get the statistice value"; 465 } 466 leaf StatisticsValue{ 467 type uint16; 468 config false; 469 description 470 "updated by 6top according to the statistics method 471 specified by StatisticsMetricsID"; 472 } 473 } 474 } 475 } 477 list SlotframeList { 478 key "SlotframeID"; 479 min-elements 1; 480 description 481 "List of all of the slotframes used by the node."; 483 leaf SlotframeID { 484 mandatory true; 485 type uint8; 486 description 487 "Equal to SlotframeHandle defined in TSCH"; 488 reference 489 "IEEE802154e"; 490 } 491 leaf NumOfSlots { 492 mandatory true; 493 type uint16 { 494 range "1..max"; 495 } 496 description 497 "indicates how many timeslots in the slotframe"; 498 } 499 } 501 list Version { 502 key "Version"; 503 description 504 "Provides a unique identification for the set of resources 505 defined in this draft. Provides a major and minor version 506 number that may be accessible independently"; 508 leaf major { 509 type uint8; 510 } 511 leaf minor { 512 type uint8; 513 } 514 } 516 list MonitoringStatusList { 517 key "MonitoringStatusID"; 518 min-elements 1; 519 unique "SlotframeID NodeAddress"; 520 description 521 "List of the monitoring configuration and results per 522 slotframe and neighbor. Basically, it is used for Monitoring 523 Function of 6top to re-allocate softcells or initial the 524 softcell negotiation process to increase/decrease number of 525 softcells. Upper layer can use it also."; 527 leaf MonitoringStatusID { 528 type uint16; 529 } 530 leaf SlotframeID { 531 type leafref { 532 path "/SlotframeList/SlotframeID"; 533 } 534 description 535 "SlotframeID, one in SlotframeList, indicates the slotframe 536 being monitored"; 537 reference 538 "IEEE802154e"; 539 } 540 leaf NodeAddress { 541 type nodeaddresstype; 542 } 543 leaf EnforcePolicy { 544 type enumeration { 545 enum DISABLE; 546 enum BESTEFFORT; 547 enum STRICT; 548 enum OVERPROVISION; 549 } 550 default DISABLE; 551 description 552 "Currently enforced QoS policy. DISABLE-no QoS; 553 BESTEFFORT- best effort policy is used; STRICT- Strict 554 Priority Queueing; OVERPROVISION- cell overprovision"; 555 } 556 leaf AllocatedHard { 557 type uint16; 558 config false; 559 description 560 "Number of hard cells allocated"; 561 } 562 leaf AllocatedSoft { 563 type uint16; 564 config false; 565 description 566 "Number of soft cells allocated"; 567 } 568 leaf OverProvision { 569 type uint16; 570 config false; 571 must "../EnforcePolicy < > DISABLE ./"; 572 description 573 "Overprovisioned cells. 0 if EnforcePolicy is 574 DISABLE"; 575 } 576 leaf QoS { 577 type uint16; 578 config false; 579 description 580 "Current QoS including overprovisioned cells, i.e. the 581 bandwidth obtained including the overprovisioned cells."; 582 } 583 leaf NQoS { 584 type uint16; 585 config false; 586 description 587 "Real QoS without over provisioned cells, i.e. the actual 588 bandwidth without taking into account the overprovisioned 589 cells."; 590 } 591 } 593 list StatisticsMetricsList { 594 key "StatisticsMetricsID"; 595 min-elements 1; 596 unique "SlotframeID SlotOffset ChannelOffset NodeAddress"; 597 description 598 "List of Statistics Metrics used in the node."; 600 leaf StatisticsMetricsID { 601 type uint16; 602 } 603 leaf SlotframeID { 604 type leafref { 605 path "/SlotframeList/SlotframeID"; 606 } 607 description 608 "SlotframeID, one in SlotframeList, specifies the slotframe to 609 which the statistics metrics applies to. If empty, applies to 610 all slotframes"; 611 reference 612 "IEEE802154e"; 613 } 614 leaf SlotOffset { 615 type uint16; 616 description 617 "Specific slotOffset to which the statistics metrics applies 618 to. If empty, applies to all timeslots"; 619 reference 620 "IEEE802154e"; 622 } 623 leaf ChannelOffset { 624 type uint16; 625 description 626 "Specific channelOffset to which the statistics metrics applies 627 to. If empty, applies to all channels"; 628 reference 629 "IEEE802154e"; 630 } 632 leaf NodeAddress { 633 type nodeaddresstype; 634 description 635 "If NodeAddress is empty, applies to all neighbor nodes."; 636 } 638 leaf Metrics { 639 type enumeration { 640 enum macCounterOctets 641 enum macRetryCount 642 enum macMultipleRetryCount 643 enum macTXFailCount 644 enum macTXSuccessCount 645 enum macFCSErrorCount 646 enum macSecurityFailure 647 enum macDuplicateFrameCount 648 enum macRXSuccessCount 649 enum macNACKcount 650 enum PDR; 651 enum ETX; 652 enum RSSI; 653 enum LQI; 654 } 655 description 656 "The metric to be monitored. Include those provided by underlying 657 IEEE 802.15.4e TSCH -- see table 4i (2012). 658 PDR,ETX,RSSI,LQI are maintained by 6top. "; 659 } 660 leaf Window { 661 type uint16; 662 description 663 "measurement period, in Number of the slotframe size"; 664 } 665 leaf Enable { 666 type enumeration { 667 enum DISABLE; 668 enum ENABLE; 669 } 670 default DISABLE; 671 description 672 "indicates the StatisticsMetric is active or not"; 673 } 674 } 675 list EBList { 676 key "EbID"; 677 min-elements 1; 678 description 679 "List of information related with the EBs used by the node"; 681 leaf EbID { 682 type uint8; 683 } 684 leaf CellID { 685 type leafref { 686 path "/CellList/CellID"; 687 } 688 description 689 "CellID, one in CellList, indicates the cell used to send 690 EB"; 691 } 692 leaf Peroid { 693 type uint16; 694 description 695 "The EBs period, in seconds, indicates the interval between 696 two EB sendings"; 697 } 698 leaf Expiration { 699 type enumeration { 700 enum NEVERSTOP; 701 enum EXPIRATION; 702 } 703 description 704 "NEVERSTOP- the period of the EB never stops; EXPIRATION- 705 when the Period arrives, the EB will stop."; 706 } 707 leaf Priority { 708 type uint8; 709 description 710 "The joining priority model that will be used for 711 advertisements. Joining priority MAY be for example 712 SAME_AS_PARENT, RANDOM, BEST_PARENT+1 or 713 DAGRANK(rank)."; 714 } 715 } 717 container TimeSource { 718 description 719 "specify the timesource selection policy and some relative 720 statistics. "; 722 leaf policy { 723 type enumeration { 724 enum ALLPARENT; 725 enum BESTCONNECTED; 726 enum LOWESTJOINPRIORITY; 727 } 728 default LOWESTJOINPRIORITY; 729 description 730 "indicates the policy to choose timesource. ALLPARENT- choose 731 from all parents; BESTCONNECTED- choose the best-connected 732 node; LOWESTJOINPRIORITY- choose the node with lowest priority 733 in its EB."; 734 } 736 leaf NodeAddress { 737 type nodeaddresstype; 738 description 739 "Specifies the address of selected time source neighbors."; 740 } 742 leaf MinTimeCorrection { 743 type uint16; 744 config false; 745 description 746 "measured in microsecond"; 747 } 748 leaf MaxTimeCorrection { 749 type uint16; 750 config false; 751 description 752 "measured in microsecond"; 753 } 754 leaf AveTimeCorrection { 755 type uint16; 756 config false; 757 description 758 "measured and computed in microsecond"; 759 } 760 } 761 typedef asntype { 762 description 763 "The type to store ASN. String of 5 bytes"; 764 type string { 765 length "0..5"; 766 } 767 } 769 list NeighborList { 770 key "NodeAddress"; 771 description 772 "statistics per communication link. "; 774 leaf NodeAddress { 775 type nodeaddresstype; 776 description 777 "Specifies the address of the neighbor."; 778 } 780 leaf RSSI { 781 type uint8; 782 config false; 783 description 784 "The received signal strength"; 785 } 786 leaf LinkQuality { 787 type uint8; 788 config false; 789 description 790 "The LQI metric"; 791 } 792 leaf ASN { 793 type asntype; 794 config false; 795 description 796 "The 5 ASN bytes, indicates the most recent timeslot when a 797 packet from the neighbor was received"; 798 } 799 } 801 list QueueList { 802 key "QueueId"; 803 min-elements 1; 804 description 805 "List of Queues, including configuration and statistics."; 807 leaf QueueId { 808 type uint8; 809 description 810 "Queue Identifier"; 811 } 812 leaf TxqLength { 813 type uint8; 814 description 815 "The TX queue length in number of packets"; 816 } 817 leaf RxqLength { 818 type uint8; 819 description 820 "The RX queue length in number of packets"; 821 } 822 leaf NumrTx { 823 type uint8; 824 description 825 "Number of allowed retransmissions."; 826 } 827 leaf Age { 828 type uint16; 829 description 830 "In seconds. Discard packet according to its age 831 on the queue. 0 if no discards are allowed."; 832 } 833 leaf RTXbackoff { 834 type uint8; 835 description 836 "retransmission backoff in number of slotframes. 837 0 if next available timeslot wants to be used."; 838 } 839 leaf StatsWindow { 840 type uint16; 841 description 842 "In second, window of time used to compute stats."; 843 } 844 leaf QueuePriority { 845 type uint8; 846 description 847 "The priority for this queue."; 848 } 849 list TrackIds { 850 key "TrackID"; 851 leaf TrackID{ 852 type leafref { 853 path "/TrackList/TrackId"; 854 } 855 description 856 "The TrackID, one in TrackList, indicates the Track is 857 associated with the Queue."; 858 } 859 } 860 leaf MinLenTXQueue { 861 type uint8; 862 config false; 863 description 864 "Statistics, lowest TX queue length registered in the window."; 865 } 866 leaf MaxLenTXQueue { 867 type uint8; 868 config false; 869 description 870 "Statistics, largest TX queue length registered in the 871 window."; 872 } 873 leaf AvgLenTXQueue { 874 type uint8; 875 config false; 876 description 877 "Statistics, avg TX queue length registered in the window."; 878 } 879 leaf MinLenRXQueue { 880 type uint8; 881 config false; 882 description 883 "Statistics, lowest RX queue length registered in the window."; 884 } 885 leaf MaxLenRXQueue { 886 type uint8; 887 config false; 888 description 889 "Statistics, largest RX queue len registered in the window."; 890 } 891 leaf AvgLenRXQueue { 892 type uint8; 893 config false; 894 description 895 "Statistics, avg RX queue length registered in the window."; 896 } 897 leaf MinRetransmissions { 898 type uint8; 899 config false; 900 description 901 "Statistics, lowest number of retransmissions registered in 902 the window."; 903 } 904 leaf MaxRetransmissions { 905 type uint8; 906 config false; 907 description 908 "Statistics, largest number of retransmissions registered 909 in the window."; 910 } 911 leaf AvgRetransmissions { 912 type uint8; 913 config false; 914 description 915 "Statistics, average number of retransmissions registered 916 in the window."; 917 } 918 leaf MinPacketAge { 919 type uint16; 920 config false; 921 description 922 "Statistics, in seconds, minimum time a packet stayed in 923 the queue during the observed window."; 924 } 925 leaf MaxPacketAge { 926 type uint16; 927 config false; 928 description 929 "Statistics, in seconds, maximum time a packet stayed 930 in the queue during the observed window."; 931 } 932 leaf AvgPacketAge { 933 type uint16; 934 config false; 935 description 936 "Statistics, in seconds, average time a packet stayed in 937 the queue during the observed window."; 938 } 939 leaf MinBackoff { 940 type uint8; 941 config false; 942 description 943 "Statistics, in number of slotframes, minimum Backoff 944 for a packet in the queue during the observed window."; 945 } 946 leaf MaxBackoff { 947 type uint8; 948 config false; 949 description 950 "Statistics, in number of slotframes, maximum Backoff 951 for a packet in the queue during the observed window."; 953 } 954 leaf AvgBackoff { 955 type uint8; 956 config false; 957 description 958 "Statistics, in number of slotframes, average Backoff 959 for a packet in the queue during the observed window."; 960 } 961 } 962 list LabelSwitchList { 963 key "LabelSwitchID"; 964 description 965 "List of Label switch' configuration on the node"; 967 leaf LabelSwitchID { 968 type uint16; 969 } 970 list InputCellIds { 971 key "CellID"; 972 leaf CellID{ 973 type leafref { 974 path "/CellList/CellID"; 975 } 976 description 977 "The CellID, indicates the Rx cell on which the packet will 978 come in."; 979 } 980 } 981 list OutputCellIds { 982 key "CellID"; 983 leaf CellID{ 984 type leafref { 985 path "/CellList/CellID"; 986 } 987 description 988 "The CellID, indicates the Tx cell on which the received 989 packet should be sent out."; 990 } 991 } 992 leaf LoadBalancingPolicy { 993 type enumeration { 994 enum ROUNDROBIN; 995 enum OTHER; 996 } 997 description 998 "The load-balancing policy. ROUNDROBIN- Round robin algorithm 999 is used for forwarding scheduling."; 1000 } 1001 } 1002 list TrackList { 1003 key "TrackId"; 1004 min-elements 1; 1005 unique "TrackOwnerAddr InstanceID"; 1006 description 1007 "List of the tracks through the node. At lease the best effort 1008 track is existing"; 1010 leaf TrackId { 1011 type uint16; 1012 description 1013 "Track Identifier, named locally. It is used to refer to the 1014 tuple (TrackOwnerAddr, InstanceID)."; 1015 } 1016 leaf TrackOwnerAddr { 1017 type uint64; 1018 description 1019 "The address of the node which initializes the process of 1020 creating the track, i.e., the owner of the track;"; 1021 } 1022 leaf InstanceID { 1023 type uint16; 1024 description 1025 "InstanceID is an instance identifier given by the owner of 1026 the track. InstanceID comes from upper layer; InstanceID could 1027 for example be the local instance ID defined in RPL."; 1028 } 1029 } 1030 list ChunkList { 1031 key "ChunkId"; 1032 description 1033 "List of the chunks assigned to the node."; 1035 leaf ChunkId{ 1036 type uint16; 1037 description 1038 "The identifier of a chunk"; 1039 } 1040 leaf SlotframeId{ 1041 type leafref { 1042 path "/SlotframeList/SlotframeID"; 1043 } 1044 description 1045 "SlotframeID, one in SlotframeList, indicates the 1046 slotframe to which the chunk belongs"; 1047 } 1048 leaf SlotBase { 1049 type uint16; 1050 description 1051 "the base slotOffset of the chunk in the slotframe"; 1052 } 1053 leaf SlotStep { 1054 type uint8; 1055 description 1056 "the slot incremental of the chunk"; 1057 } 1058 leaf ChannelBase { 1059 type uint16; 1060 description 1061 "the base channelOffset of the chunk"; 1062 } 1063 leaf ChannelStep { 1064 type uint8; 1065 description 1066 "the channel incremental of the chunk"; 1067 } 1068 leaf ChunkSize { 1069 type uint8; 1070 description 1071 "the number of cells in the chunk. The chunk is the set 1072 of (slotOffset(i), channelOffset(i)), 1073 i=0..Chunksize-1, 1074 slotOffset(i)= (slotBase + i * slotStep) % slotframeLen, 1075 channelOffset(i) = (channelBase + i * channelStep) % 16"; 1076 } 1077 } 1078 list ChunkCellList { 1079 key "SlotOffset ChannelOffset"; 1080 description 1081 "List of all of the cells assigned to the node via the 1082 assignment of chunks."; 1084 leaf SlotOffset{ 1085 type uint16; 1086 description 1087 "The slotoffset of a cell which belongs to a Chunk"; 1088 } 1089 leaf ChannelOffset{ 1090 type uint16; 1091 description 1092 "The channeloffset of a cell which belongs to a chunk."; 1093 } 1094 leaf ChunkId { 1095 type leafref{ 1096 path "/ChunkList/ChunkId"; 1097 } 1098 description 1099 "Identifier of the chunk the cell belongs to"; 1100 } 1101 leaf CellID{ 1102 type leafref { 1103 path "/CellList/CellID"; 1104 } 1105 description 1106 "Initial value of CellID is 0xFFFF. When the cell is 1107 scheduled, the value of CellID is same as that in 1108 CellList"; 1109 } 1110 leaf ChunkCellStatus { 1111 type enumeration { 1112 enum UNSCHEDULED; 1113 enum SCHEDULED; 1114 } 1115 } 1116 } 1118 4.2. YANG model of the IEEE802.15.4 PIB 1120 This section describes the YANG model of the part of PIB 1121 ([IEEE802154] and [IEEE802154e]) used by 6top, such as security 1122 related attributes, TSCH related attributes. This part of data will 1123 be accessed through the MLME-GET and MLME-SET primitive [IEEE802154] 1124 directly, instead of using 6top comannds. 1126 TODO the security related attributes will be added after 6TiSCH WG 1127 has consensus on the security scheme of 6top 1129 container TSCHSpecificPIBAttributes { 1130 description 1131 "TSCH specific MAC PIB attributes."; 1132 reference 1133 "table 52b in IEEE802.15.4e-2012."; 1135 leaf macMinBE { 1136 type uint8; 1137 description 1138 "defined in Table 52b of IEEE802.15.4e-2012, 1139 The minimum value of the backoff exponent (BE) in the 1140 CSMA-CA algorithm or the TSCH-CA algorithm. default: 1141 3-CSMA-CA, 1-TSCH-CA"; 1142 } 1143 leaf macMaxBE { 1144 type uint8; 1145 description 1146 "defined in Table 52b of IEEE802.15.4e-2012, 1147 The maximum value of the backoff exponent (BE) in the 1148 CSMA-CA algorithm or the TSCH-CA algorithm. default: 1149 5-CSMA-CA, 7-TSCH-CA"; 1150 } 1151 leaf macDisconnectTime { 1152 type uint16; 1153 description 1154 "defined in Table 52b of IEEE802.15.4e-2012, 1155 Time (in Timeslots) to send out Disassociate frames 1156 before disconnecting, default: 0x00ff"; 1157 } 1158 leaf macJoinPriority { 1159 type uint8; 1160 description 1161 "defined in Table 52b of IEEE802.15.4e-2012, 1162 The lowest join priority from the TSCH Synchronization 1163 IE in an Enhanced beacon, default: 1"; 1164 } 1165 leaf macASN { 1166 type asntype; 1167 description 1168 "defined in Table 52b of IEEE802.15.4e-2012, 1169 The Absolute Slot Number, i.e., the number of slots 1170 that ha elapsed since the start of the network."; 1171 } 1172 leaf macNoHLBuffers { 1173 type enumeration { 1174 enum TRUE; 1175 enum FALSE; 1176 } 1177 description 1178 "defined in Table 52b of IEEE802.15.4e-2012, 1179 If the value is TRUE, the higher layer receiving the 1180 frame payload cannot buffer it, and the device should 1181 acknowledge frames with a NACK; If FALSE, the higher 1182 layer can accept the frame payload. default: FALSE"; 1183 } 1184 } 1186 list TSCHmacTimeslotTemplate { 1187 key "macTimeslotTemplateId"; 1188 min-elements 1; 1189 description 1190 "List of all timeslot templates used in the node."; 1191 reference 1192 "table 52e in IEEE802.15.4e-2012."; 1194 leaf macTimeslotTemplateId { 1195 type uint8; 1196 description 1197 "defined in Table 52e of IEEE802.15.4e-2012. 1198 Identifier of Timeslot Template. default: 0"; 1199 } 1200 leaf macTsCCAOffset { 1201 type uint16; 1202 description 1203 "The time between the beginning of timeslot and start 1204 of CCA operation, in microsecond. default: 1800"; 1205 } 1206 leaf macTsCCA { 1207 type uint16; 1208 description 1209 "Duration of CCA, in microsecond. default: 128"; 1210 } 1211 leaf macTsTxOffset { 1212 type uint16; 1213 description 1214 "The time between the beginning of the timeslot and 1215 the start of frame transmission, in microsecond. 1216 default: 2120"; 1217 } 1218 leaf macTsRxOffset { 1219 type uint16; 1220 description 1221 "Beginning of the timeslot to when the receiver shall 1222 be listening, in microsecond. default: 1120"; 1223 } 1224 leaf macTsRxAckDelay { 1225 type uint16; 1226 description 1227 "End of frame to when the transmitter shall listen for 1228 Acknowledgment, in microsecond. default: 800"; 1229 } 1230 leaf macTsTxAckDelay { 1231 type uint16; 1232 description 1233 "End of frame to start of Acknowledgment, in 1234 microsecond. 1235 default: 1000"; 1236 } 1237 leaf macTsRxWait { 1238 type uint16; 1239 description 1240 "The time to wait for start of frame, in microsecond. 1241 default: 2200"; 1242 } 1243 leaf macTsAckWait { 1244 type uint16; 1245 description 1246 "The minimum time to wait for start of an 1247 Acknowledgment, in microsecond. default: 400"; 1248 } 1249 leaf macTsRxTx { 1250 type uint16; 1251 description 1252 "Transmit to Receive turnaround, in microsecond. 1253 default: 192"; 1254 } 1255 leaf macTsMaxAck { 1256 type uint16; 1257 description 1258 "Transmission time to send Acknowledgment,in 1259 microsecond. default: 2400"; 1260 } 1261 leaf macTsMaxTx { 1262 type uint16; 1263 description 1264 "Transmission time to send the maximum length frame, 1265 in microsecond. default: 4256"; 1266 } 1267 leaf macTsTimeslotLength { 1268 type uint16; 1269 description 1270 "The total length of the timeslot including any unused 1271 time after frame transmission and Acknowledgment, 1272 in microsecond. default: 10000"; 1273 } 1274 } 1276 list TSCHHoppingSequence { 1277 key "macHoppingSequenceID"; 1278 min-elements 1; 1279 description 1280 "List of all channel hopping sequences used in the 1281 nodes"; 1282 reference 1283 "Table 52f of IEEE802.15.4e-2012"; 1285 leaf macHoppingSequenceID { 1286 type uint8; 1287 description 1288 "defined in Table 52f of IEEE802.15.4e-2012. 1289 Each hopping sequence has a unique ID. default: 0"; 1290 } 1291 leaf macChannelPage { 1292 type uint8; 1293 description 1294 "Corresponds to the 5 MSBs (b27, ..., b31) of a row 1295 in phyChannelsSupported. Note this may not correspond 1296 to the current channelPage in use."; 1297 } 1298 leaf macNumberOfChannels { 1299 type uint16; 1300 description 1301 "Number of channels supported by the PHY on this 1302 channelPage."; 1303 } 1304 leaf macPhyConfiguration { 1305 type uint32; 1306 description 1307 "For channel pages 0 to 6, the 27 LSBs(b0, b1, ..., 1308 b26) indicate the status (1 = to be used, 0 = not to 1309 be used) for each of the up to 27 valid channels 1310 available to the PHY. For pages 7 and 8, the 27 LSBs 1311 indicate the configuration of the PHY, and the channel 1312 list is contained in the extendedBitmap."; 1313 } 1314 leaf macExtendedBitmap { 1315 type uint64; 1316 description 1317 "For pages 7 and 8, a bitmap of numberOfChannels bits, 1318 where bk shall indicate the status of channel k for 1319 each of the up to numberOfChannels valid channels 1320 supported by that channel page and phyConfiguration. 1321 Otherwise field is empty."; 1322 } 1323 leaf macHoppingSequenceLength { 1324 type uint16; 1325 description 1326 "The number of channels in the Hopping Sequence. 1327 Does not necessarily equal numberOfChannels."; 1328 } 1329 list macHoppingSequenceList { 1330 key "HoppingChannelID"; 1331 leaf HoppingChannelID { 1332 type uint16; 1333 description 1334 "channels to be hopped over"; 1335 } 1336 } 1337 leaf macCurrentHop { 1338 type uint16; 1339 config false; 1340 description 1341 "Index of the current position in the hopping sequence 1342 list."; 1343 } 1344 } 1346 4.3. Yang Model for the Security aspects of 6top 1348 The [I-D.ietf-6tisch-architecture] and 1349 [I-D.richardson-6tisch--security-6top] define the attributes needed 1350 to secure network bootstraping and joining and authentication 1351 processes. The following attributes are exposed by 6top interface to 1352 enable access and configuration to the security mechanisms carried 1353 out by 6top management entity. 1355 container SecurityAttributes{ 1357 leaf SecurityMode { 1358 type enumeration { 1359 enum NO_SECURITY; 1360 enum NETWORK_WIDE_MIC; 1361 enum NETWORK_WIDE_DHE_PSK; 1362 enum NETWORK_WIDE_IKE2_PSK; 1363 enum PK_DTLS_ECDSA; 1364 enum PK_IKEv2_ECDSA; 1365 enum OTHER; 1366 } 1367 description 1368 "The security mode is to be used."; 1369 } 1371 leaf-list Certificate{ 1372 type uint8; 1373 min-elements 128; 1374 description "A list of bytes for the 1375 certificate ECDSA PKIX or PSK"; 1376 } 1378 leaf DevID { 1379 type enumeration { 1380 enum IDevID; 1381 enum LDevID; 1382 } 1383 description " indicate the feature of DevID."; 1384 } 1386 leaf-list PSK{ 1387 type uint8; 1388 min-elements 128; 1389 description "A list of bytes for the PSK while using PSK method"; 1390 } 1392 leaf PanID { 1393 type uint16; 1394 description "2 Bytes the network PANID"; 1395 } 1397 leaf JoinAssistant { 1398 type enumeration { 1399 enum TRUE; 1400 enum FALSE; 1401 } 1402 description "a toggle which enables a node to 1403 become a join assistant."; 1404 } 1406 leaf-list ULA{ 1407 type uint8; 1408 min-elements 16; 1409 description "A ULA to be announced in the 1410 RA for joining nodes. It is 128bits+prefixlen. 1411 A device with multiple interfaces 1412 should configure different 64-bit prefixes."; 1414 } 1416 leaf BeaconWellKnownKey{ 1417 type string; 1418 default "6TISCHJOIN"; 1419 description "the well known beacon key"; 1420 } 1422 leaf-list JCEAddress{ 1423 type uint8; 1424 min-elements 8; 1425 description "the address of the JCE, 1426 for the ACL about 1427 who can contact joining nodes."; 1428 } 1429 } 1431 5. Commands 1433 6top provides a set of commands as the interface with the higher 1434 layer. Most of these commands are related to the management of 1435 slotframes, cells and scheduling information. 6top also provides an 1436 interface allowing an upper layer to retrieve status information and 1437 statistics. The command set aims to facilitate 6top implementation 1438 by describing the main operations that higher layers may use to 1439 interact with 6top. The listed commands aim at providing semantics 1440 to manipulate 6top MIB, IEEE802.15.4 PIB and IEEE802.15.4e PIB 1441 programmatically. 1443 CREATE.hardcell: Creates one or more hard cells in the schedule. 1444 Fails if the cell already exists. A cell is uniquely identified 1445 by the tuple (slotframe ID, slotOffset, channelOffset). 6top 1446 schedules the cell and marks it as a hard cell, indicating that it 1447 cannot reschedule this cell. The return value is CellID and the 1448 created cell is also filled in CellList(Section 4.1). 1450 CREATE.softcell: To create soft cell(s). 6top is responsible for 1451 picking the exact slotOffset and channelOffset in the schedule, 1452 and ensure that the target node chooses the same cell and TrackID. 1453 6top marks these cells as soft cell, indicating that it will 1454 continuously monitor their performance and reschedule if needed. 1455 The return value is CellID, and the created cell is also filled in 1456 CellList (Section 4.1). 1458 READ.cell: Given a (slotframe ID, slotOffset, channelOffset), 1459 retrieves the cell information. A read command can be issued for 1460 any cell, hard or soft. 6top gets cell information from CellList 1461 (Section 4.1). 1463 UPDATE.cell: Update a hard cell, i.e., re-allocate it to a 1464 different slotOffset and/or channelOffset. Fails if the cell does 1465 not exist. CellList (Section 4.1) will be modified. 1467 DELETE.hardcell: To remove a hard cell. This removes the hard 1468 cell from the node's schedule, from CellList (Section 4.1). 1470 DELETE.softcell: To remove a (number of) soft cell(s). This 1471 command leads the pair of nodes figure out the specific cell(s) to 1472 be removed. After that, the cell(s) will be removed from the 1473 CellLists (Section 4.1) on both sides. 1475 REALLOCATE.softcell: To force a re-allocation of a soft cell. The 1476 reallocated cell will be installed in a different slotOffset, 1477 channelOffset but slotframe and TrackID remain the same. Hard 1478 cells MUST NOT be reallocated. This command will result in the 1479 modificaition of CellLists (Section 4.1) on both sides. 1481 CREATE.slotframe: Creates a new slotframe. Adds a entry to the 1482 SlotframeList (Section 4.1). 1484 READ.slotframe: Returns the information of a slotframe given its 1485 slotframeID from SlotframeList (Section 4.1). 1487 UPDATE.slotframe: Change the number of timeslots in a slotframe 1488 given its slotframeID in SlotframeList (Section 4.1). 1490 DELETE.slotframe: Deletes a slotframe, remove it from 1491 SlotframeList (Section 4.1). 1493 CONFIGURE.monitoring: Configures the level of QoS the Monitoring 1494 process MUST enforce, i.e. config MonitoringStatusList 1495 (Section 4.1). 1497 READ.monitoring: Reads the current Monitoring status from 1498 MonitoringStatusList (Section 4.1). 1500 CONFIGURE.statistics: Configures the statistics process in 1501 StatisticsMetricsList(Section 4.1). The CONFIGURE.statistics 1502 enables flexible configuration and supports empty parameters that 1503 will force 6top to conduct statistics on all members of that 1504 dimension. For example, if ChannelOffset is empty and metric is 1505 set as PDR, then, 6top will conduct the statistics of PDR on all 1506 of channels. 1508 READ.statistics: Reads a metric for the specified dimension. 1509 Information is aggregated according to the parameters from 1510 CellList (Section 4.1). 1512 RESET.statistics: Resets the gathered statistics in CellList 1513 (Section 4.1). 1515 CONFIGURE.eb: Configures EBs, i.e. configures EBlist 1516 (Section 4.1). 1518 READ.eb: Reads the EBs configuration from EBList (Section 4.1). 1520 CONFIGURE.timesource: Configures the Time Source Neighbor 1521 selection process, i.e. configure TimeSource (Section 4.1). 1523 READ.timesource: Retrieves information about the time source 1524 neighbors of that node from TimeSource (Section 4.1). 1526 CREATE.neighbor: Creates an entry for a neighbor in the neighbor 1527 table, i.e. NeighborList (Section 4.1). 1529 READ.all.neighbor: Returns the list of neighbors of that node 1530 according to NeighborList (Section 4.1). 1532 READ.neighbor: Returns the information of a specific neighbor of 1533 that node specified by its neighbor address according to 1534 NeighborList (Section 4.1). 1536 UPDATE.neighbor: Updates the last status for a given 1537 TargetNodeAddress in the NeighborList (Section 4.1). 1539 DELETE.neighbor: Deletes a neighbor given its address from 1540 NeighborList (Section 4.1). 1542 CREATE.queue: Creates and Configures a queue in QueueList 1543 (Section 4.1). 1545 READ.queue: Reads the queue configuration for given QueueId from 1546 QueueList (Section 4.1). 1548 READ.queue.stats: For a given QueueId, reads the queue statistics 1549 information from the QueueList (Section 4.1). 1551 UPDATE.queue: For a given QueueId, update its configuration in the 1552 QueueList (Section 4.1). 1554 DELETE.queue: Deletes a Queue for a given QueueId from the 1555 QueueList (Section 4.1). 1557 LabelSwitching.map: Maps an input cell or a bundle of input cells 1558 to an output cell or a bundle of output cells, i.e. adds a entry 1559 to the LabelSwitchList (Section 4.1). 1561 LabelSwitching.unmap: Unmap one input cell or a bundle of input 1562 cells to an output cell or a bundle of output cells, i.e. modifies 1563 the LabelSwitchList (Section 4.1). 1565 CREATE.chunk: Creates a chunk which consists of one or more 1566 unscheduled cells, i.e. add an entry to the ChunkList 1567 (Section 4.1). 1569 READ.chunk: Returns the information of a chunk given its ChunkID 1570 from ChunkList (Section 4.1). 1572 DELETE.chunk: For given ChunkId, removes a chunk from the 1573 ChunkList (Section 4.1), which also causes all of the scheduled 1574 cells in the chunk to be deleted from the TSCH schedule and 1575 CellList (Section 4.1). 1577 CREATE.hardcell.fromchunk: Creates one or more hard cells from a 1578 chunk. 6top schedules the cell and marks it as a hard cell, 1579 indicating that it cannot reschedule this cell. The cell will be 1580 added into the CellList (Section 4.1). In addition, 6top will 1581 change the attributes corresponding to the cell in the 1582 ChunkCellList (Section 4.1), i.e. its CellID is changed to the 1583 same CellID in the CellList, and its Status is changed to 1584 SCHEDULED. 1586 READ.chunkcell: Returns the information of all cells in a chunk 1587 given its ChunkID from ChunkCellList (Section 4.1). 1589 DELETE.hardcell.fromchunk: To remove a hard cell which comes from 1590 a chunk. This removes the hard cell from the node's schedule and 1591 CellList (Section 4.1). In addition, it changes the attributes 1592 corresponding to the cell in the ChunkCellList (Section 4.1), i.e. 1593 its CellID is changed back to 0xFFFF, and its Status is changed to 1594 UNSCHEDULED. 1596 6. References 1598 6.1. Normative References 1600 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1601 Requirement Levels", BCP 14, RFC 2119, March 1997. 1603 6.2. Informative References 1605 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1606 Network Configuration Protocol (NETCONF)", RFC 6020, 1607 October 2010. 1609 [I-D.ietf-6tisch-tsch] 1610 Watteyne, T., Palattella, M., and L. Grieco, "Using 1611 IEEE802.15.4e TSCH in an IoT context: Overview, Problem 1612 Statement and Goals", draft-ietf-6tisch-tsch-05 (work in 1613 progress), January 2015. 1615 [I-D.ietf-6tisch-architecture] 1616 Thubert, P., Watteyne, T., Struik, R., and M. Richardson, 1617 "An Architecture for IPv6 over the TSCH mode of IEEE 1618 802.15.4e", draft-ietf-6tisch-architecture-06 (work in 1619 progress), March 2015. 1621 [I-D.ietf-6tisch-terminology] 1622 Palattella, M., Thubert, P., Watteyne, T., and Q. Wang, 1623 "Terminology in IPv6 over the TSCH mode of IEEE 1624 802.15.4e", draft-ietf-6tisch-terminology-03 (work in 1625 progress), January 2015. 1627 [I-D.ietf-6tisch-minimal] 1628 Vilajosana, X. and K. Pister, "Minimal 6TiSCH 1629 Configuration", draft-ietf-6tisch-minimal-06 (work in 1630 progress), March 2015. 1632 [I-D.wang-6tisch-6top-sublayer] 1633 Wang, Q., Vilajosana, X., and T. Watteyne, "6TiSCH 1634 Operation Sublayer (6top)", draft-wang-6tisch-6top- 1635 sublayer-01 (work in progress), July 2014. 1637 [I-D.ietf-6tisch-coap] 1638 Sudhaakar, R. and P. Zand, "6TiSCH Resource Management and 1639 Interaction using CoAP", draft-ietf-6tisch-coap-02 (work 1640 in progress), December 2014. 1642 [I-D.richardson-6tisch--security-6top] 1643 Richardson, M., "6tisch secure join using 6top", draft- 1644 richardson-6tisch--security-6top-04 (work in progress), 1645 November 2014. 1647 6.3. External Informative References 1649 [IEEE802154e] 1650 IEEE standard for Information Technology, "IEEE std. 1651 802.15.4e, Part. 15.4: Low-Rate Wireless Personal Area 1652 Networks (LR-WPANs) Amendment 1: MAC sublayer", April 1653 2012. 1655 [IEEE802154] 1656 IEEE standard for Information Technology, "IEEE std. 1657 802.15.4, Part. 15.4: Wireless Medium Access Control (MAC) 1658 and Physical Layer (PHY) Specifications for Low-Rate 1659 Wireless Personal Area Networks", June 2011. 1661 [OpenWSN] Watteyne, T., Vilajosana, X., Kerkez, B., Chraim, F., 1662 Weekly, K., Wang, Q., Glaser, S., and K. Pister, "OpenWSN: 1663 a Standards-Based Low-Power Wireless Development 1664 Environment", Transactions on Emerging Telecommunications 1665 Technologies , August 2012. 1667 [morell04label] 1668 Morell, A., Vilajosana, X., Lopez-Vicario, J., and T. 1669 Watteyne, "Label Switching over IEEE802.15.4e Networks. 1670 Transactions on Emerging Telecommunications Technologies", 1671 June 2013. 1673 Authors' Addresses 1675 Qin Wang (editor) 1676 Univ. of Sci. and Tech. Beijing 1677 30 Xueyuan Road 1678 Beijing, Hebei 100083 1679 China 1681 Phone: +86 (10) 6233 4781 1682 Email: wangqin@ies.ustb.edu.cn 1684 Xavier Vilajosana 1685 Universitat Oberta de Catalunya 1686 156 Rambla Poblenou 1687 Barcelona, Catalonia 08018 1688 Spain 1690 Phone: +34 (646) 633 681 1691 Email: xvilajosana@uoc.edu 1693 Thomas Watteyne 1694 Linear Technology 1695 30695 Huntwood Avenue 1696 Hayward, CA 94544 1697 USA 1699 Phone: +1 (510) 400-2978 1700 Email: twatteyne@linear.com