draft-ietf-roll-mopex-cap-00.txt | draft-ietf-roll-mopex-cap-01.txt | |||
---|---|---|---|---|
ROLL R. Jadhav, Ed. | ROLL R. Jadhav, Ed. | |||
Internet-Draft Huawei Tech | Internet-Draft Huawei Tech | |||
Intended status: Standards Track P. Thubert | Intended status: Standards Track P. Thubert | |||
Expires: February 10, 2020 Cisco | Expires: May 4, 2020 Cisco | |||
August 9, 2019 | M. Richardson | |||
Sandelman Software Works | ||||
November 1, 2019 | ||||
Mode of Operation extension and Capabilities | Mode of Operation extension and Capabilities | |||
draft-ietf-roll-mopex-cap-00 | draft-ietf-roll-mopex-cap-01 | |||
Abstract | Abstract | |||
RPL allows different mode of operations which allows nodes to have a | RPL allows different mode of operations which allows nodes to have a | |||
consensus on the basic primitives that must be supported to join the | consensus on the basic primitives that must be supported to join the | |||
network. The MOP field in RFC6550 is of 3 bits and is fast | network. The MOP field in RFC6550 is of 3 bits and is fast | |||
depleting. This document extends the MOP field specification and | depleting. This document extends the MOP field specification and | |||
adds a notion of capabilities using which the nodes can further | adds a notion of capabilities using which the nodes can further | |||
advertise their support for, possibly optional, capabilities. | advertise their support for, possibly optional, capabilities. | |||
skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 38 ¶ | |||
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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 February 10, 2020. | This Internet-Draft will expire on May 4, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 | |||
skipping to change at page 2, line 16 ¶ | skipping to change at page 2, line 18 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Requirements Language and Terminology . . . . . . . . . . 3 | 1.1. Requirements Language and Terminology . . . . . . . . . . 3 | |||
2. Requirements for this document . . . . . . . . . . . . . . . 3 | 2. Requirements for this document . . . . . . . . . . . . . . . 3 | |||
3. Extended MOP Control Message Option . . . . . . . . . . . . . 4 | 3. Extended MOP Control Message Option . . . . . . . . . . . . . 4 | |||
3.1. Final MOP . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.1. Final MOP . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3.2. Handling MOPex . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Handling MOPex . . . . . . . . . . . . . . . . . . . . . 5 | |||
4. Capabilities . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Capabilities . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
4.1. Capability Control Message Option . . . . . . . . . . . . 5 | 4.1. Capability Control Message Option . . . . . . . . . . . . 6 | |||
4.2. Capabilities Handshake . . . . . . . . . . . . . . . . . 5 | 4.2. Capabilities Handshake . . . . . . . . . . . . . . . . . 7 | |||
5. Implementations Consideration . . . . . . . . . . . . . . . . 6 | 5. Implementations Consideration . . . . . . . . . . . . . . . . 7 | |||
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
7.1. Mode of operation: MOPex . . . . . . . . . . . . . . . . 6 | 7.1. Mode of operation: MOPex . . . . . . . . . . . . . . . . 7 | |||
7.2. New options: MOPex and Capabilities . . . . . . . . . . . 7 | 7.2. New options: MOPex and Capabilities . . . . . . . . . . . 8 | |||
7.3. New Registry for Extended-MOP-value . . . . . . . . . . . 7 | 7.3. New Registry for Extended-MOP-value . . . . . . . . . . . 8 | |||
7.4. New Registry for Capabilities Flags . . . . . . . . . . . 7 | 7.4. New Registry for Capabilities Flags . . . . . . . . . . . 8 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 8 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 8 | 9.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
Appendix A. Capability Handshake Example . . . . . . . . . . . . 8 | Appendix A. Capability Handshake Example . . . . . . . . . . . . 9 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
1. Introduction | 1. Introduction | |||
RPL [RFC6550] specifies a proactive distance-vector based routing | RPL [RFC6550] specifies a proactive distance-vector based routing | |||
scheme. The protocol creates a DAG-like structure which operates | scheme. The protocol creates a DAG-like structure which operates | |||
with a given "Mode of Operation" (MOP) determining the minimal and | with a given "Mode of Operation" (MOP) determining the minimal and | |||
mandatory set of primitives to be supported by all the participating | mandatory set of primitives to be supported by all the participating | |||
nodes. | nodes. | |||
MOP as per [RFC6550] is a 3-bit value carried in DIO messages and is | MOP as per [RFC6550] is a 3-bit value carried in DIO messages and is | |||
skipping to change at page 5, line 38 ¶ | skipping to change at page 6, line 7 ¶ | |||
nodes and handshaked as part of RPL signaling. Capabilities are | nodes and handshaked as part of RPL signaling. Capabilities are | |||
embedded as RPL control message option as defined Section 6.7 of | embedded as RPL control message option as defined Section 6.7 of | |||
[RFC6550] in the base messages of DIO, DAO and DAO-ACK signaling. | [RFC6550] in the base messages of DIO, DAO and DAO-ACK signaling. | |||
Note that capabilities and MOPex are mutually exclusive and it is | Note that capabilities and MOPex are mutually exclusive and it is | |||
possible for an implementation to support either or both of the | possible for an implementation to support either or both of the | |||
options. | options. | |||
4.1. Capability Control Message Option | 4.1. Capability Control Message Option | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type = TODO | Capabilities Flags | | | Type = TODO | Option Length | Capabilities TLVs | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: Capabilities Option | Figure 2: Capabilities Option | |||
There are no capability flags defined by this document. | Multiple capabilities could be sent in the same message. The length | |||
field allows the message parser to skip the capability TLV parsing. | ||||
0 1 2 3 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| CAPType |J|C|I|. . . . .| CAPInfo(Opt) | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 3: Capabilities TLV | ||||
Every capability is identified by its type and it may have an | ||||
optional Capability Info. Note that a given capability may or may | ||||
not be diseminated with additional information depending on the 'I' | ||||
flag. | ||||
J = Join only as leaf if capability not understood | ||||
C = Copy capability to children | ||||
I = Cap Info present | ||||
0 1 2 3 | ||||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| CAPLen | Cap Info(format decided by individual cap spec) | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 4: Capabilities Info | ||||
Capability Information provides additional information for the given | ||||
capability. The format of this field should be defined as part the | ||||
individual capability specification and is beyond the scope of this | ||||
document. This document provides a container format for carrying the | ||||
capability and its context information. | ||||
4.2. Capabilities Handshake | 4.2. Capabilities Handshake | |||
The root node could advertise the set of capabilities it supports in | The root node could advertise the set of capabilities it supports in | |||
the DIO message. A node could take advantage of the knowledge that | the DIO message. A node could take advantage of the knowledge that | |||
the root supports a particular capability. Similarly a node could | the root supports a particular capability. Similarly a node could | |||
advertise its capabilities in the DAO message using the capability | advertise its capabilities in the DAO message using the capability | |||
control message option defined in this document. Capabilities | control message option defined in this document. Capabilities | |||
advertised by non-root nodes are strictly a subset of the | advertised by non-root nodes are strictly a subset of the | |||
capabilities advertised by the root. | capabilities advertised by the root. | |||
skipping to change at page 8, line 47 ¶ | skipping to change at page 10, line 19 ¶ | |||
| | | | | | | | |||
| | DAO(CS2) | | | | DAO(CS2) | | |||
| |<-----------| | | |<-----------| | |||
| DAO(CS2) | | | | DAO(CS2) | | | |||
|<------------| | | |<------------| | | |||
| | | | | | | | |||
CS: Capabilities Set | CS: Capabilities Set | |||
CS1: Capabilities set advertised by root | CS1: Capabilities set advertised by root | |||
CS2: Capabilities set advertised by node. CS2 is a subset of CS1. | CS2: Capabilities set advertised by node. CS2 is a subset of CS1. | |||
Figure 3: Capabilities Option | Figure 5: Capabilities Option | |||
Authors' Addresses | Authors' Addresses | |||
Rahul Arvind Jadhav (editor) | Rahul Arvind Jadhav (editor) | |||
Huawei Tech | Huawei Tech | |||
Kundalahalli Village, Whitefield, | Kundalahalli Village, Whitefield, | |||
Bangalore, Karnataka 560037 | Bangalore, Karnataka 560037 | |||
India | India | |||
Phone: +91-080-49160700 | Phone: +91-080-49160700 | |||
skipping to change at line 401 ¶ | skipping to change at page 10, line 41 ¶ | |||
Pascal Thubert | Pascal Thubert | |||
Cisco Systems, Inc | Cisco Systems, Inc | |||
Building D | Building D | |||
45 Allee des Ormes - BP1200 | 45 Allee des Ormes - BP1200 | |||
MOUGINS - Sophia Antipolis 06254 | MOUGINS - Sophia Antipolis 06254 | |||
France | France | |||
Phone: +33 497 23 26 34 | Phone: +33 497 23 26 34 | |||
Email: pthubert@cisco.com | Email: pthubert@cisco.com | |||
Michael Richardson | ||||
Sandelman Software Works | ||||
Email: mcr+ietf@sandelman.ca | ||||
End of changes. 8 change blocks. | ||||
26 lines changed or deleted | 62 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |