draft-ietf-6tisch-6top-interface-02.txt   draft-ietf-6tisch-6top-interface-03.txt 
6TiSCH Q. Wang, Ed. 6TiSCH Q. Wang, Ed.
Internet-Draft Univ. of Sci. and Tech. Beijing Internet-Draft Univ. of Sci. and Tech. Beijing
Intended status: Informational X. Vilajosana Intended status: Informational X. Vilajosana
Expires: April 30, 2015 Universitat Oberta de Catalunya Expires: September 10, 2015 Universitat Oberta de Catalunya
T. Watteyne T. Watteyne
Linear Technology Linear Technology
October 27, 2014 March 9, 2015
6TiSCH Operation Sublayer (6top) Interface 6TiSCH Operation Sublayer (6top) Interface
draft-ietf-6tisch-6top-interface-02 draft-ietf-6tisch-6top-interface-03
Abstract Abstract
This document defines a generic data model for the 6TiSCH Operation This document defines a generic data model for the 6TiSCH Operation
Sublayer (6top), using the YANG data modeling language. This data Sublayer (6top), using the YANG data modeling language. This data
model can be used for future network management solutions defined by model can be used for future network management solutions defined by
the 6TiSCH working group. This document also defines a list of the 6TiSCH working group. This document also defines a list of
commands for the internal use of the 6top sublayer and or to be used commands for the internal use of the 6top sublayer and/or to be used
by implementers as an API guideline or basic specification. by implementers as an API guideline or basic specification.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 30, 2015. This Internet-Draft will expire on September 10, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
skipping to change at page 2, line 20 skipping to change at page 2, line 20
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
3. 6TiSCH Operation Sublayer (6top) Overview . . . . . . . . . . 3 3. 6TiSCH Operation Sublayer (6top) Overview . . . . . . . . . . 3
3.1. Cell Model . . . . . . . . . . . . . . . . . . . . . . . 4 3.1. Cell Model . . . . . . . . . . . . . . . . . . . . . . . 4
3.1.1. hard cells . . . . . . . . . . . . . . . . . . . . . 6 3.1.1. hard cells . . . . . . . . . . . . . . . . . . . . . 6
3.1.2. soft cells . . . . . . . . . . . . . . . . . . . . . 6 3.1.2. soft cells . . . . . . . . . . . . . . . . . . . . . 6
3.2. Data Transfer Model . . . . . . . . . . . . . . . . . . . 6 3.2. Data Transfer Model . . . . . . . . . . . . . . . . . . . 6
4. Generic Data Model . . . . . . . . . . . . . . . . . . . . . 8 4. Generic Data Model . . . . . . . . . . . . . . . . . . . . . 8
4.1. YANG model of the 6top MIB . . . . . . . . . . . . . . . 8 4.1. YANG model of the 6top MIB . . . . . . . . . . . . . . . 8
4.2. YANG model of the IEEE802.15.4 PIB . . . . . . . . . . . 24 4.2. YANG model of the IEEE802.15.4 PIB . . . . . . . . . . . 27
5. Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.3. Yang Model for the Security aspects of 6top . . . . . . . 32
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 5. Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.1. Normative References . . . . . . . . . . . . . . . . . . 33 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2. Informative References . . . . . . . . . . . . . . . . . 33 6.1. Normative References . . . . . . . . . . . . . . . . . . 37
6.3. External Informative References . . . . . . . . . . . . . 34 6.2. Informative References . . . . . . . . . . . . . . . . . 37
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 6.3. External Informative References . . . . . . . . . . . . . 38
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39
1. Introduction 1. Introduction
This document defines a generic data model for the 6TiSCH Operation This document defines a generic data model for the 6TiSCH Operation
Sublayer (6top), using the YANG data modeling language defined in Sublayer (6top), using the YANG data modeling language defined in
[RFC6020]. This data model can be used for future network management [RFC6020]. This data model can be used for future network management
solutions defined by the 6TiSCH working group. This document also solutions defined by the 6TiSCH working group. This document also
defines a list commands internal to the 6top sublayer. This data defines a list commands internal to the 6top sublayer. This data
model gives access to metrics (e.g. cell state), TSCH configuration model gives access to metrics (e.g. cell state), TSCH configuration
and control procedures, and support for the different scheduling and control procedures, and support for the different scheduling
skipping to change at page 8, line 32 skipping to change at page 8, line 32
This section presents the generic data model of the 6top sublayer, This section presents the generic data model of the 6top sublayer,
using the YANG data modeling langage. This data model can be used using the YANG data modeling langage. This data model can be used
for future network management solutions defined by the 6TiSCH working for future network management solutions defined by the 6TiSCH working
group. The data model consists of the MIB (management information group. The data model consists of the MIB (management information
base) defined in 6top, and part of the PIB (personal area network base) defined in 6top, and part of the PIB (personal area network
information base) defined in [IEEE802154e] and [IEEE802154]. information base) defined in [IEEE802154e] and [IEEE802154].
4.1. YANG model of the 6top MIB 4.1. YANG model of the 6top MIB
list CellList { typedef nodeaddresstype {
key "CellID"; type uint64;
description
"The type to store node address. It can be 64bits EUI address;
or the short address defined by 6top, constrained by TSCH
macNodeAddress size, 2-octets. If using TSCH as MAC, the
higher 6-octets should be filled with 0, and lowest 2-octets
is neighbor short address";
}
list CellList {
key "CellID";
min-elements 1;
unique "SlotframeID SlotOffset ChannelOffset";
description
"List of scheduled cells of a node with all of its neighbors,
in all of its slotframes.";
leaf CellID {
type uint16;
description
"Equal to Linkhandle in the linkTable of TSCH";
reference
"IEEE802154e";
}
leaf SlotframeID {
type leafref {
path "/SlotframeList/SlotframeID";
}
description
"SlotframeID, one in SlotframeList, indicates the slotframe
the cell belongs to.";
reference
"IEEE802154e";
}
leaf SlotOffset {
type uint16;
description
"Defined in IEEE802154e.";
reference
"IEEE802154e";
}
leaf ChannelOffset {
type uint16;
description
"Defined in IEEE802154e. Value range is 0..15";
reference
"IEEE802154e";
}
leaf LinkOption {
type bits {
bit Transmit {
position 0;
}
bit Receive {
position 1;
}
bit Share {
position 2;
}
bit Timekeeping {
position 3;
}
bit Reserved1 {
position 4;
}
bit Reserved2 {
position 5;
}
bit Reserved3 {
position 6;
}
bit Reserved4 {
position 7;
}
}
description
"Defined in IEEE802154e.";
reference
"IEEE802154e";
}
leaf LinkType {
type enumeration {
enum NORMAL;
enum ADVERTISING;
}
description
"Defined in IEEE802154";
reference
"IEEE802154";
}
leaf CellType {
type enumeration {
enum SOFT;
enum HARD;
}
description
"Defined in 6top";
}
leaf NodeAddress {
type nodeaddresstype;
description
"specify the target node address.";
}
leaf TrackID {
type leafref {
path "/TrackList/TrackId";
}
description
"A TrackID is one in the TrackList, pointing to a tuple
(TrackOwnerAddr,InstanceID) , where TrackOwnerAddr is the
address of the node which initializes the process of
creating the track, i.e., the owner of the track; and
InstanceID is an instance identifier given by the owner of
the track.";
}
container Statistic {
leaf NumOfStatistic {
mandatory true;
type uint8;
description
"Number of statistics collected on the cell";
}
list MeasureList {
key "StatisticsMetricsID";
min-elements 1;
leaf StatisticsMetricsID{
type leafref {
path "/StatisticsMetricsList/StatisticsMetricsID";
}
description
"An index of StatisticsMetricList, which defines how
to collect data and get the statistice value";
}
leaf StatisticsValue{
type uint16;
config false;
description
"updated by 6top according to the statistics method
specified by StatisticsMetricsID";
}
}
}
}
list SlotframeList {
key "SlotframeID";
min-elements 1;
description description
"List of scheduled cells of a node with all of its neighbors, "List of all of the slotframes used by the node.";
in all of its slotframes.";
leaf CellID {
type uint16;
description
"Equal to Linkhandle in the linkTable of TSCH";
reference
"IEEE802154e";
}
leaf SlotframeID { leaf SlotframeID {
mandatory true;
type uint8; type uint8;
description description
"SlotframeID, one in SlotframeList, indicates the slotframe "Equal to SlotframeHandle defined in TSCH";
the cell belongs to.";
reference
"IEEE802154e";
}
leaf SlotOffset {
type uint16;
description
"Defined in IEEE802154e.";
reference
"IEEE802154e";
}
leaf ChannelOffset {
type uint16;
description
"Defined in IEEE802154e.";
reference
"IEEE802154e";
}
leaf LinkOption {
type bits {
bit Transmit {
position 0;
}
bit Receive {
position 1;
}
bit Share {
position 2;
}
bit Timekeeping {
position 3;
}
bit Reserved1 {
position 4;
}
bit Reserved2 {
position 5;
}
bit Reserved3 {
position 6;
}
bit Reserved4 {
position 7;
}
}
description
"Defined in IEEE802154e.";
reference reference
"IEEE802154e"; "IEEE802154e";
} }
leaf LinkType { leaf NumOfSlots {
type enumeration { mandatory true;
enum NORMAL; type uint16 {
enum ADVERTISING; range "1..max";
}
description
"Defined in IEEE802154";
reference
"IEEE802154";
}
leaf CellType {
type enumeration {
enum SOFT;
enum HARD;
} }
description description
"Defined in 6top"; "indicates how many timeslots in the slotframe";
}
leaf TargetNodeAddress {
type uint64;
description
"Defined by 6top, but being constrained by TSCH
macNodeAddress size, 2-octets. If using TSCH as MAC,
higher 6-octets should be filled with 0, and lowest
2-octets is neighbor address";
}
leaf TrackID {
type uint16;
description
"A TrackID is one in the TrackList, pointing to a tuple
(TrackOwnerAddr,InstanceID) , where TrackOwnerAddr is the
address of the node which initializes the process of
creating the track, i.e., the owner of the track; and
InstanceID is an instance identifier given by the owner of
the track.";
}
container Statistic {
leaf NumOfStatistic {
type uint8;
description
"Number of statistics collected on the cell";
}
list MeasureList {
key "StatisticsMetricsID";
leaf StatisticsMetricsID{
type uint16;
description
"An index of StatisticsMetricList, which defines how
to collect data and get the statistics value";
}
leaf StatisticsValue{
type uint16;
config false;
description
"updated by 6top according to the statistics method
specified by StatisticsMetricsID";
}
}
} }
} }
list SlotframeList { list Version {
key "SlotframeID"; key "Version";
description description
"List of all of the slotframes used by the node."; "Provides a unique identification for the set of resources
defined in this draft. Provides a major and minor version
number that may be accessible independently";
leaf SlotframeID { leaf major {
type uint8; type uint8;
}
leaf minor {
type uint8;
}
}
list MonitoringStatusList {
key "MonitoringStatusID";
min-elements 1;
unique "SlotframeID NodeAddress";
description
"List of the monitoring configuration and results per
slotframe and neighbor. Basically, it is used for Monitoring
Function of 6top to re-allocate softcells or initial the
softcell negotiation process to increase/decrease number of
softcells. Upper layer can use it also.";
leaf MonitoringStatusID {
type uint16;
}
leaf SlotframeID {
type leafref {
path "/SlotframeList/SlotframeID";
}
description
"SlotframeID, one in SlotframeList, indicates the slotframe
being monitored";
reference
"IEEE802154e";
}
leaf NodeAddress {
type nodeaddresstype;
}
leaf EnforcePolicy {
type enumeration {
enum DISABLE;
enum BESTEFFORT;
enum STRICT;
enum OVERPROVISION;
}
default DISABLE;
description
"Currently enforced QoS policy. DISABLE-no QoS;
BESTEFFORT- best effort policy is used; STRICT- Strict
Priority Queueing; OVERPROVISION- cell overprovision";
}
leaf AllocatedHard {
type uint16;
config false;
description
"Number of hard cells allocated";
}
leaf AllocatedSoft {
type uint16;
config false;
description
"Number of soft cells allocated";
}
leaf OverProvision {
type uint16;
config false;
must "../EnforcePolicy < > DISABLE ./";
description
"Overprovisioned cells. 0 if EnforcePolicy is
DISABLE";
}
leaf QoS {
type uint16;
config false;
description
"Current QoS including overprovisioned cells, i.e. the
bandwidth obtained including the overprovisioned cells.";
}
leaf NQoS {
type uint16;
config false;
description
"Real QoS without over provisioned cells, i.e. the actual
bandwidth without taking into account the overprovisioned
cells.";
}
}
list StatisticsMetricsList {
key "StatisticsMetricsID";
min-elements 1;
unique "SlotframeID SlotOffset ChannelOffset NodeAddress";
description
"List of Statistics Metrics used in the node.";
leaf StatisticsMetricsID {
type uint16;
}
leaf SlotframeID {
type leafref {
path "/SlotframeList/SlotframeID";
}
description description
"Equal to SlotframeHandle defined in TSCH"; "SlotframeID, one in SlotframeList, specifies the slotframe to
which the statistics metrics applies to. If empty, applies to
all slotframes";
reference reference
"IEEE802154e"; "IEEE802154e";
} }
leaf NumOfSlots { leaf SlotOffset {
type uint16; type uint16;
description description
"indicates how many timeslots in the slotframe"; "Specific slotOffset to which the statistics metrics applies
} to. If empty, applies to all timeslots";
} reference
"IEEE802154e";
list MonitoringStatusList { }
key "MonitoringStatusID"; leaf ChannelOffset {
type uint16;
description description
"List of the monitoring configuration and results per "Specific channelOffset to which the statistics metrics applies
slotframe and neighbor. Basically, it is used for Monitoring to. If empty, applies to all channels";
Function of 6top to re-allocate softcells or initial the reference
softcell negotiation process to increase/decrease number of "IEEE802154e";
softcells. Upper layer can use it also."; }
leaf MonitoringStatusID {
type uint16;
}
leaf SlotframeID {
type uint8;
description
"SlotframeID, one in SlotframeList, indicates the slotframe
being monitored";
reference
"IEEE802154e";
}
leaf TargetNodeAddress {
type uint64;
description
"Defined by 6top, but being constrained by TSCH
macNodeAddress size, 2-octets. If using TSCH as MAC,
higher 6-octets should be filled with 0, and lowest
2-octets is neighbor address. It indicates the communication
link being mornitored";
}
leaf EnforcePolicy {
type enumeration {
enum DISABLE;
enum BESTEFFORT;
enum STRICT;
enum OVERPROVISION;
}
description
"Currently enforced QoS policy. DISABLE-no QoS;
BESTEFFORT- best effort policy is used; STRICT- Strict
Priority Queueing; OVERPROVISION- cell overprovision";
}
leaf AllocatedHard {
type uint16;
config false;
description
"Number of hard cells allocated";
}
leaf AllocatedSoft {
type uint16;
config false;
description
"Number of soft cells allocated";
}
leaf OverProvision {
type uint16;
config false;
description
"Overprovisioned cells. 0 if EnforcePolicy is
DISABLE";
}
leaf QoS {
type uint16;
config false;
description
"Current QoS including overprovisioned cells, i.e. the
bandwidth obtained including the overprovisioned cells.";
}
leaf NQoS {
type uint16;
config false;
description
"Real QoS without over provisioned cells, i.e. the actual
bandwidth without taking into account the overprovisioned
cells.";
}
}
list StatisticsMetricsList { leaf NodeAddress {
key "StatisticsMetricsID"; type nodeaddresstype;
description description
"List of Statistics Metrics used in the node. Statistics can be set and queried."; "If NodeAddress is empty, applies to all neighbor nodes.";
}
leaf StatisticsMetricsID { leaf Metrics {
type uint16; type enumeration {
}
leaf SlotframeID {
type uint16;
description
"SlotframeID, one in SlotframeList, specifies the slotframe to
which the statistics metrics applies to. If empty, applies to
all slotframes";
reference
"IEEE802154e";
}
leaf SlotOffset {
type uint16;
description
"Specific slotOffset to which the statistics metrics applies
to. If empty, applies to all timeslots";
reference
"IEEE802154e";
}
leaf ChannelOffset {
type uint8;
description
"Specific channelOffset to which the statistics metrics applies
to. If empty, applies to all channels";
reference
"IEEE802154e";
}
leaf TargetNodeAddress {
type uint64;
description
"Specific neighbor nodes to which the statistics metrics
applies to. If empty, applies to all neighbor nodes.";
}
leaf Metrics {
type enumeration {
enum macCounterOctets enum macCounterOctets
enum macRetryCount enum macRetryCount
enum macMultipleRetryCount enum macMultipleRetryCount
enum macTXFailCount enum macTXFailCount
enum macTXSuccessCount enum macTXSuccessCount
enum macFCSErrorCount enum macFCSErrorCount
enum macSecurityFailure enum macSecurityFailure
enum macDuplicateFrameCount enum macDuplicateFrameCount
enum macRXSuccessCount enum macRXSuccessCount
enum macNACKcount enum macNACKcount
enum PDR; enum PDR;
enum ETX; enum ETX;
enum RSSI; enum RSSI;
enum LQI; enum LQI;
} }
description description
"The metric to be monitored. Include those provided by underlying IEEE 802.15.4e TSCH -- see table 4i (2012). PDR,ETX,RSSI,LQI are maintained by 6top. "; "The metric to be monitored. Include those provided by underlying
} IEEE 802.15.4e TSCH -- see table 4i (2012).
leaf Window { PDR,ETX,RSSI,LQI are maintained by 6top. ";
type uint16; }
description leaf Window {
"measurement period, in Number of the slotframes. If not specified the metrics are updated continuously in time. If a period is specified the metric values are given for the specified time-window"; type uint16;
} description
leaf Enable { "measurement period, in Number of the slotframe size";
type enumeration { }
enum DISABLE; leaf Enable {
enum ENABLE; type enumeration {
} enum DISABLE;
description enum ENABLE;
"indicates the StatisticsMetric is active or not"; }
} default DISABLE;
description
"indicates the StatisticsMetric is active or not";
}
} }
list EBList { list EBList {
key "EbID"; key "EbID";
min-elements 1;
description description
"List of information related with the EBs used by the node"; "List of information related with the EBs used by the node";
leaf EbID { leaf EbID {
type uint8; type uint8;
} }
leaf CellID { leaf CellID {
type uint16; type leafref {
description path "/CellList/CellID";
"CellID, one in CellList, indicates the cell used to send }
EB"; description
} "CellID, one in CellList, indicates the cell used to send
leaf SlotframeId{ EB";
type uint8;
description
"SlotframeID, one in SlotframeList, indicates the
slotframe to which the EB is send";
} }
leaf Period { leaf Peroid {
type uint16; type uint16;
description description
"The EBs period, in seconds, indicates the interval between "The EBs period, in seconds, indicates the interval between
two EB sends"; two EB sendings";
} }
leaf Expiration { leaf Expiration {
type enumeration { type enumeration {
enum NEVERSTOP; enum NEVERSTOP;
enum EXPIRATION; enum EXPIRATION;
} }
description description
"NEVERSTOP- the period of the EB never stops; EXPIRATION- "NEVERSTOP- the period of the EB never stops; EXPIRATION-
when the Period arrives, the EB will stop."; when the Period arrives, the EB will stop.";
} }
leaf Priority { leaf Priority {
type uint8; type uint8;
description description
"The joining priority model that will be used for "The joining priority model that will be used for
advertisements. Joining priority MAY be for example advertisements. Joining priority MAY be for example
SAME_AS_PARENT, RANDOM, BEST_PARENT+1 or SAME_AS_PARENT, RANDOM, BEST_PARENT+1 or
DAGRANK(rank)."; DAGRANK(rank).";
} }
} }
container TimeSource { container TimeSource {
description description
"specify the timesource selection policy and some relative "specify the timesource selection policy and some relative
statistics."; statistics. ";
leaf policy { leaf policy {
type enumeration { type enumeration {
enum ALLPARENT; enum ALLPARENT;
enum BESTCONNECTED; enum BESTCONNECTED;
enum LOWESTJOINPRIORITY; enum LOWESTJOINPRIORITY;
} }
description default LOWESTJOINPRIORITY;
"indicates the policy to choose timesource. ALLPARENT- choose description
from all parents; BESTCONNECTED- choose the best-connected "indicates the policy to choose timesource. ALLPARENT- choose
node; LOWESTJOINPRIORITY- choose the node with lowest priority from all parents; BESTCONNECTED- choose the best-connected
in its EB."; node; LOWESTJOINPRIORITY- choose the node with lowest priority
} in its EB.";
leaf TargetNodeAddress {
type uint64;
description
"Address of the time source neighbor";
}
leaf MinTimeCorrection {
type uint16;
config false;
description
"measured in microsecond";
}
leaf MaxTimeCorrection {
type uint16;
config false;
description
"measured in microsecond";
}
leaf AveTimeCorrection {
type uint16;
config false;
description
"measured and computed in microsecond";
}
}
typedef asntype {
description
"The type to store ASN. String of 5 bytes";
type string {
length "0..5";
}
} }
list NeighborList { leaf NodeAddress {
key "TargetNodeAddress"; type nodeaddresstype;
description description
"statistics per communication link."; "Specifies the address of selected time source neighbors.";
}
leaf TargetNodeAddress { leaf MinTimeCorrection {
type uint64; type uint16;
description config false;
"Address of the time source neighbor"; description
} "measured in microsecond";
leaf RSSI { }
type uint8; leaf MaxTimeCorrection {
config false; type uint16;
description config false;
"The received signal strength"; description
} "measured in microsecond";
leaf LinkQuality { }
type uint8; leaf AveTimeCorrection {
config false; type uint16;
config false;
description
"measured and computed in microsecond";
}
}
typedef asntype {
description description
"The LQI metric"; "The type to store ASN. String of 5 bytes";
type string {
length "0..5";
}
} }
leaf ASN {
type asntype; list NeighborList {
config false; key "NodeAddress";
description description
"The 5 ASN bytes, indicates the most recent timeslot when a "statistics per communication link. ";
packet from the neighbor was received";
leaf NodeAddress {
type nodeaddresstype;
description
"Specifies the address of the neighbor.";
}
leaf RSSI {
type uint8;
config false;
description
"The received signal strength";
}
leaf LinkQuality {
type uint8;
config false;
description
"The LQI metric";
}
leaf ASN {
type asntype;
config false;
description
"The 5 ASN bytes, indicates the most recent timeslot when a
packet from the neighbor was received";
}
} }
}
list QueueList { list QueueList {
key "QueueId"; key "QueueId";
description min-elements 1;
"List of Queues, including configuration and statistics."; description
"List of Queues, including configuration and statistics.";
leaf QueueId { leaf QueueId {
type uint8; type uint8;
description description
"Queue Identifier"; "Queue Identifier";
}
} leaf TxqLength {
leaf TxqLength {
type uint8; type uint8;
description description
"The TX queue length in number of packets"; "The TX queue length in number of packets";
} }
leaf RxqLength { leaf RxqLength {
type uint8; type uint8;
description description
"The RX queue length in number of packets"; "The RX queue length in number of packets";
} }
leaf NumrTx { leaf NumrTx {
type uint8; type uint8;
description description
"Number of allowed retransmissions."; "Number of allowed retransmissions.";
} }
leaf Age { leaf Age {
type uint16; type uint16;
description description
"In seconds. Discard packet according to its age "In seconds. Discard packet according to its age
on the queue. 0 if no discards are allowed."; on the queue. 0 if no discards are allowed.";
} }
leaf RTXbackoff { leaf RTXbackoff {
type uint8; type uint8;
description description
"retransmission backoff in number of slotframes. "retransmission backoff in number of slotframes.
0 if next available timeslot wants to be used."; 0 if next available timeslot wants to be used.";
} }
leaf StatsWindow { leaf StatsWindow {
type uint16; type uint16;
description description
"In second, window of time used to compute stats."; "In second, window of time used to compute stats.";
} }
leaf QueuePriority { leaf QueuePriority {
type uint8; type uint8;
description description
"The priority for this queue."; "The priority for this queue.";
} }
list TrackIds { list TrackIds {
key "TrackID"; key "TrackID";
leaf TrackID{ leaf TrackID{
type uint16; type leafref {
description path "/TrackList/TrackId";
"The TrackID, one in TrackList, indicates the Track is }
associated with the Queue."; description
"The TrackID, one in TrackList, indicates the Track is
associated with the Queue.";
} }
} }
leaf MinLenTXQueue { leaf MinLenTXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, lowest TX queue length registered in the window."; "Statistics, lowest TX queue length registered in the window.";
} }
leaf MaxLenTXQueue { leaf MaxLenTXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, largest TX queue length registered in the "Statistics, largest TX queue length registered in the
window."; window.";
} }
leaf AvgLenTXQueue { leaf AvgLenTXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, avg TX queue length registered in the window."; "Statistics, avg TX queue length registered in the window.";
} }
leaf MinLenRXQueue { leaf MinLenRXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, lowest RX queue length registered in the window."; "Statistics, lowest RX queue length registered in the window.";
} }
leaf MaxLenRXQueue { leaf MaxLenRXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, largest RX queue len registered in the window."; "Statistics, largest RX queue len registered in the window.";
} }
leaf AvgLenRXQueue { leaf AvgLenRXQueue {
type uint8; type uint8;
config false; config false;
description description
"Statistics, avg RX queue length registered in the window."; "Statistics, avg RX queue length registered in the window.";
} }
leaf MinRetransmissions { leaf MinRetransmissions {
type uint8; type uint8;
config false; config false;
description description
"Statistics, lowest number of retransmissions registered in "Statistics, lowest number of retransmissions registered in
the window."; the window.";
} }
leaf MaxRetransmissions { leaf MaxRetransmissions {
type uint8; type uint8;
config false; config false;
description description
"Statistics, largest number of retransmissions registered "Statistics, largest number of retransmissions registered
in the window."; in the window.";
} }
leaf AvgRetransmissions { leaf AvgRetransmissions {
type uint8; type uint8;
config false; config false;
description description
"Statistics, average number of retransmissions registered "Statistics, average number of retransmissions registered
in the window."; in the window.";
} }
leaf MinPacketAge { leaf MinPacketAge {
type uint16; type uint16;
config false; config false;
description description
"Statistics, in seconds, minimum time a packet stayed in "Statistics, in seconds, minimum time a packet stayed in
the queue during the observed window."; the queue during the observed window.";
} }
leaf MaxPacketAge { leaf MaxPacketAge {
type uint16; type uint16;
config false; config false;
description description
"Statistics, in seconds, maximum time a packet stayed "Statistics, in seconds, maximum time a packet stayed
in the queue during the observed window."; in the queue during the observed window.";
} }
leaf AvgPacketAge { leaf AvgPacketAge {
type uint16; type uint16;
config false; config false;
description description
"Statistics, in seconds, average time a packet stayed in "Statistics, in seconds, average time a packet stayed in
the queue during the observed window."; the queue during the observed window.";
} }
leaf MinBackoff { leaf MinBackoff {
type uint8; type uint8;
config false; config false;
description description
"Statistics, in number of slotframes, minimum Backoff "Statistics, in number of slotframes, minimum Backoff
for a packet in the queue during the observed window."; for a packet in the queue during the observed window.";
} }
leaf MaxBackoff { leaf MaxBackoff {
type uint8; type uint8;
config false; config false;
description description
"Statistics, in number of slotframes, maximum Backoff "Statistics, in number of slotframes, maximum Backoff
for a packet in the queue during the observed window."; for a packet in the queue during the observed window.";
}
leaf AvgBackoff { }
leaf AvgBackoff {
type uint8; type uint8;
config false; config false;
description description
"Statistics, in number of slotframes, average Backoff "Statistics, in number of slotframes, average Backoff
for a packet in the queue during the observed window."; for a packet in the queue during the observed window.";
} }
} }
list LabelSwitchList {
list LabelSwitchList { key "LabelSwitchID";
key "LabelSwitchID"; description
description "List of Label switch' configuration on the node";
"List of Label switch' configuration on the node";
leaf LabelSwitchID { leaf LabelSwitchID {
type uint16; type uint16;
} }
list InputCellIds { list InputCellIds {
key "CellID"; key "CellID";
leaf CellID{ leaf CellID{
type uint16; type leafref {
description path "/CellList/CellID";
"The CellID, indicates the Rx cell on which the packet will }
come in."; description
"The CellID, indicates the Rx cell on which the packet will
come in.";
} }
} }
list OutputCellIds { list OutputCellIds {
key "CellID"; key "CellID";
leaf CellID{ leaf CellID{
type uint16; type leafref {
description path "/CellList/CellID";
"The CellID, indicates the Tx cell on which the received }
packet should be sent out."; description
"The CellID, indicates the Tx cell on which the received
packet should be sent out.";
} }
} }
leaf LoadBalancingPolicy { leaf LoadBalancingPolicy {
type enumeration { type enumeration {
enum ROUNDROBIN; enum ROUNDROBIN;
enum OTHER; enum OTHER;
} }
description description
"The load-balancing policy. ROUNDROBIN- Round robin algorithm "The load-balancing policy. ROUNDROBIN- Round robin algorithm
is used for forwarding scheduling."; is used for forwarding scheduling.";
} }
} }
list TrackList { list TrackList {
key "TrackId"; key "TrackId";
description min-elements 1;
"List of the tracks through the node."; unique "TrackOwnerAddr InstanceID";
description
"List of the tracks through the node. At lease the best effort
track is existing";
leaf TrackId { leaf TrackId {
type uint16; type uint16;
description description
"Track Identifier, named locally. It is used to refer to the "Track Identifier, named locally. It is used to refer to the
tuple (TrackOwnerAddr, InstanceID)."; tuple (TrackOwnerAddr, InstanceID).";
}
leaf TrackOwnerAddr {
type uint64;
description
"The address of the node which initializes the process of
creating the track, i.e., the owner of the track;";
}
leaf InstanceID {
type uint16;
description
"InstanceID is an instance identifier given by the owner of
the track. InstanceID comes from upper layer; InstanceID could
for example be the local instance ID defined in RPL.";
}
} }
list ChunkList { leaf TrackOwnerAddr {
key "ChunkId"; type uint64;
description description
"List of the chunks assigned to the node."; "The address of the node which initializes the process of
creating the track, i.e., the owner of the track;";
}
leaf InstanceID {
type uint16;
description
"InstanceID is an instance identifier given by the owner of
the track. InstanceID comes from upper layer; InstanceID could
for example be the local instance ID defined in RPL.";
}
}
list ChunkList {
key "ChunkId";
description
"List of the chunks assigned to the node.";
leaf ChunkId{ leaf ChunkId{
type uint16; type uint16;
description description
"The identifier of a chunk"; "The identifier of a chunk";
} }
leaf SlotframeId{ leaf SlotframeId{
type uint8; type leafref {
description path "/SlotframeList/SlotframeID";
"SlotframeID, one in SlotframeList, indicates the }
slotframe to which the chunk belongs"; description
} "SlotframeID, one in SlotframeList, indicates the
leaf SlotBase { slotframe to which the chunk belongs";
type uint16; }
description leaf SlotBase {
"the base slotOffset of the chunk in the slotframe"; type uint16;
} description
leaf SlotStep { "the base slotOffset of the chunk in the slotframe";
type uint8; }
description leaf SlotStep {
"the slot incremental of the chunk"; type uint8;
} description
leaf ChannelBase { "the slot incremental of the chunk";
type uint8; }
description leaf ChannelBase {
"the base channelOffset of the chunk"; type uint16;
} description
leaf ChannelStep { "the base channelOffset of the chunk";
type uint8; }
description leaf ChannelStep {
"the channel incremental of the chunk"; type uint8;
} description
leaf ChunkSize { "the channel incremental of the chunk";
type uint8; }
description leaf ChunkSize {
"the number of cells in the chunk. The chunk is the set type uint8;
of (slotOffset(i), channelOffset(i)), description
i=0..Chunksize-1, "the number of cells in the chunk. The chunk is the set
slotOffset(i)= (slotBase + i * slotStep) % slotframeLen, of (slotOffset(i), channelOffset(i)),
channelOffset(i) = (channelBase + i * channelStep) % 16"; i=0..Chunksize-1,
} slotOffset(i)= (slotBase + i * slotStep) % slotframeLen,
} channelOffset(i) = (channelBase + i * channelStep) % 16";
list ChunkCellList { }
key "SlotOffset ChannelOffset"; }
description list ChunkCellList {
"List of all of the cells assigned to the node via the key "SlotOffset ChannelOffset";
assignment of chunks."; description
"List of all of the cells assigned to the node via the
assignment of chunks.";
leaf SlotOffset{ leaf SlotOffset{
type uint16; type uint16;
description description
"The slotoffset of a cell which belongs to a Chunk"; "The slotoffset of a cell which belongs to a Chunk";
} }
leaf ChannelOffset{ leaf ChannelOffset{
type uint16; type uint16;
description description
"The channeloffset of a cell which belongs to a chunk."; "The channeloffset of a cell which belongs to a chunk.";
} }
leaf ChunkId { leaf ChunkId {
type uint16; type leafref{
description path "/ChunkList/ChunkId";
"Identifier of the chunk the cell belongs to"; }
} description
leaf CellID{ "Identifier of the chunk the cell belongs to";
type uint16; }
description leaf CellID{
"Initial value of CellID is 0xFFFF. When the cell is type leafref {
scheduled, the value of CellID is same as that in path "/CellList/CellID";
CellList"; }
} description
leaf ChunkCellStatus { "Initial value of CellID is 0xFFFF. When the cell is
type enumeration { scheduled, the value of CellID is same as that in
enum UNSCHEDULED; CellList";
enum SCHEDULED; }
} leaf ChunkCellStatus {
} type enumeration {
} enum UNSCHEDULED;
enum SCHEDULED;
}
}
}
4.2. YANG model of the IEEE802.15.4 PIB 4.2. YANG model of the IEEE802.15.4 PIB
This section describes the YANG model of the part of PIB This section describes the YANG model of the part of PIB
([IEEE802154] and [IEEE802154e]) used by 6top, such as security ([IEEE802154] and [IEEE802154e]) used by 6top, such as security
related attributes, TSCH related attributes. This part of data will related attributes, TSCH related attributes. This part of data will
be accessed through the MLME-GET and MLME-SET primitive [IEEE802154] be accessed through the MLME-GET and MLME-SET primitive [IEEE802154]
directly, instead of using 6top comannds. directly, instead of using 6top comannds.
TODO the security related attributes will be added after 6TiSCH WG TODO the security related attributes will be added after 6TiSCH WG
has consensus on the security scheme of 6top has consensus on the security scheme of 6top
container TSCHSpecificPIBAttributes { container TSCHSpecificPIBAttributes {
description description
"TSCH specific MAC PIB attributes."; "TSCH specific MAC PIB attributes.";
reference reference
"table 52b in IEEE802.15.4e-2012."; "table 52b in IEEE802.15.4e-2012.";
leaf macMinBE { leaf macMinBE {
type uint8; type uint8;
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
The minimum value of the backoff exponent (BE) in the The minimum value of the backoff exponent (BE) in the
CSMA-CA algorithm or the TSCH-CA algorithm. default: CSMA-CA algorithm or the TSCH-CA algorithm. default:
3-CSMA-CA, 1-TSCH-CA"; 3-CSMA-CA, 1-TSCH-CA";
} }
leaf macMaxBE { leaf macMaxBE {
type uint8; type uint8;
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
The maximum value of the backoff exponent (BE) in the The maximum value of the backoff exponent (BE) in the
CSMA-CA algorithm or the TSCH-CA algorithm. default: CSMA-CA algorithm or the TSCH-CA algorithm. default:
5-CSMA-CA, 7-TSCH-CA"; 5-CSMA-CA, 7-TSCH-CA";
} }
leaf macDisconnectTime { leaf macDisconnectTime {
type uint16; type uint16;
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
Time (in Timeslots) to send out Disassociate frames Time (in Timeslots) to send out Disassociate frames
before disconnecting, default: 0x00ff"; before disconnecting, default: 0x00ff";
} }
leaf macJoinPriority { leaf macJoinPriority {
type uint8; type uint8;
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
The lowest join priority from the TSCH Synchronization The lowest join priority from the TSCH Synchronization
IE in an Enhanced beacon, default: 1"; IE in an Enhanced beacon, default: 1";
} }
leaf macASN { leaf macASN {
type asntype; type asntype;
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
The Absolute Slot Number, i.e., the number of slots The Absolute Slot Number, i.e., the number of slots
that ha elapsed since the start of the network."; that ha elapsed since the start of the network.";
} }
leaf macNoHLBuffers { leaf macNoHLBuffers {
type enumeration { type enumeration {
enum TRUE; enum TRUE;
enum FALSE; enum FALSE;
} }
description description
"defined in Table 52b of IEEE802.15.4e-2012, "defined in Table 52b of IEEE802.15.4e-2012,
If the value is TRUE, the higher layer receiving the If the value is TRUE, the higher layer receiving the
frame payload cannot buffer it, and the device should frame payload cannot buffer it, and the device should
acknowledge frames with a NACK; If FALSE, the higher acknowledge frames with a NACK; If FALSE, the higher
layer can accept the frame payload. default: FALSE"; layer can accept the frame payload. default: FALSE";
} }
} }
list TSCHmacTimeslotTemplate { list TSCHmacTimeslotTemplate {
key "macTimeslotTemplateId"; key "macTimeslotTemplateId";
description min-elements 1;
"List of all timeslot templates used in the node."; description
reference "List of all timeslot templates used in the node.";
"table 52e in IEEE802.15.4e-2012."; reference
"table 52e in IEEE802.15.4e-2012.";
leaf macTimeslotTemplateId { leaf macTimeslotTemplateId {
type uint8; type uint8;
description description
"defined in Table 52e of IEEE802.15.4e-2012. "defined in Table 52e of IEEE802.15.4e-2012.
Identifier of Timeslot Template. default: 0"; Identifier of Timeslot Template. default: 0";
} }
leaf macTsCCAOffset { leaf macTsCCAOffset {
type uint16; type uint16;
description description
"The time between the beginning of timeslot and start "The time between the beginning of timeslot and start
of CCA operation, in microsecond. default: 1800"; of CCA operation, in microsecond. default: 1800";
} }
leaf macTsCCA { leaf macTsCCA {
type uint16; type uint16;
description description
"Duration of CCA, in microsecond. default: 128"; "Duration of CCA, in microsecond. default: 128";
} }
leaf macTsTxOffset { leaf macTsTxOffset {
type uint16; type uint16;
description description
"The time between the beginning of the timeslot and "The time between the beginning of the timeslot and
the start of frame transmission, in microsecond. the start of frame transmission, in microsecond.
default: 2120"; default: 2120";
} }
leaf macTsRxOffset { leaf macTsRxOffset {
type uint16; type uint16;
description description
"Beginning of the timeslot to when the receiver shall "Beginning of the timeslot to when the receiver shall
be listening, in microsecond. default: 1120"; be listening, in microsecond. default: 1120";
} }
leaf macTsRxAckDelay { leaf macTsRxAckDelay {
type uint16; type uint16;
description description
"End of frame to when the transmitter shall listen for "End of frame to when the transmitter shall listen for
Acknowledgment, in microsecond. default: 800"; Acknowledgment, in microsecond. default: 800";
} }
leaf macTsTxAckDelay { leaf macTsTxAckDelay {
type uint16; type uint16;
description description
"End of frame to start of Acknowledgment, in "End of frame to start of Acknowledgment, in
microsecond. microsecond.
default: 1000"; default: 1000";
} }
leaf macTsRxWait { leaf macTsRxWait {
type uint16; type uint16;
description description
"The time to wait for start of frame, in microsecond. "The time to wait for start of frame, in microsecond.
default: 2200"; default: 2200";
} }
leaf macTsAckWait { leaf macTsAckWait {
type uint16; type uint16;
description description
"The minimum time to wait for start of an "The minimum time to wait for start of an
Acknowledgment, in microsecond. default: 400"; Acknowledgment, in microsecond. default: 400";
} }
leaf macTsRxTx { leaf macTsRxTx {
type uint16; type uint16;
description description
"Transmit to Receive turnaround, in microsecond. "Transmit to Receive turnaround, in microsecond.
default: 192"; default: 192";
} }
leaf macTsMaxAck { leaf macTsMaxAck {
type uint16; type uint16;
description description
"Transmission time to send Acknowledgment,in "Transmission time to send Acknowledgment,in
microsecond. default: 2400"; microsecond. default: 2400";
} }
leaf macTsMaxTx { leaf macTsMaxTx {
type uint16; type uint16;
description description
"Transmission time to send the maximum length frame, "Transmission time to send the maximum length frame,
in microsecond. default: 4256"; in microsecond. default: 4256";
} }
leaf macTsTimeslotLength { leaf macTsTimeslotLength {
type uint16; type uint16;
description description
"The total length of the timeslot including any unused "The total length of the timeslot including any unused
time after frame transmission and Acknowledgment, time after frame transmission and Acknowledgment,
in microsecond. default: 10000"; in microsecond. default: 10000";
} }
} }
list TSCHHoppingSequence {
key "macHoppingSequenceID";
description
"List of all channel hopping sequences used in the
nodes";
reference
"Table 52f of IEEE802.15.4e-2012";
leaf macHoppingSequenceID { list TSCHHoppingSequence {
type uint8; key "macHoppingSequenceID";
description min-elements 1;
"defined in Table 52f of IEEE802.15.4e-2012. description
Each hopping sequence has a unique ID. default: 0"; "List of all channel hopping sequences used in the
} nodes";
leaf macChannelPage { reference
type uint8; "Table 52f of IEEE802.15.4e-2012";
description
"Corresponds to the 5 MSBs (b27, ..., b31) of a row leaf macHoppingSequenceID {
in phyChannelsSupported. Note this may not correspond type uint8;
to the current channelPage in use."; description
} "defined in Table 52f of IEEE802.15.4e-2012.
leaf macNumberOfChannels { Each hopping sequence has a unique ID. default: 0";
type uint16; }
description leaf macChannelPage {
"Number of channels supported by the PHY on this type uint8;
channelPage."; description
} "Corresponds to the 5 MSBs (b27, ..., b31) of a row
leaf macPhyConfiguration { in phyChannelsSupported. Note this may not correspond
type uint32; to the current channelPage in use.";
description }
"For channel pages 0 to 6, the 27 LSBs(b0, b1, ..., leaf macNumberOfChannels {
b26) indicate the status (1 = to be used, 0 = not to type uint16;
be used) for each of the up to 27 valid channels description
available to the PHY. For pages 7 and 8, the 27 LSBs "Number of channels supported by the PHY on this
indicate the configuration of the PHY, and the channel channelPage.";
list is contained in the extendedBitmap."; }
} leaf macPhyConfiguration {
leaf macExtendedBitmap { type uint32;
type uint64; description
description "For channel pages 0 to 6, the 27 LSBs(b0, b1, ...,
"For pages 7 and 8, a bitmap of numberOfChannels bits, b26) indicate the status (1 = to be used, 0 = not to
where bk shall indicate the status of channel k for be used) for each of the up to 27 valid channels
each of the up to numberOfChannels valid channels available to the PHY. For pages 7 and 8, the 27 LSBs
supported by that channel page and phyConfiguration. indicate the configuration of the PHY, and the channel
Otherwise field is empty."; list is contained in the extendedBitmap.";
} }
leaf macHoppingSequenceLength { leaf macExtendedBitmap {
type uint16; type uint64;
description description
"The number of channels in the Hopping Sequence. "For pages 7 and 8, a bitmap of numberOfChannels bits,
Does not necessarily equal numberOfChannels."; where bk shall indicate the status of channel k for
} each of the up to numberOfChannels valid channels
list macHoppingSequenceList { supported by that channel page and phyConfiguration.
key "HoppingChannelID"; Otherwise field is empty.";
leaf HoppingChannelID { }
type uint16; leaf macHoppingSequenceLength {
description type uint16;
"channels to be hopped over"; description
} "The number of channels in the Hopping Sequence.
} Does not necessarily equal numberOfChannels.";
leaf macCurrentHop { }
type uint16; list macHoppingSequenceList {
config false; key "HoppingChannelID";
description leaf HoppingChannelID {
"Index of the current position in the hopping sequence type uint16;
list."; description
} "channels to be hopped over";
} }
}
leaf macCurrentHop {
type uint16;
config false;
description
"Index of the current position in the hopping sequence
list.";
}
}
4.3. Yang Model for the Security aspects of 6top
The [I-D.ietf-6tisch-architecture] and
[I-D.richardson-6tisch--security-6top] define the attributes needed
to secure network bootstraping and joining and authentication
processes. The following attributes are exposed by 6top interface to
enable access and configuration to the security mechanisms carried
out by 6top management entity.
container SecurityAttributes{
leaf SecurityMode {
type enumeration {
enum NO_SECURITY;
enum NETWORK_WIDE_MIC;
enum NETWORK_WIDE_DHE_PSK;
enum NETWORK_WIDE_IKE2_PSK;
enum PK_DTLS_ECDSA;
enum PK_IKEv2_ECDSA;
enum OTHER;
}
description
"The security mode is to be used.";
}
leaf-list Certificate{
type uint8;
min-elements 128;
description "A list of bytes for the
certificate ECDSA PKIX or PSK";
}
leaf DevID {
type enumeration {
enum IDevID;
enum LDevID;
}
description " indicate the feature of DevID.";
}
leaf-list PSK{
type uint8;
min-elements 128;
description "A list of bytes for the PSK while using PSK method";
}
leaf PanID {
type uint16;
description "2 Bytes the network PANID";
}
leaf JoinAssistant {
type enumeration {
enum TRUE;
enum FALSE;
}
description "a toggle which enables a node to
become a join assistant.";
}
leaf-list ULA{
type uint8;
min-elements 16;
description "A ULA to be announced in the
RA for joining nodes. It is 128bits+prefixlen.
A device with multiple interfaces
should configure different 64-bit prefixes.";
}
leaf BeaconWellKnownKey{
type string;
default "6TISCHJOIN";
description "the well known beacon key";
}
leaf-list JCEAddress{
type uint8;
min-elements 8;
description "the address of the JCE,
for the ACL about
who can contact joining nodes.";
}
}
5. Commands 5. Commands
6top provides a set of commands as the interface with the higher 6top provides a set of commands as the interface with the higher
layer. Most of these commands are related to the management of layer. Most of these commands are related to the management of
slotframes, cells and scheduling information. 6top also provides an slotframes, cells and scheduling information. 6top also provides an
interface allowing an upper layer to retrieve status information and interface allowing an upper layer to retrieve status information and
statistics. The command set aims to facilitate 6top implementation statistics. The command set aims to facilitate 6top implementation
by describing the main operations that higher layers may use to by describing the main operations that higher layers may use to
interact with 6top. The listed commands aim at providing semantics interact with 6top. The listed commands aim at providing semantics
skipping to change at page 31, line 26 skipping to change at page 36, line 20
READ.eb: Reads the EBs configuration from EBList (Section 4.1). READ.eb: Reads the EBs configuration from EBList (Section 4.1).
CONFIGURE.timesource: Configures the Time Source Neighbor CONFIGURE.timesource: Configures the Time Source Neighbor
selection process, i.e. configure TimeSource (Section 4.1). selection process, i.e. configure TimeSource (Section 4.1).
READ.timesource: Retrieves information about the time source READ.timesource: Retrieves information about the time source
neighbors of that node from TimeSource (Section 4.1). neighbors of that node from TimeSource (Section 4.1).
CREATE.neighbor: Creates an entry for a neighbor in the neighbor CREATE.neighbor: Creates an entry for a neighbor in the neighbor
table, i.e. NeighborList (Section 4.1). table, i.e. NeighborList (Section 4.1).
READ.all.neighbor: Returns the list of neighbors of that node READ.all.neighbor: Returns the list of neighbors of that node
according to NeighborList (Section 4.1). according to NeighborList (Section 4.1).
READ.neighbor: Returns the information of a specific neighbor of READ.neighbor: Returns the information of a specific neighbor of
that node specified by its neighbor address according to that node specified by its neighbor address according to
NeighborList (Section 4.1). NeighborList (Section 4.1).
UPDATE.neighbor: Updates the last status for a given UPDATE.neighbor: Updates the last status for a given
TargetNodeAddress in the NeighborList (Section 4.1). TargetNodeAddress in the NeighborList (Section 4.1).
skipping to change at page 33, line 18 skipping to change at page 38, line 8
6.2. Informative References 6.2. Informative References
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the
Network Configuration Protocol (NETCONF)", RFC 6020, Network Configuration Protocol (NETCONF)", RFC 6020,
October 2010. October 2010.
[I-D.ietf-6tisch-tsch] [I-D.ietf-6tisch-tsch]
Watteyne, T., Palattella, M., and L. Grieco, "Using Watteyne, T., Palattella, M., and L. Grieco, "Using
IEEE802.15.4e TSCH in an IoT context: Overview, Problem IEEE802.15.4e TSCH in an IoT context: Overview, Problem
Statement and Goals", draft-ietf-6tisch-tsch-02 (work in Statement and Goals", draft-ietf-6tisch-tsch-05 (work in
progress), October 2014. progress), January 2015.
[I-D.ietf-6tisch-architecture] [I-D.ietf-6tisch-architecture]
Thubert, P., Watteyne, T., and R. Assimiti, "An Thubert, P., Watteyne, T., Struik, R., and M. Richardson,
Architecture for IPv6 over the TSCH mode of IEEE "An Architecture for IPv6 over the TSCH mode of IEEE
802.15.4e", draft-ietf-6tisch-architecture-03 (work in 802.15.4e", draft-ietf-6tisch-architecture-06 (work in
progress), July 2014. progress), March 2015.
[I-D.ietf-6tisch-terminology] [I-D.ietf-6tisch-terminology]
Palattella, M., Thubert, P., Watteyne, T., and Q. Wang, Palattella, M., Thubert, P., Watteyne, T., and Q. Wang,
"Terminology in IPv6 over the TSCH mode of IEEE "Terminology in IPv6 over the TSCH mode of IEEE
802.15.4e", draft-ietf-6tisch-terminology-02 (work in 802.15.4e", draft-ietf-6tisch-terminology-03 (work in
progress), July 2014. progress), January 2015.
[I-D.ietf-6tisch-minimal] [I-D.ietf-6tisch-minimal]
Vilajosana, X. and K. Pister, "Minimal 6TiSCH Vilajosana, X. and K. Pister, "Minimal 6TiSCH
Configuration", draft-ietf-6tisch-minimal-03 (work in Configuration", draft-ietf-6tisch-minimal-06 (work in
progress), October 2014. progress), March 2015.
[I-D.wang-6tisch-6top-sublayer] [I-D.wang-6tisch-6top-sublayer]
Wang, Q., Vilajosana, X., and T. Watteyne, "6TiSCH Wang, Q., Vilajosana, X., and T. Watteyne, "6TiSCH
Operation Sublayer (6top)", draft-wang-6tisch-6top- Operation Sublayer (6top)", draft-wang-6tisch-6top-
sublayer-01 (work in progress), July 2014. sublayer-01 (work in progress), July 2014.
[I-D.ietf-6tisch-coap] [I-D.ietf-6tisch-coap]
Sudhaakar, R. and P. Zand, "6TiSCH Resource Management and Sudhaakar, R. and P. Zand, "6TiSCH Resource Management and
Interaction using CoAP", draft-ietf-6tisch-coap-01 (work Interaction using CoAP", draft-ietf-6tisch-coap-02 (work
in progress), July 2014. in progress), December 2014.
[I-D.richardson-6tisch--security-6top]
Richardson, M., "6tisch secure join using 6top", draft-
richardson-6tisch--security-6top-04 (work in progress),
November 2014.
6.3. External Informative References 6.3. External Informative References
[IEEE802154e] [IEEE802154e]
IEEE standard for Information Technology, "IEEE std. IEEE standard for Information Technology, "IEEE std.
802.15.4e, Part. 15.4: Low-Rate Wireless Personal Area 802.15.4e, Part. 15.4: Low-Rate Wireless Personal Area
Networks (LR-WPANs) Amendment 1: MAC sublayer", April Networks (LR-WPANs) Amendment 1: MAC sublayer", April
2012. 2012.
[IEEE802154] [IEEE802154]
 End of changes. 104 change blocks. 
728 lines changed or deleted 884 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/