| < draft-ietf-manet-dlep-16.txt | draft-ietf-manet-dlep-17.txt > | |||
|---|---|---|---|---|
| Mobile Ad hoc Networks Working Group S. Ratliff | Mobile Ad hoc Networks Working Group S. Ratliff | |||
| Internet-Draft VT iDirect | Internet-Draft VT iDirect | |||
| Intended status: Standards Track B. Berry | Intended status: Standards Track B. Berry | |||
| Expires: January 21, 2016 | Expires: April 17, 2016 | |||
| S. Jury | S. Jury | |||
| Cisco Systems | Cisco Systems | |||
| D. Satterwhite | D. Satterwhite | |||
| Broadcom | Broadcom | |||
| R. Taylor | R. Taylor | |||
| Airbus Defence & Space | Airbus Defence & Space | |||
| July 20, 2015 | October 16, 2015 | |||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-16 | draft-ietf-manet-dlep-17 | |||
| Abstract | Abstract | |||
| When routing devices rely on modems to effect communications over | When routing devices rely on modems to effect communications over | |||
| wireless links, they need timely and accurate knowledge of the | wireless links, they need timely and accurate knowledge of the | |||
| characteristics of the link (speed, state, etc.) in order to make | characteristics of the link (speed, state, etc.) in order to make | |||
| routing decisions. In mobile or other environments where these | routing decisions. In mobile or other environments where these | |||
| characteristics change frequently, manual configurations or the | characteristics change frequently, manual configurations or the | |||
| inference of state through routing or transport protocols does not | inference of state through routing or transport protocols does not | |||
| allow the router to make the best decisions. A bidirectional, event- | allow the router to make the best decisions. A bidirectional, event- | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 44 ¶ | |||
| 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 January 21, 2016. | This Internet-Draft will expire on April 17, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 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 | |||
| skipping to change at page 2, line 26 ¶ | skipping to change at page 2, line 26 ¶ | |||
| 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 | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1. Protocol Overview . . . . . . . . . . . . . . . . . . . . 7 | 1.1. Protocol Overview . . . . . . . . . . . . . . . . . . . . 7 | |||
| 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 | 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3. Core Features and Extensions . . . . . . . . . . . . . . . . 10 | 3. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 10 | 3.1. Mandatory Metrics . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4. DLEP Signal and Message Processing . . . . . . . . . . . . . 10 | |||
| 4.1. Mandatory Metrics . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Transaction Model . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 12 | 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 12 | 5.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 12 | |||
| 5.2. Session Initialization State . . . . . . . . . . . . . . 13 | 5.2. Session Initialization State . . . . . . . . . . . . . . 13 | |||
| 5.3. In-Session State . . . . . . . . . . . . . . . . . . . . 14 | 5.3. In-Session State . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.4. Session Termination State . . . . . . . . . . . . . . . . 16 | 5.3.1. Heartbeats . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 6. DLEP Signal and Message Processing . . . . . . . . . . . . . 16 | 5.4. Session Termination State . . . . . . . . . . . . . . . . 15 | |||
| 7. DLEP Signal and Message Structure . . . . . . . . . . . . . . 17 | 6. Extensions . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 7.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 18 | 6.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 7.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 18 | 7. Scalability . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 7.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 19 | 8. DLEP Signal and Message Structure . . . . . . . . . . . . . . 17 | |||
| 8. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 19 | 8.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 18 | |||
| 8.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 20 | 8.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 19 | |||
| 8.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 21 | 8.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 19 | |||
| 8.3. Session Initialization Message . . . . . . . . . . . . . 21 | 9. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 20 | |||
| 8.4. Session Initialization Response Message . . . . . . . . . 22 | 9.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 21 | |||
| 8.5. Session Update Message . . . . . . . . . . . . . . . . . 24 | 9.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8.6. Session Update Response Message . . . . . . . . . . . . . 25 | 9.3. Session Initialization Message . . . . . . . . . . . . . 22 | |||
| 8.7. Session Termination Message . . . . . . . . . . . . . . . 25 | 9.4. Session Initialization Response Message . . . . . . . . . 23 | |||
| 8.8. Session Termination Response Message . . . . . . . . . . 26 | 9.5. Session Update Message . . . . . . . . . . . . . . . . . 25 | |||
| 8.9. Destination Up Message . . . . . . . . . . . . . . . . . 26 | 9.6. Session Update Response Message . . . . . . . . . . . . . 26 | |||
| 8.10. Destination Up Response Message . . . . . . . . . . . . . 27 | 9.7. Session Termination Message . . . . . . . . . . . . . . . 26 | |||
| 8.11. Destination Down Message . . . . . . . . . . . . . . . . 28 | 9.8. Session Termination Response Message . . . . . . . . . . 27 | |||
| 8.12. Destination Down Response Message . . . . . . . . . . . . 28 | 9.9. Destination Up Message . . . . . . . . . . . . . . . . . 27 | |||
| 8.13. Destination Update Message . . . . . . . . . . . . . . . 29 | 9.10. Destination Up Response Message . . . . . . . . . . . . . 28 | |||
| 8.14. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 30 | 9.11. Destination Down Message . . . . . . . . . . . . . . . . 29 | |||
| 8.15. Link Characteristics Request Message . . . . . . . . . . 30 | 9.12. Destination Down Response Message . . . . . . . . . . . . 29 | |||
| 8.16. Link Characteristics Response Message . . . . . . . . . . 31 | 9.13. Destination Update Message . . . . . . . . . . . . . . . 30 | |||
| 9. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 32 | 9.14. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 31 | |||
| 9.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 9.15. Link Characteristics Request Message . . . . . . . . . . 31 | |||
| 9.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . . 35 | 9.16. Link Characteristics Response Message . . . . . . . . . . 32 | |||
| 9.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . . 36 | 10. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 9.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 37 | 10.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 9.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 38 | 10.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . 37 | |||
| 9.6. Extensions Supported . . . . . . . . . . . . . . . . . . 39 | 10.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . 38 | |||
| 9.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . . 39 | 10.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 9.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 40 | 10.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 40 | |||
| 9.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 41 | 10.6. Extensions Supported . . . . . . . . . . . . . . . . . . 40 | |||
| 9.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 42 | 10.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 9.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 42 | 10.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 42 | |||
| 9.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . . 43 | 10.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 43 | |||
| 9.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 44 | 10.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 44 | |||
| 9.14. Current Data Rate (Receive) . . . . . . . . . . . . . . . 44 | 10.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 45 | |||
| 9.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 45 | 10.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . 46 | |||
| 9.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 46 | 10.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 46 | |||
| 9.17. Resources (Receive) . . . . . . . . . . . . . . . . . . . 47 | 10.14. Current Data Rate (Receive) . . . . . . . . . . . . . . 47 | |||
| 9.18. Resources (Transmit) . . . . . . . . . . . . . . . . . . 47 | 10.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 48 | |||
| 9.19. Relative Link Quality (Receive) . . . . . . . . . . . . . 48 | 10.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . 49 | |||
| 9.20. Relative Link Quality (Transmit) . . . . . . . . . . . . 49 | 10.17. Resources (Receive) . . . . . . . . . . . . . . . . . . 50 | |||
| 9.21. Link Characteristics Response Timer . . . . . . . . . . . 49 | 10.18. Resources (Transmit) . . . . . . . . . . . . . . . . . . 50 | |||
| 10. Credit-Windowing . . . . . . . . . . . . . . . . . . . . . . 50 | 10.19. Relative Link Quality (Receive) . . . . . . . . . . . . 51 | |||
| 10.1. Credit-Windowing Messages . . . . . . . . . . . . . . . 51 | 10.20. Relative Link Quality (Transmit) . . . . . . . . . . . . 52 | |||
| 10.1.1. Destination Up Message . . . . . . . . . . . . . . . 51 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 52 | |||
| 10.1.2. Destination Up Response Message . . . . . . . . . . 51 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 53 | |||
| 10.1.3. Destination Update Message . . . . . . . . . . . . . 51 | 12.1. Registrations . . . . . . . . . . . . . . . . . . . . . 53 | |||
| 10.2. Credit-Windowing Data Items . . . . . . . . . . . . . . 52 | 12.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 54 | |||
| 10.2.1. Credit Grant . . . . . . . . . . . . . . . . . . . . 52 | 12.3. Signal/Message Type Registration . . . . . . . . . . . . 54 | |||
| 10.2.2. Credit Window Status . . . . . . . . . . . . . . . . 53 | 12.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 54 | |||
| 10.2.3. Credit Request . . . . . . . . . . . . . . . . . . . 54 | 12.5. DLEP Status Code Registrations . . . . . . . . . . . . . 54 | |||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | 12.6. DLEP Extensions Registrations . . . . . . . . . . . . . 54 | |||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 55 | 12.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 55 | |||
| 12.1. Registrations . . . . . . . . . . . . . . . . . . . . . 55 | 12.8. DLEP IPv6 Link-local Multicast Address . . . . . . . . . 55 | |||
| 12.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 56 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 12.3. Signal/Message Type Registration . . . . . . . . . . . . 56 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 12.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 56 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 55 | |||
| 12.5. DLEP Status Code Registrations . . . . . . . . . . . . . 56 | 14.2. Informative References . . . . . . . . . . . . . . . . . 55 | |||
| 12.6. DLEP Extensions Registrations . . . . . . . . . . . . . 56 | Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 56 | |||
| 12.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 57 | Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 56 | |||
| 12.8. DLEP Multicast Address . . . . . . . . . . . . . . . . . 57 | B.1. Session Initialization . . . . . . . . . . . . . . . . . 56 | |||
| 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 57 | B.2. Session Initialization - Refused . . . . . . . . . . . . 57 | |||
| 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 | B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 57 | |||
| 14.1. Normative References . . . . . . . . . . . . . . . . . . 57 | B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 57 | |||
| 14.2. Informative References . . . . . . . . . . . . . . . . . 57 | B.5. Router Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 58 | B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 58 | B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 59 | |||
| B.1. Session Initialization . . . . . . . . . . . . . . . . . 58 | B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 60 | |||
| B.2. Session Initialization - Refused . . . . . . . . . . . . 59 | B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 61 | |||
| B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 60 | Appendix C. Destination Specific Signal Flows . . . . . . . . . 61 | |||
| B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 60 | C.1. Common Destination Signaling . . . . . . . . . . . . . . 61 | |||
| B.5. Router Terminates Session . . . . . . . . . . . . . . . . 60 | C.2. Multicast Destination Signaling . . . . . . . . . . . . . 62 | |||
| B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 61 | C.3. Link Characteristics Request . . . . . . . . . . . . . . 62 | |||
| B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 61 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 63 | |||
| B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 62 | ||||
| B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 63 | ||||
| Appendix C. Destination Specific Signal Flows . . . . . . . . . 63 | ||||
| C.1. Common Destination Signaling . . . . . . . . . . . . . . 63 | ||||
| C.2. Multicast Destination Signaling . . . . . . . . . . . . . 64 | ||||
| C.3. Link Characteristics Request . . . . . . . . . . . . . . 64 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 65 | ||||
| 1. Introduction | 1. Introduction | |||
| There exist today a collection of modem devices that control links of | There exist today a collection of modem devices that control links of | |||
| variable datarate and quality. Examples of these types of links | variable datarate and quality. Examples of these types of links | |||
| include line-of-sight (LOS) terrestrial radios, satellite terminals, | include line-of-sight (LOS) terrestrial radios, satellite terminals, | |||
| and broadband modems. Fluctuations in speed and quality of these | and broadband modems. Fluctuations in speed and quality of these | |||
| links can occur due to configuration, or on a moment-to-moment basis, | links can occur due to configuration, or on a moment-to-moment basis, | |||
| due to physical phenomena like multipath interference, obstructions, | due to physical phenomena like multipath interference, obstructions, | |||
| rain fade, etc. It is also quite possible that link quality and | rain fade, etc. It is also quite possible that link quality and | |||
| skipping to change at page 7, line 46 ¶ | skipping to change at page 7, line 16 ¶ | |||
| As mentioned earlier, DLEP defines a set of messages used by modems | As mentioned earlier, DLEP defines a set of messages used by modems | |||
| and their attached routers. The messages are used to communicate | and their attached routers. The messages are used to communicate | |||
| events that occur on the physical link(s) managed by the modem: for | events that occur on the physical link(s) managed by the modem: for | |||
| example, a remote node entering or leaving the network, or that the | example, a remote node entering or leaving the network, or that the | |||
| link has changed. Associated with these messages are a set of data | link has changed. Associated with these messages are a set of data | |||
| items - information that describes the remote node (e.g., address | items - information that describes the remote node (e.g., address | |||
| information), and/or the characteristics of the link to the remote | information), and/or the characteristics of the link to the remote | |||
| node. | node. | |||
| The protocol is defined as a collection of type-length-value (TLV) | ||||
| based formats, specifying the messages that are exchanged between a | ||||
| router and a modem, and the data items associated with the message. | ||||
| This document specifies transport of DLEP messages and data items via | ||||
| the TCP transport, with a UDP-based discovery mechanism. Other | ||||
| transports for the protocol are possible, but are outside the scope | ||||
| of this document. | ||||
| DLEP uses a session-oriented paradigm between the modem device and | DLEP uses a session-oriented paradigm between the modem device and | |||
| its associated router. If multiple modem devices are attached to a | its associated router. If multiple modem devices are attached to a | |||
| router (as in Figure 2), or the modem supports multiple connections | router (as in Figure 2), or the modem supports multiple connections | |||
| (via multiple logical or physical interfaces), then separate DLEP | (via multiple logical or physical interfaces), then separate DLEP | |||
| sessions exist for each modem or connection. This router/modem | sessions exist for each modem or connection. A router and modem form | |||
| session provides a carrier for information exchange concerning | a session by completing the discovery and initialization process. | |||
| 'destinations' that are available via the modem device. A | This router-modem session persists unless or until it either (1) | |||
| 'destination' can be either physical (as in the case of a specific | times out, based on a heartbeat, or (2) is explicitly torn down by | |||
| far-end router), or a logical destination (as in a Multicast group). | one of the participants. | |||
| As such, all of the destination-level exchanges in DLEP can be | ||||
| envisioned as building an information base concerning the remote | The router/modem session provides a carrier for information exchange | |||
| nodes, and the link characteristics to those nodes. | concerning 'destinations' that are available via the modem device. | |||
| Destinations can be identified by either the router or the modem, and | ||||
| represent a specific, addressable location (e.g., an address) that | ||||
| can be reached via the link(s) managed by the modem. A destination | ||||
| can be either physical or logical. | ||||
| The example of a physical destination would be that of a remote, far- | ||||
| end router attached via the variable-quality network. As for a | ||||
| logical destination, the best example is that of Multicast. | ||||
| Multicast traffic destined for the variable-quality network (the | Multicast traffic destined for the variable-quality network (the | |||
| network accessed via the DLEP modem) is handled in IP networks by | network accessed via the DLEP modem) is handled in IP networks by | |||
| deriving a Layer 2 MAC address based on the Layer 3 address. | deriving a Layer 2 MAC address based on the Layer 3 address. | |||
| Leveraging on this scheme, multicast traffic is supported in DLEP | Leveraging on this scheme, multicast traffic is supported in DLEP | |||
| simply by treating the derived MAC address as any other 'destination' | simply by treating the derived MAC address as any other destination | |||
| (albeit a logical one) in the network. To support these logical | (albeit a logical one) in the network. To support these logical | |||
| destinations, one of the DLEP participants (typically, the router) | destinations, one of the DLEP participants (typically, the router) | |||
| informs the other as to the existence of the logical destination. | informs the other as to the existence of the logical destination. | |||
| The modem, once it is aware of the existence of this logical | The modem, once it is aware of the existence of this logical | |||
| destination, reports link characteristics just as it would for any | destination, reports link characteristics just as it would for any | |||
| other destination in the network. The specific algorithms a modem | other destination in the network. The specific algorithms a modem | |||
| would use to derive metrics on multicast (or logical) destinations | would use to derive metrics on multicast (or logical) destinations | |||
| are outside the scope of this specification, and is left to specific | are outside the scope of this specification, and is left to specific | |||
| implementations to decide. | implementations to decide. | |||
| The DLEP messages concerning destinations thus become the way for | ||||
| routers and modems to maintain, and notify each other about, an | ||||
| information base representing the physical and logical (e.g., | ||||
| multicast) destinations accessible via the modem device, as well as | ||||
| the link characteristics to those destinations. | ||||
| 1.2. Requirements | 1.2. Requirements | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14, RFC 2119 [RFC2119]. | 14, RFC 2119 [RFC2119]. | |||
| 2. Assumptions | 2. Assumptions | |||
| Routers and modems that exist as part of the same node (e.g., that | DLEP specifies UDP multicast for single-hop discovery signalling, and | |||
| are locally connected) can use a discovery technique to locate each | TCP for transport of the control messages. Therefore, DLEP assumes | |||
| other, thus avoiding a priori configuration. The router is | that the modem and router have topologically consistent IP addresses | |||
| responsible for initializing the discovery process, using the Peer | ||||
| Discovery signal (Section 8.1). | ||||
| DLEP uses a session-oriented paradigm. A router and modem form a | ||||
| session by completing the discovery and initialization process. This | ||||
| router-modem session persists unless or until it either (1) times | ||||
| out, based on the timeout values supplied, or (2) is explicitly torn | ||||
| down by one of the participants. Note that while use of timers in | ||||
| DLEP is optional, it is strongly RECOMMENDED that implementations | ||||
| choose to run with timers enabled. | ||||
| DLEP assumes that the MAC address for delivering data traffic is the | ||||
| MAC specified in the Destination Up message (Section 8.9). No | ||||
| manipulation or substitution is performed; the MAC address supplied | ||||
| in Destination Up is used as the OSI Layer 2 Destination MAC address. | ||||
| DLEP also assumes that MAC addresses MUST be unique within the | ||||
| context of a router-modem session. Additionally, DLEP can support | ||||
| MAC addresses in either EUI-48 or EUI-64 format, with the restriction | ||||
| that ALL MAC addresses for a given DLEP session MUST be in the same | ||||
| format, and MUST be consistent with the MAC address format of the | ||||
| connected modem (e.g., if the modem is connected to the router with | ||||
| an EUI-48 MAC, all destination addresses via that modem MUST be | ||||
| expressed in EUI-48 format). | ||||
| DLEP uses UDP multicast for single-hop discovery signalling, and TCP | ||||
| for transport of the control messages. Therefore, DLEP assumes that | ||||
| the modem and router have topologically consistent IP addresses | ||||
| assigned. It is RECOMMENDED that DLEP implementations utilize IPv6 | assigned. It is RECOMMENDED that DLEP implementations utilize IPv6 | |||
| link-local addresses to reduce the administrative burden of address | link-local addresses to reduce the administrative burden of address | |||
| assignment. | assignment. Other reliable transports for the protocol are possible, | |||
| but are outside the scope of this document. | ||||
| Destinations can be identified by either the router or the modem, and | ||||
| represent a specific destination (e.g., an address) that exists on | ||||
| the link(s) managed by the modem. A destination MUST contain a MAC | ||||
| address, it MAY optionally include a Layer 3 address (or addresses). | ||||
| Note that since a destination is a MAC address, the MAC could | ||||
| reference a logical destination, as in a derived multicast MAC | ||||
| address, as well as a physical device. As destinations are | ||||
| discovered, DLEP routers and modems build an information base on | ||||
| destinations accessible via the modem. | ||||
| The DLEP messages concerning destinations thus become the way for | ||||
| routers and modems to maintain, and notify each other about, an | ||||
| information base representing the physical and logical (e.g., | ||||
| multicast) destinations accessible via the modem device. The | ||||
| information base would contain addressing information (i.e. MAC | ||||
| address, and OPTIONALLY, Layer 3 addresses), link characteristics | ||||
| (metrics), and OPTIONALLY, flow control information (credits). | ||||
| DLEP assumes that any message not understood by a receiver MUST | DLEP assumes that the MAC address for delivering data traffic is the | |||
| result in an error indication being sent to the originator, and also | MAC address used by DLEP to identify the destination. No | |||
| MUST result in termination of the session between the DLEP peers. | manipulation or substitution is performed; the MAC address supplied | |||
| Any DLEP data item not understood by a receiver MUST also result in | in a Destination Up message (Section 9.9) message is used as the OSI | |||
| termination of the session. | Layer 2 Destination MAC address. DLEP also assumes that MAC | |||
| addresses are unique within the context of a router-modem session. | ||||
| DLEP assumes that security on the session (e.g., authentication of | DLEP assumes that security on the session (e.g., authentication of | |||
| session partners, encryption of traffic, or both) is dealt with by | session partners, encryption of traffic, or both) is dealt with by | |||
| the underlying transport mechanism (e.g., by using a transport such | the underlying transport mechanism (e.g., by using a transport such | |||
| as TLS [RFC5246]). | as TLS [RFC5246]). | |||
| This document specifies an implementation of the DLEP messages | 3. Metrics | |||
| running over the TCP transport. It is assumed that DLEP running over | ||||
| other transport mechanisms would be documented separately. | ||||
| 3. Core Features and Extensions | ||||
| DLEP has a core set of signals, messages and data items that MUST be | ||||
| parsed without error by an implementation in order to guarantee | ||||
| interoperability and therefore make the implementation DLEP | ||||
| compliant. This document defines this set of signals, messages and | ||||
| data items, listing them as 'core'. It should be noted that some | ||||
| core signals, messages and data items might not be used during the | ||||
| lifetime of a single DLEP session, but a compliant implementation | ||||
| MUST support them. | ||||
| While this document represents the best efforts of the working group | ||||
| to be functionally complete, it is recognized that extensions to DLEP | ||||
| will in all likelihood be necessary as more link types are used. | ||||
| If interoperable protocol extensions are required, they MUST be | ||||
| standardized either as an update to this document, or as an | ||||
| additional stand-alone specification. The requests for IANA- | ||||
| controlled registries in this document contain sufficient Reserved | ||||
| space, in terms of DLEP signals, messages, data items and status | ||||
| codes, to accommodate future extensions to the protocol and the data | ||||
| transferred. | ||||
| All extensions are considered OPTIONAL. Extensions may be negotiated | ||||
| on a per-session basis during session initialization via the | ||||
| Extensions Supported mechanism. Only the DLEP functionality listed | ||||
| as 'core' is required by an implementation in order to be DLEP | ||||
| compliant. | ||||
| This specification defines one extension, Credit Windowing, that | ||||
| devices MAY choose to implement. | ||||
| 3.1. Experiments | ||||
| This document requests Private Use numbering space in the DLEP | ||||
| signal/message, data item and status code registries for experimental | ||||
| items. The intent is to allow for experimentation with new signals, | ||||
| messages, data items, and/or status codes, while still retaining the | ||||
| documented DLEP behavior. | ||||
| Use of the experimental signals, messages, data items, status codes, | ||||
| or behaviors MUST be announced as Extensions, using extension | ||||
| identifiers from the Private Use space in the Extensions Supported | ||||
| registry (Table 4), during session initialization with a value agreed | ||||
| upon (a priori) between the participating peers. | ||||
| Multiple experiments MAY be announced in the Session Initialization | ||||
| messages. However, use of multiple experiments in a single session | ||||
| could lead to interoperability issues or unexpected results (e.g., | ||||
| clashes of experimental signals, messages, data items and/or status | ||||
| code types), and is therefore discouraged. It is left to | ||||
| implementations to determine the correct processing path (e.g., a | ||||
| decision on whether to terminate the session, or to establish a | ||||
| precedence of the conflicting definitions) if such conflicts arise. | ||||
| 4. Metrics | ||||
| DLEP includes the ability for the router and modem to communicate | DLEP includes the ability for the router and modem to communicate | |||
| metrics that reflect the characteristics (e.g., datarate, latency) of | metrics that reflect the characteristics (e.g., datarate, latency) of | |||
| the variable-quality link in use. DLEP does not specify how a given | the variable-quality link in use. DLEP does not specify how a given | |||
| metric value is to be calculated, rather, the protocol assumes that | metric value is to be calculated, rather, the protocol assumes that | |||
| metrics have been calculated with a 'best effort', incorporating all | metrics have been calculated with a 'best effort', incorporating all | |||
| pertinent data that is available to the modem device. | pertinent data that is available to the modem device. | |||
| DLEP allows for metrics to be sent within two contexts - metrics for | DLEP allows for metrics to be sent within two contexts - metrics for | |||
| a specific destination within the network (e.g., a specific router), | a specific destination within the network (e.g., a specific router), | |||
| and per-session (those that apply to all destinations accessed via | and per-session (those that apply to all destinations accessed via | |||
| the modem). Most metrics can be further subdivided into transmit and | the modem). Most metrics can be further subdivided into transmit and | |||
| receive metrics. In cases where metrics are provided at session | receive metrics. In cases where metrics are provided at session | |||
| level, the receiver MUST propagate the metrics to all entries in its | level, the receiver MUST propagate the metrics to all entries in its | |||
| information base for destinations that are accessed via the | information base for destinations that are accessed via the | |||
| originator. | originator. | |||
| DLEP modem implementations MUST announce all metric items that will | ||||
| be reported during the session, and provide default values for those | ||||
| metrics, in the Session Initialization Response message | ||||
| (Section 8.4). In order to use a metric type that was not included | ||||
| in the Session Initialization Response message, modem implementations | ||||
| MUST terminate the session with the router (via the Session Terminate | ||||
| message (Section 8.7)), and establish a new session. | ||||
| It is left to implementations to choose sensible default values based | It is left to implementations to choose sensible default values based | |||
| on their specific characteristics. Modems having static (non- | on their specific characteristics. Modems having static (non- | |||
| changing) link metric characteristics MAY report metrics only once | changing) link metric characteristics MAY report metrics only once | |||
| for a given destination (or once on a modem-wide basis, if all | for a given destination (or once on a modem-wide basis, if all | |||
| connections via the modem are of this static nature). | connections via the modem are of this static nature). | |||
| DLEP modem implementations MUST announce all metric items that will | ||||
| be reported during the session, and provide default values for those | ||||
| metrics, in the Session Initialization Response message | ||||
| (Section 9.4). In order to use a metric type that was not included | ||||
| in the Session Initialization Response message, modem implementations | ||||
| MUST terminate the session with the router (via the Session Terminate | ||||
| message (Section 9.7)), and establish a new session. | ||||
| A DLEP participant MAY send metrics both in a session context (via | A DLEP participant MAY send metrics both in a session context (via | |||
| the Session Update message) and a specific destination context (via | the Session Update message) and a specific destination context (via | |||
| Destination Update) at any time. The heuristics for applying | Destination Update) at any time. The most recently received metric | |||
| received metrics is left to implementations. | value MUST take precedence over any earlier value, regardless of | |||
| context - that is: 1. If the receiver gets metrics in a specific | ||||
| destination context (via Destination Update), then the specific | ||||
| destination is updated with the new metric. 2. If the receiver gets | ||||
| metrics in a modem-wide context (via Peer Update), then the received | ||||
| metrics for all destinations accessed via the modem MUST be updated | ||||
| to the newly received value. | ||||
| 4.1. Mandatory Metrics | 3.1. Mandatory Metrics | |||
| As mentioned above, DLEP modem implementations MUST announce all | As mentioned above, DLEP modem implementations MUST announce all | |||
| supported metric items during the Session Initialization state. | supported metric items during the Session Initialization state. | |||
| However, a modem MUST include the following list of metrics in the | However, a modem MUST include the following list of metrics in the | |||
| Session Initialization Response message (Section 8.4): | Session Initialization Response message (Section 9.4): | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 9.14) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| 4. DLEP Signal and Message Processing | ||||
| Most messages in DLEP are members of a request/response pair, e.g. | ||||
| Destination Up message (Section 9.9), and Destination Up Response | ||||
| message (Section 9.10). As mentioned before, session message pairs | ||||
| control the flow of the session through the various states, e.g. an | ||||
| implementation MUST NOT leave the Session Initialization state until | ||||
| a Session Initialization message (Section 9.3) and Session | ||||
| Initialization Response message (Section 9.4) have been exchanged. | ||||
| Destination message pairs describe the arrival and departure of | ||||
| logical destinations, and control the flow of information about the | ||||
| destinations in the several ways. A destination MUST contain a MAC | ||||
| address, it MAY optionally include a Layer 3 address (or addresses). | ||||
| The MAC address MAY reference a logical destination, as in a derived | ||||
| multicast MAC address, as well as a physical device. As destinations | ||||
| are discovered, DLEP routers and modems build an information base of | ||||
| destinations accessible via the modem. | ||||
| DLEP can support MAC addresses in either EUI-48 or EUI-64 format, | ||||
| with the restriction that all MAC addresses for a given DLEP session | ||||
| MUST be in the same format, and MUST be consistent with the MAC | ||||
| address format of the connected modem (e.g., if the modem is | ||||
| connected to the router with an EUI-48 MAC, all destination addresses | ||||
| via that modem MUST be expressed in EUI-48 format). | ||||
| Prior to the exchange of a pair of Destination Up and Destination Up | ||||
| Response messages, no messages concerning the logical destination | ||||
| identified by the MAC Address data item (Section 10.7) may be sent. | ||||
| An implementation receiving a message with such an unannounced | ||||
| destination MUST terminate the session by issuing a Session | ||||
| Termination message (Section 9.7) with a status code of 'Invalid | ||||
| Destination', see Table 3, and transition to the Session Termination | ||||
| state. | ||||
| The receiver of a Destination Up message MAY decline further messages | ||||
| concerning a given destination by sending a Destination Up Response | ||||
| with a status code of 'Not Interested', see Table 3. Receivers of | ||||
| such responses MUST NOT send further messages concerning that | ||||
| destination to the peer. | ||||
| After exchanging a pair of Destination Down (Section 9.11) and | ||||
| Destination Down Response (Section 9.12) messages, no messages | ||||
| concerning the logical destination identified by the MAC Address data | ||||
| item may be a sent without a previously sending a new Destination Up | ||||
| message. An implementation receiving a message about a destination | ||||
| previously announced as 'down' MUST terminate the session by issuing | ||||
| a Session Termination message with a status code of 'Invalid | ||||
| Destination' and transition to the Session Termination state. | ||||
| 4.1. Transaction Model | ||||
| DLEP defines a simple message transaction model: Only one (1) request | ||||
| per destination may be in progress at a time. A message transaction | ||||
| is considered complete when a response matching a previously issued | ||||
| request is received. If a peer receives a request for a destination | ||||
| for which there is already an outstanding request, the peer MUST | ||||
| terminate the session by issuing a Session Termination message | ||||
| (Section 9.7) with a status code of 'Unexpected Message', see | ||||
| Table 3, and transition to the Session Termination state. There is | ||||
| no restriction to the total number of message transactions in | ||||
| progress at a time, as long as each transaction refers to a different | ||||
| destination. | ||||
| It should be noted that some requests may take a considerable amount | ||||
| of time for some peers to complete, for example a modem handling a | ||||
| multicast destination up request may have to perform a complex | ||||
| network reconfiguration. A sending implementation MUST be able to | ||||
| handle such long running transactions gracefully. | ||||
| Additionally, only one (1) session request, e.g. a Session | ||||
| Initialization message (Section 9.3) may be in progress at a time. | ||||
| As above, a session transaction is considered complete when a | ||||
| response matching a previously issued request is received. If a peer | ||||
| receives a session request while there is already a session request | ||||
| in progress, the peer MUST terminate the session by issuing a Session | ||||
| Termination message with a status code of 'Unexpected Message', and | ||||
| transition to the Session Termination state. Only the Session | ||||
| Termination message may be issued when a session transaction is in | ||||
| progress. Heartbeat messages (Section 9.14) MUST NOT be considered | ||||
| part of a session transaction. | ||||
| DLEP transactions do not time out and are not cancellable. An | ||||
| implementation can detect if a peer has failed in some way by use of | ||||
| the session heartbeat mechanism during the In-Session state, see | ||||
| Section 5.3. | ||||
| 5. DLEP Session Flow | 5. DLEP Session Flow | |||
| All DLEP peers transition through four (4) distinct states during the | All DLEP peers transition through four (4) distinct states during the | |||
| lifetime of a DLEP session: | lifetime of a DLEP session: | |||
| o Peer Discovery | o Peer Discovery | |||
| o Session Initialization | o Session Initialization | |||
| o In-Session | o In-Session | |||
| o Session Termination | o Session Termination | |||
| The Peer Discovery state is OPTIONAL to implement for routers. If it | The Peer Discovery state is OPTIONAL to implement for routers. If it | |||
| is used, this state is the initial state. If it is not used, then | is used, this state is the initial state. If it is not used, then | |||
| one or more preconfigured address/port combinations SHOULD be | one or more preconfigured address/port combinations SHOULD be | |||
| provided to the router, and the device starts in the Session | provided to the router, and the device starts in the Session | |||
| Initialization state. | Initialization state. | |||
| Modems MUST support the Peer Discovery state. | Modems MUST support the Peer Discovery state. | |||
| 5.1. Peer Discovery State | 5.1. Peer Discovery State | |||
| In the Peer Discovery state, routers send UDP packets containing a | In the Peer Discovery state, routers MUST send UDP packets containing | |||
| Peer Discovery signal (Section 8.1) to the DLEP well-known multicast | a Peer Discovery signal (Section 9.1) to the DLEP well-known IPv6 | |||
| address (Section 12.8) and port number (Section 12.7) then await a | link-local multicast address (Section 12.8) and port number | |||
| unicast UDP packet containing a Peer Offer signal (Section 8.2) from | (Section 12.7), setting the packet source address to a valid local | |||
| a modem. While in the Peer Discovery state, Peer Discovery signals | IPv6 address and the source port to an unused port in the range 49152 | |||
| MUST be sent repeatedly by a router, at regular intervals; every | to 65535. If the router implementation supports IPv4, then they MAY | |||
| three (3) seconds is RECOMMENDED. | also broadcast Peer Discovery signals in UDP packets to the IPv4 | |||
| broadcast address (255.255.255.255), setting the packet source | ||||
| address to a valid local IPv4 address and the source port to an | ||||
| unused port in the range 49152 to 65535. | ||||
| The implementation then waits for a unicast UDP packet containing a | ||||
| Peer Offer signal (Section 9.2) from a potential peer modem. While | ||||
| in the Peer Discovery state, Peer Discovery signals MUST be sent | ||||
| repeatedly by a router, at regular intervals; every three (3) seconds | ||||
| with some jitter is RECOMMENDED. | ||||
| In the Peer Discovery state, the modem waits for incoming Peer | In the Peer Discovery state, the modem waits for incoming Peer | |||
| Discovery signals on the DLEP well-known multicast address and port. | Discovery signals on the DLEP well-known multicast address and port. | |||
| On receipt of a valid signal, it MUST unicast a Peer Offer signal to | On receipt of a valid signal, it MUST unicast a Peer Offer signal to | |||
| the source address of the received UDP packet. Peer Offer signals | the source address and port of the received UDP packet. Peer Offer | |||
| MAY contain the unicast address and port for TCP-based communication | signals MAY contain the unicast address and port for TCP-based | |||
| with a modem, via the IPv4 Connection Point data item (Section 9.2) | communication with a modem, via the IPv4 Connection Point data item | |||
| or the IPv6 Connection Point data item (Section 9.3), on which it is | (Section 10.2) or the IPv6 Connection Point data item (Section 10.3), | |||
| prepared to accept an incoming TCP connection. The modem then begins | on which it is prepared to accept an incoming TCP connection. If the | |||
| listening for incoming TCP connections, and, having accepted one, | modem does not include an IPv4 Connection Point data item, nor a IPv6 | |||
| enters the Session Initialization state. Anything other than Peer | Connection Point data item, then the source address of the packet | |||
| Discovery signals received on the UDP socket MUST be silently | containing the Peer Offer signal MUST be set to the address on which | |||
| dropped. | the modem is willing to accept TCP connections. | |||
| The modem then begins listening for incoming TCP connections, and, | ||||
| having accepted one, enters the Session Initialization state. | ||||
| Anything other than Peer Discovery signals received on the UDP socket | ||||
| MUST be silently dropped. | ||||
| Modems SHOULD be prepared to accept a TCP connection from a router | Modems SHOULD be prepared to accept a TCP connection from a router | |||
| that is not using the Discovery mechanism, i.e. a connection attempt | that is not using the Discovery mechanism, i.e. a connection attempt | |||
| that occurs without a preceeding Peer Discovery signal. The modem | that occurs without a preceding Peer Discovery signal. The modem | |||
| MUST accept a TCP connection on only one (1) address/port combination | MUST accept a TCP connection on only one (1) address/port combination | |||
| per session. | per session. | |||
| Routers MUST use one or more of the modem address/port combinations | Routers MUST use one or more of the modem address/port combinations | |||
| from the Peer Offer signal or from a priori configuration to | from the Peer Offer signal or from a priori configuration to | |||
| establish a new TCP connection to the modem. If more than one modem | establish a new TCP connection to the modem. If more than one modem | |||
| address/port combinations is available, router implementations MAY | address/port combinations is available, router implementations MAY | |||
| use their own heuristics to determine the order in which they are | use their own heuristics to determine the order in which they are | |||
| tried. If a TCP connection cannot be achieved using any of the | tried. It is RECOMMENDED that an implementation attempt to connect | |||
| address/port combinations and the Discovery mechanism is in use, then | to any announced IPv6 address/port combinations before attempting to | |||
| the router SHOULD resume issuing Peer Discovery signals. If no IP | use IPv4 combinations. If a TCP connection cannot be achieved using | |||
| Connection Point data items are included in the Peer Offer signal, | any of the address/port combinations and the Discovery mechanism is | |||
| the router MUST use the origin address of the signal as the IP | in use, then the router SHOULD resume issuing Peer Discovery signals. | |||
| If no IPv4 Connection Point data items, nor IPv6 Connection Point | ||||
| data items are included in the Peer Offer signal, the router MUST use | ||||
| the origin address of the UDP packet containing the signal as the IP | ||||
| address, and the DLEP well-known port number. | address, and the DLEP well-known port number. | |||
| Once a TCP connection has been established with the modem, the router | Once a TCP connection has been established with the modem, the router | |||
| begins a new session and enters the Session Initialization state. It | begins a new session and enters the Session Initialization state. It | |||
| is up to the router implementation if Peer Discovery signals continue | is up to the router implementation if Peer Discovery signals continue | |||
| to be sent after the device has transitioned to the Session | to be sent after the device has transitioned to the Session | |||
| Initialization state. | Initialization state. | |||
| It should be noted that the peer discovery process operates using | ||||
| link-local multicast and is hence inapplicable if the potential peers | ||||
| are separated by more than one hop. | ||||
| 5.2. Session Initialization State | 5.2. Session Initialization State | |||
| On entering the Session Initialization state, the router MUST send a | On entering the Session Initialization state, the router MUST send a | |||
| Session Initialization message (Section 8.3) to the modem. The | Session Initialization message (Section 9.3) to the modem. The | |||
| router MUST then wait for receipt of a Session Initialization | router MUST then wait for receipt of a Session Initialization | |||
| Response message (Section 8.4) from the modem. Receipt of the | Response message (Section 9.4) from the modem. Receipt of the | |||
| Session Initialization Response message containing a Status data item | Session Initialization Response message containing a Status data item | |||
| (Section 9.1) with value 'Success', see Table 3, indicates that the | (Section 10.1) with value 'Success', see Table 3, indicates that the | |||
| modem has received and processed the Session Initialization message, | modem has received and processed the Session Initialization message, | |||
| and the router MUST transition to the In-Session state. | and the router MUST transition to the In-Session state. | |||
| On entering the Session Initialization state, the modem MUST wait for | On entering the Session Initialization state, the modem MUST wait for | |||
| receipt of a Session Initialization message from the router. Upon | receipt of a Session Initialization message from the router. Upon | |||
| receipt and successful parsing of a Session Initialization message, | receipt and successful parsing of a Session Initialization message, | |||
| the modem MUST send a Session Initialization Response message, and | the modem MUST send a Session Initialization Response message, and | |||
| the session MUST transition to the In-Session state. | the session MUST transition to the In-Session state. | |||
| As mentioned before, DLEP provides an extension negotiation | DLEP provides an extension negotiation capability to be used in the | |||
| capability to be used in the Session Initialization state. | Session Initialization state, see Section 6. Extensions supported by | |||
| Extensions supported by an implementation MUST be declared to | an implementation MUST be declared to potential DLEP peers using the | |||
| potential DLEP peers using the Extensions Supported data item | Extensions Supported data item (Section 10.6). Once both peers have | |||
| (Section 9.6). | exchanged initialization messages, an implementation MUST NOT emit | |||
| any message, signal, data item or status code associated with an | ||||
| Once both peers have exchanged initialization messages, an | extension that was not specified in the received initialization | |||
| implementation MUST NOT emit any message, signal, data item or status | message from its peer. | |||
| code associated with an extension that was not specified in the | ||||
| received initialization message from its peer. | ||||
| If the router receives any message other than a valid Session | If the router receives any message other than a valid Session | |||
| Initialization Response, it MUST send a Session Termination message | Initialization Response, it MUST send a Session Termination message | |||
| (Section 8.7) with a relevant status code, e.g. 'Unexpected | (Section 9.7) with a relevant status code, e.g. 'Unexpected | |||
| Message', see Table 3, and transition to the Session Termination | Message', see Table 3, and transition to the Session Termination | |||
| state. | state. | |||
| If the modem receives any message other than Session Initialization, | If the modem receives any message other than Session Initialization, | |||
| or it fails to parse the received message, it MUST NOT send any | or it fails to parse the received message, it MUST NOT send any | |||
| message, and MUST terminate the TCP connection, then restart at the | message, and MUST terminate the TCP connection, then restart at the | |||
| Peer Discovery state. | Peer Discovery state. | |||
| As mentioned before, the Session Initialization Response message MUST | As mentioned before, the Session Initialization Response message MUST | |||
| contain metric data items for ALL metrics that will be used during | contain metric data items for all metrics that will be used during | |||
| the session. If an additional metric is to be introduced after the | the session. If an additional metric is to be introduced after the | |||
| session has started, the session between router and modem MUST be | session has started, the session between router and modem MUST be | |||
| terminated and restarted, and the new metric described in the next | terminated and restarted, and the new metric described in the next | |||
| Session Initialization Response message. | Session Initialization Response message. | |||
| 5.3. In-Session State | 5.3. In-Session State | |||
| In the In-Session state, messages can flow in both directions between | In the In-Session state, messages can flow in both directions between | |||
| peers, indicating changes to the session state, the arrival or | peers, indicating changes to the session state, the arrival or | |||
| departure of reachable destinations, or changes of the state of the | departure of reachable destinations, or changes of the state of the | |||
| links to the destinations. | links to the destinations. | |||
| In order to maintain the In-Session state, periodic Heartbeat | ||||
| messages (Section 8.14) MAY be exchanged between router and modem. | ||||
| These messages are intended to keep the session alive, and to verify | ||||
| bidirectional connectivity between the two participants. Each DLEP | ||||
| peer is responsible for the creation of heartbeat messages. Receipt | ||||
| of any valid DLEP message MUST reset the heartbeat interval timer | ||||
| (i.e., valid DLEP messages take the place of, and obviate the need | ||||
| for, Heartbeat messages). | ||||
| DLEP provides a Session Update message (Section 8.5), intended to | ||||
| communicate some change in status (e.g., a change of layer 3 address | ||||
| parameters, or a modem-wide link change). | ||||
| In addition to the session messages, the participants will transmit | In addition to the session messages, the participants will transmit | |||
| messages concerning destinations in the network. These messages | messages concerning destinations in the network. These messages | |||
| trigger creation/maintenance/deletion of destinations in the | trigger creation/maintenance/deletion of destinations in the | |||
| information base of the recipient. For example, a modem will inform | information base of the recipient. For example, a modem will inform | |||
| its attached router of the presence of a new destination via the | its attached router of the presence of a new destination via the | |||
| Destination Up message (Section 8.9). Receipt of a Destination Up | Destination Up message (Section 9.9). Receipt of a Destination Up | |||
| causes the router to allocate the necessary resources, creating an | causes the router to allocate the necessary resources, creating an | |||
| entry in the information base with the specifics (i.e. MAC Address, | entry in the information base with the specifics (i.e. MAC Address, | |||
| Latency, Data Rate, etc.) of the destination. The loss of a | Latency, Data Rate, etc.) of the destination. The loss of a | |||
| destination is communicated via the Destination Down message | destination is communicated via the Destination Down message | |||
| (Section 8.11), and changes in status to the destination (e.g., | (Section 9.11), and changes in status to the destination (e.g., | |||
| varying link quality, or addressing changes) are communicated via the | varying link quality, or addressing changes) are communicated via the | |||
| Destination Update message (Section 8.13). The information on a | Destination Update message (Section 9.13). The information on a | |||
| given destination will persist in the router's information base until | given destination will persist in the router's information base until | |||
| (1) a Destination Down message is received, indicating that the modem | (1) a Destination Down message is received, indicating that the modem | |||
| has lost contact with the remote node, or (2) the router/modem | has lost contact with the remote node, or (2) the router/modem | |||
| transitions to the Session Termination state. | transitions to the Session Termination state. | |||
| In addition to receiving metrics about the link, DLEP provides a | As well as receiving metrics about the link, DLEP provides a message | |||
| message allowing a router to request a different datarate, or | allowing a router to request a different datarate or latency from the | |||
| latency, from the modem. This message is referred to as the Link | modem. This message is the Link Characteristics Request message | |||
| Characteristics Request message (Section 8.15), and gives the router | (Section 9.15), and gives the router the ability to deal with | |||
| the ability to deal with requisite increases (or decreases) of | requisite increases (or decreases) of allocated datarate/latency in | |||
| allocated datarate/latency in demand-based schemes in a more | demand-based schemes in a more deterministic manner. | |||
| deterministic manner. | ||||
| The In-Session state is maintained until one of the following | The In-Session state is maintained until one of the following | |||
| conditions occur: | conditions occur: | |||
| o The implementation terminates the session by sending a Session | o The implementation terminates the session by sending a Session | |||
| Termination message (Section 8.7)), or | Termination message (Section 9.7)), or | |||
| o The DLEP peer terminates the session, indicated by receiving a | o The peer terminates the session, indicated by receiving a Session | |||
| Session termination message. | Termination message. | |||
| The implementation MUST then transition to the Session Termination | The implementation MUST then transition to the Session Termination | |||
| state. | state. | |||
| 5.3.1. Heartbeats | ||||
| In order to maintain the In-Session state, periodic Heartbeat | ||||
| messages (Section 9.14) MAY be exchanged between router and modem. | ||||
| These messages are intended to keep the session alive, and to verify | ||||
| bidirectional connectivity between the two participants. Each DLEP | ||||
| peer is responsible for the creation of heartbeat messages. Receipt | ||||
| of any valid DLEP message MUST reset the heartbeat interval timer | ||||
| (i.e., valid DLEP messages take the place of, and obviate the need | ||||
| for, additional Heartbeat messages). | ||||
| Implementations SHOULD allow two (2) heartbeat intervals to expire | ||||
| with no traffic on the router/modem session before terminating the | ||||
| session by issuing a Session Termination message with a status code | ||||
| of 'Timed Out', and then transition to the Session Termination state. | ||||
| 5.4. Session Termination State | 5.4. Session Termination State | |||
| When a DLEP implementation enters the Session Termination state after | When a DLEP implementation enters the Session Termination state after | |||
| sending a Session Termination message (Section 8.7) as the result of | sending a Session Termination message (Section 9.7) as the result of | |||
| an invalid message or error, it MUST wait for a Session Termination | an invalid message or error, it MUST wait for a Session Termination | |||
| Response message (Section 8.8) from its peer. If Heartbeat messages | Response message (Section 9.8) from its peer. If Heartbeat messages | |||
| (Section 8.14) are in use, senders SHOULD allow four (4) heartbeat | (Section 9.14) are in use, senders SHOULD allow four (4) heartbeat | |||
| intervals to expire before assuming that the peer is unresponsive, | intervals to expire before assuming that the peer is unresponsive, | |||
| and continuing with session termination. If Heartbeat messages are | and continuing with session termination. If Heartbeat messages are | |||
| not in use, then if is RECOMMENDED that an interval of eight (8) | not in use, then if is RECOMMENDED that an interval of eight (8) | |||
| seconds be used. | seconds be used. | |||
| When a DLEP implementation enters the Session Termination state | When an implementation enters the Session Termination state having | |||
| having received a Session Termination message from its peer, it MUST | received a Session Termination message from its peer, it MUST | |||
| immediately send a Session Termination Response. | immediately send a Session Termination Response. | |||
| The sender and receiver of a Session Termination message MUST release | The sender and receiver of a Session Termination message MUST release | |||
| all resources allocated for the session, and MUST eliminate all | all resources allocated for the session, and MUST eliminate all | |||
| destinations in the information base accessible via the peer | destinations in the information base accessible via the peer | |||
| represented by the session. No Destination Down messages | represented by the session. Destination Down messages (Section 9.11) | |||
| (Section 8.11) are sent. | MUST NOT be sent. | |||
| Any messages received after either sending or receiving a Session | Any messages received after either sending or receiving a Session | |||
| Termination message MUST be silently ignored. | Termination message MUST be silently ignored. | |||
| Once Session Termination messages have been exchanged, or timed out, | Once Session Termination messages have been exchanged, or timed out, | |||
| the device MUST terminate the TCP connection to the peer, and return | the device MUST terminate the TCP connection to the peer, and return | |||
| to the relevant initial state. | to the relevant initial state. | |||
| 6. DLEP Signal and Message Processing | 6. Extensions | |||
| Most messages in DLEP are members of a request/response pair, e.g. | While this document represents the best efforts of the working group | |||
| Destination Up message (Section 8.9), and Destination Up Response | to be functionally complete, it is recognized that extensions to DLEP | |||
| message (Section 8.10). These pairs of messages define an implicit | will in all likelihood be necessary as more link types are used. | |||
| transaction model for both session messages and destination messages. | Such extensions are defined as additional rules of behaviour, | |||
| messages, data items and/or status codes that are not defined in this | ||||
| document. | ||||
| As mentioned before, session message pairs control the flow of the | Extensions MUST be negotiated on a per-session basis during session | |||
| session through the various states, e.g. an implementation MUST NOT | initialization via the Extensions Supported mechanism. | |||
| leave the Session Initialization state until a Session Initialization | Implementations are not required to support any extension in order to | |||
| message (Section 8.3) and Session Initialization Response message | be considered DLEP compliant. An extension document, describing the | |||
| (Section 8.4) have been exchanged. | operation of a credit windowing scheme for flow control, is described | |||
| in [CREDIT]. | ||||
| Destination message pairs describe the arrival and departure of | If interoperable protocol extensions are required, they MUST be | |||
| logical destinations, and control the flow of information about the | standardized either as an update to this document, or as an | |||
| destinations in the several ways. | additional stand-alone specification. The requests for IANA- | |||
| controlled registries in this document contain sufficient Reserved | ||||
| space for DLEP signals, messages, data items and status codes to | ||||
| accommodate future extensions to the protocol. | ||||
| Prior to the exchange of a pair of Destination Up and Destination Up | As multiple protocol extensions MAY be announced during session | |||
| Response messages, no messages concerning the logical destination | initialization, authors of protocol extensions MUST consider the | |||
| identified by the MAC Address data item (Section 9.7) may be sent. | interaction of their extension with other published extensions, and | |||
| An implementation receiving a message with such an unannounced | specify any incompatibilities. | |||
| destination MUST terminate the session by issuing a Session | ||||
| Termination message (Section 8.7) with a status code of 'Invalid | ||||
| Destination', see Table 3, and transition to the Session Termination | ||||
| state. | ||||
| The receiver of a Destination Up message MAY decline further messages | 6.1. Experiments | |||
| concerning a given destination by sending a Destination Up Response | ||||
| with a status code of 'Not Interested', see Table 3. Receivers of | ||||
| such responses MUST NOT send further messages concerning that | ||||
| destination to the peer. | ||||
| After exchanging a pair of Destination Down (Section 8.11) and | This document requests Private Use numbering space in the DLEP | |||
| Destination Down Response (Section 8.12) messages, no messages | signal/message, data item and status code registries for experimental | |||
| concerning the logical destination identified by the MAC Address data | extensions. The intent is to allow for experimentation with new | |||
| item may be a sent without a previously sending a new Destination Up | signals, messages, data items, and/or status codes, while still | |||
| message. An implementation receiving a message about a down | retaining the documented DLEP behavior. | |||
| destination MUST terminate the session by issuing a Session | ||||
| Termination message with a status code of 'Invalid Destination' and | ||||
| transition to the Session Termination state. | ||||
| 7. DLEP Signal and Message Structure | Use of the Private Use signals, messages, data items, status codes, | |||
| or behaviors MUST be announced as DLEP Extensions, during session | ||||
| initialization, using extension identifiers from the Private Use | ||||
| space in the Extensions Supported registry (Table 4), with a value | ||||
| agreed upon (a priori) between the participating peers. DLEP | ||||
| extensions using the Private Use numbering space are commonly | ||||
| referred to as Experiments. | ||||
| Multiple experiments MAY be announced in the Session Initialization | ||||
| messages. However, use of multiple experiments in a single session | ||||
| could lead to interoperability issues or unexpected results (e.g., | ||||
| clashes of experimental signals, messages, data items and/or status | ||||
| code types), and is therefore discouraged. It is left to | ||||
| implementations to determine the correct processing path (e.g., a | ||||
| decision on whether to terminate the session, or to establish a | ||||
| precedence of the conflicting definitions) if such conflicts arise. | ||||
| 7. Scalability | ||||
| The protocol is intended to support thousands of destinations on a | ||||
| given modem/router pair. At large scale, implementations SHOULD | ||||
| consider employing techniques to prevent flooding a peer with a large | ||||
| number of messages in a short time. It is recommended that | ||||
| implementations consider a dampening algorithm to prevent a flapping | ||||
| device from generating a large number of Destination Up/Destination | ||||
| Down messages, for example. Implementations SHOULD also consider | ||||
| techniques such as a hysteresis to lessen the impact of rapid, minor | ||||
| fluctuations in link quality. The specific algorithms to be used for | ||||
| handling flapping destinations and minor changes in link quality are | ||||
| outside the scope of this specification. | ||||
| 8. DLEP Signal and Message Structure | ||||
| DLEP defines two protocol units used in two different ways: Signals | DLEP defines two protocol units used in two different ways: Signals | |||
| and Messages. Signals are only used in the Discovery mechanism and | and Messages. Signals are only used in the Discovery mechanism and | |||
| are carried in UDP datagrams. Messages are used bi-directionally | are carried in UDP datagrams. Messages are used bi-directionally | |||
| over a TCP connection between two peers, in the Session | over a TCP connection between two peers, in the Session | |||
| Initialization, In-Session and Session Termination states. | Initialization, In-Session and Session Termination states. | |||
| Both signals and messages consist of a header followed by an | Both signals and messages consist of a header followed by an | |||
| unordered list of data items. Headers consist of Type and Length | unordered list of data items. Headers consist of Type and Length | |||
| information, while data items are encoded as TLV (Type-Length-Value) | information, while data items are encoded as TLV (Type-Length-Value) | |||
| skipping to change at page 18, line 5 ¶ | skipping to change at page 18, line 20 ¶ | |||
| message. | message. | |||
| There is no restriction on the order of data items following a | There is no restriction on the order of data items following a | |||
| header, and the multiplicity of duplicate data items is defined by | header, and the multiplicity of duplicate data items is defined by | |||
| the definition of the signal or message declared by the type in the | the definition of the signal or message declared by the type in the | |||
| header. | header. | |||
| All integers in header fields and values MUST be in network byte- | All integers in header fields and values MUST be in network byte- | |||
| order. | order. | |||
| 7.1. DLEP Signal Header | 8.1. DLEP Signal Header | |||
| The DLEP signal header contains the following fields: | The DLEP signal header contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 'D' | 'L' | 'E' | 'P' | | | 'D' | 'L' | 'E' | 'P' | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Signal Type | Length | | | Signal Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 18, line 37 ¶ | skipping to change at page 19, line 5 ¶ | |||
| signal. This length SHALL NOT include the length of the header | signal. This length SHALL NOT include the length of the header | |||
| itself. | itself. | |||
| The DLEP signal header is immediately followed by one or more DLEP | The DLEP signal header is immediately followed by one or more DLEP | |||
| data items, encoded in TLVs, as defined in this document. | data items, encoded in TLVs, as defined in this document. | |||
| If an unrecognized, or unexpected signal is received, or a received | If an unrecognized, or unexpected signal is received, or a received | |||
| signal contains unrecognized, invalid, or disallowed duplicate data | signal contains unrecognized, invalid, or disallowed duplicate data | |||
| items, the receiving peer MUST ignore the signal. | items, the receiving peer MUST ignore the signal. | |||
| 7.2. DLEP Message Header | 8.2. DLEP Message Header | |||
| The DLEP message header contains the following fields: | The DLEP message header contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Message Type | Length | | | Message Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: DLEP Message Header | Figure 4: DLEP Message Header | |||
| skipping to change at page 19, line 16 ¶ | skipping to change at page 19, line 31 ¶ | |||
| integer, of all of the DLEP data items associated with this | integer, of all of the DLEP data items associated with this | |||
| message. This length SHALL NOT include the length of the header | message. This length SHALL NOT include the length of the header | |||
| itself. | itself. | |||
| The DLEP message header is immediately followed by one or more DLEP | The DLEP message header is immediately followed by one or more DLEP | |||
| data items, encoded in TLVs, as defined in this document. | data items, encoded in TLVs, as defined in this document. | |||
| If an unrecognized, or unexpected message is received, or a received | If an unrecognized, or unexpected message is received, or a received | |||
| message contains unrecognized, invalid, or disallowed duplicate data | message contains unrecognized, invalid, or disallowed duplicate data | |||
| items, the receiving peer MUST issue a Session Termination message | items, the receiving peer MUST issue a Session Termination message | |||
| (Section 8.7) with a Status data item (Section 9.1) containing the | (Section 9.7) with a Status data item (Section 10.1) containing the | |||
| most relevant status code, and transition to the Session Termination | most relevant status code, and transition to the Session Termination | |||
| state. | state. | |||
| 7.3. DLEP Generic Data Item | 8.3. DLEP Generic Data Item | |||
| All DLEP data items contain the following fields: | All DLEP data items contain the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Value... : | | Value... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 19, line 44 ¶ | skipping to change at page 20, line 12 ¶ | |||
| Data Item Type: An 16-bit unsigned integer field specifying the type | Data Item Type: An 16-bit unsigned integer field specifying the type | |||
| of data item being sent. | of data item being sent. | |||
| Length: The length in octets, expressed as an 16-bit unsigned | Length: The length in octets, expressed as an 16-bit unsigned | |||
| integer, of the value field of the data item. This length SHALL | integer, of the value field of the data item. This length SHALL | |||
| NOT include the length of the header itself. | NOT include the length of the header itself. | |||
| Value: A field of <Length> octets, which contains data specific to a | Value: A field of <Length> octets, which contains data specific to a | |||
| particular data item. | particular data item. | |||
| 8. DLEP Signals and Messages | 9. DLEP Signals and Messages | |||
| As mentioned above, all DLEP signals begin with the DLEP signal | As mentioned above, all DLEP signals begin with the DLEP signal | |||
| header, and all DLEP messages begin with the DLEP message header. | header, and all DLEP messages begin with the DLEP message header. | |||
| Therefore, in the following descriptions of specific signals and | Therefore, in the following descriptions of specific signals and | |||
| messages, this header is assumed, and will not be replicated. | messages, this header is assumed, and will not be replicated. | |||
| Following is the set of core signals and messages that MUST be | Following is the set of core signals and messages that MUST be | |||
| recognized by a DLEP compliant implementation. As mentioned before, | recognized by a DLEP compliant implementation. As mentioned before, | |||
| not all messages may be used during a session, but an implementation | not all messages may be used during a session, but an implementation | |||
| MUST correctly process these messages when received. | MUST correctly process these messages when received. | |||
| The core DLEP signals and messages are: | The core DLEP signals and messages are: | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | Type Code | Description | | | Type Code | Description | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Peer Discovery signal (Section 8.1) | | | 1 | Peer Discovery signal (Section 9.1) | | |||
| | 2 | Peer Offer signal (Section 8.2) | | | 2 | Peer Offer signal (Section 9.2) | | |||
| | 3 | Session Initialization message (Section 8.3) | | | 3 | Session Initialization message (Section 9.3) | | |||
| | 4 | Session Initialization Response message (Section | | | 4 | Session Initialization Response message (Section | | |||
| | | 8.4) | | | | 9.4) | | |||
| | 5 | Session Update message (Section 8.5) | | | 5 | Session Update message (Section 9.5) | | |||
| | 6 | Session Update Response message (Section 8.6) | | | 6 | Session Update Response message (Section 9.6) | | |||
| | 7 | Session Termination message (Section 8.7) | | | 7 | Session Termination message (Section 9.7) | | |||
| | 8 | Session Termination Response message (Section 8.8) | | | 8 | Session Termination Response message (Section 9.8) | | |||
| | 9 | Destination Up message (Section 8.9) | | | 9 | Destination Up message (Section 9.9) | | |||
| | 10 | Destination Up Response message (Section 8.10) | | | 10 | Destination Up Response message (Section 9.10) | | |||
| | 11 | Destination Down message (Section 8.11) | | | 11 | Destination Down message (Section 9.11) | | |||
| | 12 | Destination Down Response message (Section 8.12) | | | 12 | Destination Down Response message (Section 9.12) | | |||
| | 13 | Destination Update message (Section 8.13) | | | 13 | Destination Update message (Section 9.13) | | |||
| | 14 | Heartbeat message (Section 8.14) | | | 14 | Heartbeat message (Section 9.14) | | |||
| | 15 | Link Characteristics Request message (Section 8.15) | | | 15 | Link Characteristics Request message (Section 9.15) | | |||
| | 16 | Link Characteristics Response message (Section | | | 16 | Link Characteristics Response message (Section | | |||
| | | 8.16) | | | | 9.16) | | |||
| | 17-65519 | Reserved for future extensions | | | 17-65519 | Reserved for future extensions | | |||
| | 65520-65534 | Private Use. Available for experiments | | | 65520-65534 | Private Use. Available for experiments | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| Table 1: DLEP Signal/Message types | Table 1: DLEP Signal/Message types | |||
| 8.1. Peer Discovery Signal | 9.1. Peer Discovery Signal | |||
| A Peer Discovery signal SHOULD be sent by a router to discover DLEP | A Peer Discovery signal SHOULD be sent by a router to discover DLEP | |||
| modems in the network. The Peer Offer signal (Section 8.2) is | modems in the network. The Peer Offer signal (Section 9.2) is | |||
| required to complete the discovery process. Implementations MAY | required to complete the discovery process. Implementations MAY | |||
| implement their own retry heuristics in cases where it is determined | implement their own retransmit heuristics in cases where it is | |||
| the Peer Discovery signal has timed out. | determined the Peer Discovery signal has timed out. | |||
| To construct a Peer Discovery signal, the Signal Type value in the | To construct a Peer Discovery signal, the Signal Type value in the | |||
| signal header is set to 1, from Table 1. | signal header is set to 1, from Table 1. | |||
| The Peer Discovery signal MAY contain the following data item: | The Peer Discovery signal MAY contain the following data item: | |||
| o Peer Type (Section 9.4) | o Peer Type (Section 10.4) | |||
| 8.2. Peer Offer Signal | 9.2. Peer Offer Signal | |||
| A Peer Offer signal MUST be sent by a DLEP modem in response to a | A Peer Offer signal MUST be sent by a DLEP modem in response to a | |||
| valid Peer Discovery signal (Section 8.1). | valid Peer Discovery signal (Section 9.1). | |||
| The Peer Offer signal MUST be sent to the unicast address of the | The Peer Offer signal MUST be sent to the unicast address of the | |||
| originator of the Peer Discovery signal. | originator of the Peer Discovery signal. | |||
| To construct a Peer Offer signal, the Signal Type value in the signal | To construct a Peer Offer signal, the Signal Type value in the signal | |||
| header is set to 2, from Table 1. | header is set to 2, from Table 1. | |||
| The Peer Offer signal MAY contain the following data item: | The Peer Offer signal MAY contain the following data item: | |||
| o Peer Type (Section 9.4) | o Peer Type (Section 10.4) | |||
| The Peer Offer signal MAY contain one or more of any of the following | The Peer Offer signal MAY contain one or more of any of the following | |||
| data items, with different values: | data items, with different values: | |||
| o IPv4 Connection Point (Section 9.2) | o IPv4 Connection Point (Section 10.2) | |||
| o IPv6 Connection Point (Section 9.3) | o IPv6 Connection Point (Section 10.3) | |||
| The IP Connection Point data items indicate the unicast address the | The IP Connection Point data items indicate the unicast address the | |||
| receiver of Peer Offer MUST use when connecting the DLEP TCP session. | receiver of Peer Offer MUST use when connecting the DLEP TCP session. | |||
| If multiple IP Connection Point data items are present in the Peer | If multiple IP Connection Point data items are present in the Peer | |||
| Offer signal, implementations MAY use their own heuristics to select | Offer signal, implementations MAY use their own heuristics to select | |||
| the address to connect to. If no IP Connection Point data items are | the address to connect to. If no IP Connection Point data items are | |||
| included in the Peer Offer signal, the receiver MUST use the origin | included in the Peer Offer signal, the receiver MUST use the origin | |||
| address of the signal as the IP address, and the DLEP well-known port | address of the signal as the IP address, and the DLEP well-known port | |||
| number (Section 12.7) to establish the TCP connection. | number (Section 12.7) to establish the TCP connection. | |||
| 8.3. Session Initialization Message | 9.3. Session Initialization Message | |||
| A Session Initialization message MUST be sent by a router as the | A Session Initialization message MUST be sent by a router as the | |||
| first message of the DLEP TCP session. It is sent by the router | first message of the DLEP TCP session. It is sent by the router | |||
| after a TCP connect to an address/port combination that was obtained | after a TCP connect to an address/port combination that was obtained | |||
| either via receipt of a Peer Offer, or from a priori configuration. | either via receipt of a Peer Offer, or from a priori configuration. | |||
| If any optional extensions are supported by the implementation, they | If any optional extensions are supported by the implementation, they | |||
| MUST be enumerated in the Extensions Supported data item. If an | MUST be enumerated in the Extensions Supported data item. If an | |||
| Extensions Supported data item does not exist in a Session | Extensions Supported data item does not exist in a Session | |||
| Initialization message, the receiver of the message MUST conclude | Initialization message, the receiver of the message MUST conclude | |||
| that there is no support for extensions in the sender. | that there is no support for extensions in the sender. | |||
| Implementations supporting the Heartbeat Interval (Section 9.5) | Implementations supporting the Heartbeat Interval (Section 10.5) | |||
| should understand that heartbeats are not fully established until | should understand that heartbeats are not fully established until | |||
| receipt of Session Initialization Response message (Section 8.4), and | receipt of Session Initialization Response message (Section 9.4), and | |||
| should therefore implement their own timeout and retry heuristics for | should therefore implement their own timeout and retry heuristics for | |||
| this message. | this message. | |||
| To construct a Session Initialization message, the Message Type value | To construct a Session Initialization message, the Message Type value | |||
| in the message header is set to 3, from Table 1. | in the message header is set to 3, from Table 1. | |||
| The Session Initialization message MUST contain one of each of the | The Session Initialization message MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o Heartbeat Interval (Section 9.5) | o Heartbeat Interval (Section 10.5) | |||
| The Session Initialization message MAY contain one of each of the | The Session Initialization message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Peer Type (Section 9.4) | o Peer Type (Section 10.4) | |||
| o Extensions Supported (Section 9.6) | o Extensions Supported (Section 10.6) | |||
| A Session Initialization message MUST be acknowledged by the receiver | A Session Initialization message MUST be acknowledged by the receiver | |||
| issuing a Session Initialization Response message (Section 8.4). | issuing a Session Initialization Response message (Section 9.4). | |||
| 8.4. Session Initialization Response Message | As an exception to the general rule that an implementation receiving | |||
| an unrecognized data item in a message terminating the session with | ||||
| an error, see Section 8.2, if a Session Initialization message | ||||
| contains one or more Extension Supported data items announcing | ||||
| support for extensions that the implementation does not recognize, | ||||
| then the implementation MAY ignore data items it does not recognize. | ||||
| 9.4. Session Initialization Response Message | ||||
| A Session Initialization Response message MUST be sent in response to | A Session Initialization Response message MUST be sent in response to | |||
| a received Session Initialization message (Section 8.3). The Session | a received Session Initialization message (Section 9.3). The Session | |||
| Initialization Response message completes the DLEP session | Initialization Response message completes the DLEP session | |||
| establishment; the sender of the message should transition to the In- | establishment; the sender of the message should transition to the In- | |||
| Session state when the message is sent, and the receiver should | Session state when the message is sent, and the receiver should | |||
| transition to the In-Session state upon receipt (and successful | transition to the In-Session state upon receipt (and successful | |||
| parsing) of an acceptable Session Initialization Response message. | parsing) of an acceptable Session Initialization Response message. | |||
| All supported metric data items MUST be included in the Session | All supported metric data items MUST be included in the Session | |||
| Initialization Response message, with default values to be used on a | Initialization Response message, with default values to be used on a | |||
| 'modem-wide' basis. This can be viewed as the modem 'declaring' all | 'modem-wide' basis. This can be viewed as the modem 'declaring' all | |||
| supported metrics at DLEP session initialization. Receipt of any | supported metrics at DLEP session initialization. Receipt of any | |||
| skipping to change at page 23, line 15 ¶ | skipping to change at page 24, line 21 ¶ | |||
| After the Session Initialization/Session Initialization Response | After the Session Initialization/Session Initialization Response | |||
| messages have been successfully exchanged, implementations MUST only | messages have been successfully exchanged, implementations MUST only | |||
| use extensions that are supported by BOTH peers. | use extensions that are supported by BOTH peers. | |||
| To construct a Session Initialization Response message, the Message | To construct a Session Initialization Response message, the Message | |||
| Type value in the message header is set to 4, from Table 1. | Type value in the message header is set to 4, from Table 1. | |||
| The Session Initialization Response message MUST contain one of each | The Session Initialization Response message MUST contain one of each | |||
| of the following data items: | of the following data items: | |||
| o Heartbeat Interval (Section 9.5) | o Heartbeat Interval (Section 10.5) | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 9.14) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| The Session Initialization Response message MUST contain one of each | The Session Initialization Response message MUST contain one of each | |||
| of the following data items, if the data item will be used during the | of the following data items, if the data item will be used during the | |||
| lifetime of the session: | lifetime of the session: | |||
| o Resources (Receive) (Section 9.17) | o Resources (Receive) (Section 10.17) | |||
| o Resources (Transmit) (Section 9.18) | o Resources (Transmit) (Section 10.18) | |||
| o Relative Link Quality (Receive) (Section 9.19) | o Relative Link Quality (Receive) (Section 10.19) | |||
| o Relative Link Quality (Transmit) (Section 9.20) | o Relative Link Quality (Transmit) (Section 10.20) | |||
| The Session Initialization Response message MAY contain one of each | The Session Initialization Response message MAY contain one of each | |||
| of the following data items: | of the following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| o Peer Type (Section 9.4) | ||||
| o Extensions Supported (Section 9.6) | o Peer Type (Section 10.4) | |||
| o Extensions Supported (Section 10.6) | ||||
| A receiver of a Session Initialization Response message without a | A receiver of a Session Initialization Response message without a | |||
| Status data item MUST behave as if a Status data item with code | Status data item MUST behave as if a Status data item with code | |||
| 'Success' had been received. | 'Success' had been received. | |||
| 8.5. Session Update Message | 9.5. Session Update Message | |||
| A Session Update message MAY be sent by a DLEP peer to indicate local | A Session Update message MAY be sent by a DLEP peer to indicate local | |||
| Layer 3 address changes, or metric changes on a modem-wide basis. | Layer 3 address changes, or metric changes on a modem-wide basis. | |||
| For example, addition of an IPv4 address to the router MAY prompt a | For example, addition of an IPv4 address to the router MAY prompt a | |||
| Session Update message to its attached DLEP modems. Also, for | Session Update message to its attached DLEP modems. Also, for | |||
| example, a modem that changes its Maximum Data Rate (Receive) for all | example, a modem that changes its Maximum Data Rate (Receive) for all | |||
| destinations MAY reflect that change via a Session Update message to | destinations MAY reflect that change via a Session Update message to | |||
| its attached router(s). | its attached router(s). | |||
| Concerning Layer 3 addresses, if the modem is capable of | Concerning Layer 3 addresses: If the modem is capable of | |||
| understanding and forwarding this information (via proprietary | understanding and forwarding this information (via proprietary | |||
| mechanisms), the address update would prompt any remote DLEP modems | mechanisms), the address update would prompt any remote DLEP modems | |||
| (DLEP-enabled modems in a remote node) to issue a Destination Update | (DLEP-enabled modems in a remote node) to issue a Destination Update | |||
| message (Section 8.13) to their local routers with the new (or | message (Section 9.13) to their local routers with the new (or | |||
| deleted) addresses. Modems that do not track Layer 3 addresses | deleted) addresses. Modems that do not track Layer 3 addresses | |||
| SHOULD silently parse and ignore Layer 3 data items. The Session | SHOULD silently parse and ignore Layer 3 data items. The Session | |||
| Update message MUST be acknowledged with a Session Update Response | Update message MUST be acknowledged with a Session Update Response | |||
| message (Section 8.6). | message (Section 9.6). | |||
| If metrics are supplied with the Session Update message (e.g., | If metrics are supplied with the Session Update message (e.g., | |||
| Maximum Data Rate), these metrics are considered to be modem-wide, | Maximum Data Rate), these metrics are considered to be modem-wide, | |||
| and therefore MUST be applied to all destinations in the information | and therefore MUST be applied to all destinations in the information | |||
| base associated with the router/modem session. | base associated with the router/modem session. | |||
| Supporting implementations are free to employ heuristics to | ||||
| retransmit Session Update messages. The sending of Session Update | ||||
| messages for Layer 3 address changes SHOULD cease when either | ||||
| participant (router or modem) determines that the other | ||||
| implementation does not support Layer 3 address tracking. | ||||
| To construct a Session Update message, the Message Type value in the | To construct a Session Update message, the Message Type value in the | |||
| message header is set to 5, from Table 1. | message header is set to 5, from Table 1. | |||
| The Session Update message MAY contain one of each of the following | The Session Update message MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 9.14) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| o Resources (Receive) (Section 9.17) | o Resources (Receive) (Section 10.17) | |||
| o Resources (Transmit) (Section 9.18) | ||||
| o Relative Link Quality (Receive) (Section 9.19) | o Resources (Transmit) (Section 10.18) | |||
| o Relative Link Quality (Receive) (Section 10.19) | ||||
| o Relative Link Quality (Transmit) (Section 9.20) | o Relative Link Quality (Transmit) (Section 10.20) | |||
| The Session Update message MAY contain one or more of the following | The Session Update message MAY contain one or more of the following | |||
| data items, with different values: | data items, with different values: | |||
| o IPv4 Address (Section 9.8) | o IPv4 Address (Section 10.8) | |||
| o IPv6 Address (Section 9.9) | o IPv6 Address (Section 10.9) | |||
| A Session Update message MUST be acknowledged by the receiver issuing | A Session Update message MUST be acknowledged by the receiver issuing | |||
| a Session Update Response message (Section 8.6). | a Session Update Response message (Section 9.6). | |||
| 8.6. Session Update Response Message | 9.6. Session Update Response Message | |||
| A Session Update Response message MUST be sent by implementations to | A Session Update Response message MUST be sent by implementations to | |||
| indicate whether a Session Update message (Section 8.5) was | indicate whether a Session Update message (Section 9.5) was | |||
| successfully received. | successfully received. | |||
| To construct a Session Update Response message, the Message Type | To construct a Session Update Response message, the Message Type | |||
| value in the message header is set to 6, from Table 1. | value in the message header is set to 6, from Table 1. | |||
| The Session Update Response message MAY contain one of each of the | The Session Update Response message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Session Update Response message without a Status data | A receiver of a Session Update Response message without a Status data | |||
| item MUST behave as if a Status data item with code 'Success' had | item MUST behave as if a Status data item with code 'Success' had | |||
| been received. | been received. | |||
| 8.7. Session Termination Message | 9.7. Session Termination Message | |||
| A Session Termination message MUST be sent by a DLEP participant when | A Session Termination message MUST be sent by a DLEP participant when | |||
| the router/modem session needs to be terminated. | the router/modem session needs to be terminated. | |||
| To construct a Session Termination message, the Message Type value in | To construct a Session Termination message, the Message Type value in | |||
| the message header is set to 7, from Table 1. | the message header is set to 7, from Table 1. | |||
| The Session Termination message MAY contain one of each of the | The Session Termination message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Session Termination message without a Status data | A receiver of a Session Termination message without a Status data | |||
| item MUST behave as if a Status of 'Unknown reason for Session | item MUST behave as if a Status of 'Unknown reason for Session | |||
| Termination' has been received. | Termination' has been received. | |||
| A Session Termination message MUST be acknowledged by the receiver | A Session Termination message MUST be acknowledged by the receiver | |||
| issuing a Session Termination Response message (Section 8.8). | issuing a Session Termination Response message (Section 9.8). | |||
| 8.8. Session Termination Response Message | 9.8. Session Termination Response Message | |||
| A Session Termination Response message MUST be sent by a DLEP peer in | A Session Termination Response message MUST be sent by a DLEP peer in | |||
| response to a received Session Termination message (Section 8.7). | response to a received Session Termination message (Section 9.7). | |||
| Receipt of a Session Termination Response message completes the | Receipt of a Session Termination Response message completes the | |||
| teardown of the router/modem session. | teardown of the router/modem session. | |||
| To construct a Session Termination Response message, the Message Type | To construct a Session Termination Response message, the Message Type | |||
| value in the message header is set to 8, from Table 1. | value in the message header is set to 8, from Table 1. | |||
| The Session Termination Response message MAY contain one of each of | The Session Termination Response message MAY contain one of each of | |||
| the following data items: | the following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Session Termination Response message without a Status | A receiver of a Session Termination Response message without a Status | |||
| data item MUST behave as if a Status data item with status code | data item MUST behave as if a Status data item with status code | |||
| 'Success', implying graceful termination, had been received. | 'Success', implying graceful termination, had been received. | |||
| 8.9. Destination Up Message | 9.9. Destination Up Message | |||
| A Destination Up message can be sent either by the modem, to indicate | A Destination Up message can be sent either by the modem, to indicate | |||
| that a new remote node has been detected, or by the router, to | that a new remote node has been detected, or by the router, to | |||
| indicate the presence of a new logical destination (e.g., a Multicast | indicate the presence of a new logical destination (e.g., a Multicast | |||
| group) in the network. | group) in the network. | |||
| A Destination Up message MUST be acknowledged by the receiver issuing | A Destination Up message MUST be acknowledged by the receiver issuing | |||
| a Destination Up Response message (Section 8.10). The sender of the | a Destination Up Response message (Section 9.10). When a Destination | |||
| Destination Up message is free to define its retry heuristics in | Up message is received and successfully processed, the receiver | |||
| event of a timeout. When a Destination Up message is received and | should add knowledge of the new destination to its information base, | |||
| successfully processed, the receiver should add knowledge of the new | indicating that the destination is accessible via the modem/router | |||
| destination to its information base, indicating that the destination | pair. | |||
| is accessible via the modem/router pair. | ||||
| To construct a Destination Up message, the Message Type value in the | To construct a Destination Up message, the Message Type value in the | |||
| message header is set to 9, from Table 1. | message header is set to 9, from Table 1. | |||
| The Destination Up message MUST contain one of each of the following | The Destination Up message MUST contain one of each of the following | |||
| data items: | data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Destination Up message MAY contain one of each of the following | The Destination Up message MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 9.14) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| o Resources (Receive) (Section 9.17) | o Resources (Receive) (Section 10.17) | |||
| o Resources (Transmit) (Section 9.18) | o Resources (Transmit) (Section 10.18) | |||
| o Relative Link Quality (Receive) (Section 9.19) | o Relative Link Quality (Receive) (Section 10.19) | |||
| o Relative Link Quality (Transmit) (Section 9.20) | o Relative Link Quality (Transmit) (Section 10.20) | |||
| The Destination Up message MAY contain one or more of the following | The Destination Up message MAY contain one or more of the following | |||
| data items, with different values: | data items, with different values: | |||
| o IPv4 Address (Section 9.8) | o IPv4 Address (Section 10.8) | |||
| o IPv6 Address (Section 9.9) | o IPv6 Address (Section 10.9) | |||
| o IPv4 Attached Subnet (Section 9.10) | o IPv4 Attached Subnet (Section 10.10) | |||
| o IPv6 Attached Subnet (Section 9.11) | o IPv6 Attached Subnet (Section 10.11) | |||
| If the sender has IPv4 and/or IPv6 address information for a | If the sender has IPv4 and/or IPv6 address information for a | |||
| destination it SHOULD include the relevant data items in the | destination it SHOULD include the relevant data items in the | |||
| Destination Up message, reducing the need for the receiver to probe | Destination Up message, reducing the need for the receiver to probe | |||
| for any address. | for any address. | |||
| 8.10. Destination Up Response Message | 9.10. Destination Up Response Message | |||
| A DLEP participant MUST send a Destination Up Response message to | A DLEP participant MUST send a Destination Up Response message to | |||
| indicate whether a Destination Up message (Section 8.9) was | indicate whether a Destination Up message (Section 9.9) was | |||
| successfully processed. | successfully processed. | |||
| To construct a Destination Up Response message, the Message Type | To construct a Destination Up Response message, the Message Type | |||
| value in the message header is set to 10, from Table 1. | value in the message header is set to 10, from Table 1. | |||
| The Destination Up Response message MUST contain one of each of the | The Destination Up Response message MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Destination Up Response message MAY contain one of each of the | The Destination Up Response message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Destination Up Response message without a Status data | A receiver of a Destination Up Response message without a Status data | |||
| item MUST behave as if a Status data item with status code 'Success' | item MUST behave as if a Status data item with status code 'Success' | |||
| had been received. | had been received. | |||
| 8.11. Destination Down Message | 9.11. Destination Down Message | |||
| A DLEP peer MUST send a Destination Down message to report when a | A DLEP peer MUST send a Destination Down message to report when a | |||
| destination (a remote node or a multicast group) is no longer | destination (a remote node or a multicast group) is no longer | |||
| reachable. A Destination Down Response message (Section 8.12) MUST | reachable. A Destination Down Response message (Section 9.12) MUST | |||
| be sent by the recipient of a Destination Down message to confirm | be sent by the recipient of a Destination Down message to confirm | |||
| that the relevant data has been removed from the information base. | that the relevant data has been removed from the information base. | |||
| The sender of the Destination Down message is free to define its | ||||
| retry heuristics in event of a timeout. | ||||
| To construct a Destination Down message, the Message Type value in | To construct a Destination Down message, the Message Type value in | |||
| the message header is set to 11, from Table 1. | the message header is set to 11, from Table 1. | |||
| The Destination Down message MUST contain one of each of the | The Destination Down message MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| 8.12. Destination Down Response Message | 9.12. Destination Down Response Message | |||
| A DLEP participant MUST send a Destination Down Response message to | A DLEP participant MUST send a Destination Down Response message to | |||
| indicate whether a received Destination Down message (Section 8.11) | indicate whether a received Destination Down message (Section 9.11) | |||
| was successfully processed. If successfully processed, the sender of | was successfully processed. If successfully processed, the sender of | |||
| the Response MUST have removed all entries in the information base | the Response MUST have removed all entries in the information base | |||
| that pertain to the referenced destination. | that pertain to the referenced destination. | |||
| To construct a Destination Down Response message, the Message Type | To construct a Destination Down Response message, the Message Type | |||
| value in the message header is set to 12, from Table 1. | value in the message header is set to 12, from Table 1. | |||
| The Destination Down Response message MUST contain one of each of the | The Destination Down Response message MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Destination Down Response message MAY contain one of each of the | The Destination Down Response message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Destination Down Response message without a Status | A receiver of a Destination Down Response message without a Status | |||
| data item MUST behave as if a Status data item with status code | data item MUST behave as if a Status data item with status code | |||
| 'Success' had been received. | 'Success' had been received. | |||
| 8.13. Destination Update Message | 9.13. Destination Update Message | |||
| A DLEP participant SHOULD send the Destination Update message when it | A DLEP participant SHOULD send the Destination Update message when it | |||
| detects some change in the information base for a given destination | detects some change in the information base for a given destination | |||
| (remote node or multicast group). Some examples of changes that | (remote node or multicast group). Some examples of changes that | |||
| would prompt a Destination Update message are: | would prompt a Destination Update message are: | |||
| o Change in link metrics (e.g., Data Rates) | o Change in link metrics (e.g., Data Rates) | |||
| o Layer 3 addressing change | o Layer 3 addressing change | |||
| To construct a Destination Update message, the Message Type value in | To construct a Destination Update message, the Message Type value in | |||
| the message header is set to 13, from Table 1. | the message header is set to 13, from Table 1. | |||
| The Destination Update message MUST contain one of each of the | The Destination Update message MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Destination Update message MAY contain one of each of the | The Destination Update message MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 9.14) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| o Resources (Receive) (Section 9.17) | o Resources (Receive) (Section 10.17) | |||
| o Resources (Transmit) (Section 9.18) | o Resources (Transmit) (Section 10.18) | |||
| o Relative Link Quality (Receive) (Section 9.19) | o Relative Link Quality (Receive) (Section 10.19) | |||
| o Relative Link Quality (Transmit) (Section 10.20) | ||||
| o Relative Link Quality (Transmit) (Section 9.20) | ||||
| The Destination Update message MAY contain one or more of the | The Destination Update message MAY contain one or more of the | |||
| following data items, with different values: | following data items, with different values: | |||
| o IPv4 Address (Section 9.8) | o IPv4 Address (Section 10.8) | |||
| o IPv6 Address (Section 10.9) | ||||
| o IPv6 Address (Section 9.9) | 9.14. Heartbeat Message | |||
| 8.14. Heartbeat Message | While Heartbeat messages are not required by DLEP implementations, it | |||
| is strongly RECOMMENDED that Heartbeat messages be used. | ||||
| A Heartbeat message SHOULD be sent by a DLEP participant every N | A Heartbeat message SHOULD be sent by a DLEP participant every N | |||
| seconds, where N is defined in the Heartbeat Interval data item of | seconds, where N is defined in the Heartbeat Interval data item of | |||
| the Session Initialization message (Section 8.3) or Session | the Session Initialization message (Section 9.3) or Session | |||
| Initialization Response message (Section 8.4). | Initialization Response message (Section 9.4). | |||
| Note that implementations setting the Heartbeat Interval to 0 | Note that implementations setting the Heartbeat Interval to 0 | |||
| effectively sets the interval to an infinite value, therefore this | effectively sets the interval to an infinite value, turning off | |||
| message SHOULD NOT be sent. | Heartbeat messages. Great care MUST be taken when exercising this | |||
| option. | ||||
| The message is used by participants to detect when a DLEP session | The message is used by participants to detect when a DLEP session | |||
| partner (either the modem or the router) is no longer communicating. | partner (either the modem or the router) is no longer communicating. | |||
| Participants SHOULD allow two (2) heartbeat intervals to expire with | Participants SHOULD allow two (2) heartbeat intervals to expire with | |||
| no traffic on the router/modem session before initiating DLEP session | no traffic on the router/modem session before initiating DLEP session | |||
| termination procedures. | termination procedures. | |||
| To construct a Heartbeat message, the Message Type value in the | To construct a Heartbeat message, the Message Type value in the | |||
| message header is set to 14, from Table 1. | message header is set to 14, from Table 1. | |||
| There are no valid data items for the Heartbeat message. | There are no valid data items for the Heartbeat message. | |||
| 8.15. Link Characteristics Request Message | 9.15. Link Characteristics Request Message | |||
| The Link Characteristics Request message MAY be sent by the router to | The Link Characteristics Request message MAY be sent by the router to | |||
| request that the modem initiate changes for specific characteristics | request that the modem initiate changes for specific characteristics | |||
| of the link. The request can reference either a real destination | of the link. The request can reference either a real destination | |||
| (e.g., a remote node), or a logical destination (e.g., a multicast | (e.g., a remote node), or a logical destination (e.g., a multicast | |||
| group) within the network. | group) within the network. | |||
| The Link Characteristics Request message MAY contain either a Current | The Link Characteristics Request message MAY contain either a Current | |||
| Data Rate (CDRR or CDRT) data item to request a different datarate | Data Rate (CDRR or CDRT) data item to request a different datarate | |||
| than what is currently allocated, a Latency data item to request that | than what is currently allocated, a Latency data item to request that | |||
| traffic delay on the link not exceed the specified value, or both. A | traffic delay on the link not exceed the specified value, or both. A | |||
| Link Characteristics Response message (Section 8.16) is required to | Link Characteristics Response message (Section 9.16) is required to | |||
| complete the request. Issuing a Link Characteristics Request with | complete the request. Issuing a Link Characteristics Request with | |||
| ONLY the MAC Address data item is a mechanism a peer MAY use to | ONLY the MAC Address data item is a mechanism a peer MAY use to | |||
| request metrics (via the Link Characteristics Response) from its | request metrics (via the Link Characteristics Response) from its | |||
| partner. | partner. | |||
| The sender of a Link Characteristics Request message MAY attach a | The sender of a Link Characteristics Request message should be aware | |||
| timer to the request using the Link Characteristics Response Timer | that a request may take an extended period of time to complete. | |||
| data item. If a Link Characteristics Response message is received | ||||
| after the timer expires, the sender MUST NOT assume that the request | ||||
| succeeded. Implementations are free to define their retry heuristics | ||||
| in event of a timeout. | ||||
| To construct a Link Characteristics Request message, the Message Type | To construct a Link Characteristics Request message, the Message Type | |||
| value in the message header is set to 15, from Table 1. | value in the message header is set to 15, from Table 1. | |||
| The Link Characteristics Request message MUST contain one of each of | The Link Characteristics Request message MUST contain one of each of | |||
| the following data items: | the following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Link Characteristics Request message MAY contain one of each of | The Link Characteristics Request message MAY contain one of each of | |||
| the following data items: | the following data items: | |||
| o Link Characteristics Response Timer (Section 9.21) | o Current Data Rate (Receive) (Section 10.14) | |||
| o Current Data Rate (Receive) (Section 9.14) | ||||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| 8.16. Link Characteristics Response Message | 9.16. Link Characteristics Response Message | |||
| A DLEP participant MUST send a Link Characteristics Response message | A DLEP participant MUST send a Link Characteristics Response message | |||
| to indicate whether a received Link Characteristics Request message | to indicate whether a received Link Characteristics Request message | |||
| (Section 8.15) was successfully processed. The Link Characteristics | (Section 9.15) was successfully processed. The Link Characteristics | |||
| Response message SHOULD contain a complete set of metric data items, | Response message SHOULD contain a complete set of metric data items, | |||
| and MUST contain a full set (i.e. those declared in the Session | and MUST contain a full set (i.e. those declared in the Session | |||
| Initialization Response message (Section 8.4)), if metrics were | Initialization Response message (Section 9.4)), if metrics were | |||
| requested by only including a MAC address data item. It MUST contain | requested by only including a MAC address data item. It MUST contain | |||
| the same metric types as the request. The values in the metric data | the same metric types as the request. The values in the metric data | |||
| items in the Link Characteristics Response message MUST reflect the | items in the Link Characteristics Response message MUST reflect the | |||
| link characteristics after the request has been processed. | link characteristics after the request has been processed. | |||
| If an implementation is not able to alter the characteristics of the | If an implementation is not able to alter the characteristics of the | |||
| link in the manner requested, then a Status data item with status | link in the manner requested, then a Status data item with status | |||
| code 'Request Denied', see Table 3, MUST be added to the message. | code 'Request Denied', see Table 3, MUST be added to the message. | |||
| To construct a Link Characteristics Response message, the Message | To construct a Link Characteristics Response message, the Message | |||
| Type value in the message header is set to 16, from Table 1. | Type value in the message header is set to 16, from Table 1. | |||
| The Link Characteristics Response message MUST contain one of each of | The Link Characteristics Response message MUST contain one of each of | |||
| the following data items: | the following data items: | |||
| o MAC Address (Section 9.7) | o MAC Address (Section 10.7) | |||
| The Link Characteristics Response message SHOULD contain one of each | The Link Characteristics Response message SHOULD contain one of each | |||
| of the following data items: | of the following data items: | |||
| o Maximum Data Rate (Receive) (Section 9.12) | o Maximum Data Rate (Receive) (Section 10.12) | |||
| o Maximum Data Rate (Transmit) (Section 9.13) | ||||
| o Current Data Rate (Receive) (Section 9.14) | o Maximum Data Rate (Transmit) (Section 10.13) | |||
| o Current Data Rate (Receive) (Section 10.14) | ||||
| o Current Data Rate (Transmit) (Section 9.15) | o Current Data Rate (Transmit) (Section 10.15) | |||
| o Latency (Section 9.16) | o Latency (Section 10.16) | |||
| The Link Characteristics Response message MAY contain one of each of | The Link Characteristics Response message MAY contain one of each of | |||
| the following data items: | the following data items: | |||
| o Resources (Receive) (Section 9.17) | o Resources (Receive) (Section 10.17) | |||
| o Resources (Transmit) (Section 9.18) | o Resources (Transmit) (Section 10.18) | |||
| o Relative Link Quality (Receive) (Section 9.19) | o Relative Link Quality (Receive) (Section 10.19) | |||
| o Relative Link Quality (Transmit) (Section 9.20) | o Relative Link Quality (Transmit) (Section 10.20) | |||
| o Status (Section 9.1) | o Status (Section 10.1) | |||
| A receiver of a Link Characteristics Response message without a | A receiver of a Link Characteristics Response message without a | |||
| Status data item MUST behave as if a Status data item with status | Status data item MUST behave as if a Status data item with status | |||
| code 'Success' had been received. | code 'Success' had been received. | |||
| 9. DLEP Data Items | 10. DLEP Data Items | |||
| Following is the list of core data items that MUST be recognized by a | Following is the list of core data items that MUST be recognized by a | |||
| DLEP compliant implementation. As mentioned before, not all data | DLEP compliant implementation. As mentioned before, not all data | |||
| items need be used during a session, but an implementation MUST | items need be used during a session, but an implementation MUST | |||
| correctly process these data items when correctly associated with a | correctly process these data items when correctly associated with a | |||
| signal or message. | signal or message. | |||
| The core DLEP data items are: | The core DLEP data items are: | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | Type Code | Description | | | Type Code | Description | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Status (Section 9.1) | | | 1 | Status (Section 10.1) | | |||
| | 2 | IPv4 Connection Point (Section 9.2) | | | 2 | IPv4 Connection Point (Section 10.2) | | |||
| | 3 | IPv6 Connection Point (Section 9.3) | | | 3 | IPv6 Connection Point (Section 10.3) | | |||
| | 4 | Peer Type (Section 9.4) | | | 4 | Peer Type (Section 10.4) | | |||
| | 5 | Heartbeat Interval (Section 9.5) | | | 5 | Heartbeat Interval (Section 10.5) | | |||
| | 6 | Extensions Supported (Section 9.6) | | | 6 | Extensions Supported (Section 10.6) | | |||
| | 7 | MAC Address (Section 9.7) | | | 7 | MAC Address (Section 10.7) | | |||
| | 8 | IPv4 Address (Section 9.8) | | | 8 | IPv4 Address (Section 10.8) | | |||
| | 9 | IPv6 Address (Section 9.9) | | | 9 | IPv6 Address (Section 10.9) | | |||
| | 10 | IPv4 Attached Subnet (Section 9.10) | | | 10 | IPv4 Attached Subnet (Section 10.10) | | |||
| | 11 | IPv6 Attached Subnet (Section 9.11) | | | 11 | IPv6 Attached Subnet (Section 10.11) | | |||
| | 12 | Maximum Data Rate (Receive) MDRR) (Section 9.12) | | | 12 | Maximum Data Rate (Receive) MDRR) (Section 10.12) | | |||
| | 13 | Maximum Data Rate (Transmit) (MDRT) (Section 9.13) | | | 13 | Maximum Data Rate (Transmit) (MDRT) (Section 10.13) | | |||
| | 14 | Current Data Rate (Receive) (CDRR) (Section 9.14) | | | 14 | Current Data Rate (Receive) (CDRR) (Section 10.14) | | |||
| | 15 | Current Data Rate (Transmit) (CDRT) (Section 9.15) | | | 15 | Current Data Rate (Transmit) (CDRT) (Section 10.15) | | |||
| | 16 | Latency (Section 9.16) | | | 16 | Latency (Section 10.16) | | |||
| | 17 | Resources (Receive) (RESR) (Section 9.17) | | | 17 | Resources (Receive) (RESR) (Section 10.17) | | |||
| | 18 | Resources (Transmit) (REST) (Section 9.18) | | | 18 | Resources (Transmit) (REST) (Section 10.18) | | |||
| | 19 | Relative Link Quality (Receive) (RLQR) (Section | | | 19 | Relative Link Quality (Receive) (RLQR) (Section | | |||
| | | 9.19) | | | | 10.19) | | |||
| | 20 | Relative Link Quality (Transmit) (RLQT) (Section | | | 20 | Relative Link Quality (Transmit) (RLQT) (Section | | |||
| | | 9.20) | | | | 10.20) | | |||
| | 21 | Link Characteristics Response Timer (Section 9.21) | | | 21-65407 | Reserved for future extensions | | |||
| | 22-24 | Credit Windowing (Section 10) extension data items | | ||||
| | 25-65407 | Reserved for future extensions | | ||||
| | 65408-65534 | Private Use. Available for experiments | | | 65408-65534 | Private Use. Available for experiments | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| Table 2: DLEP Data Item types | Table 2: DLEP Data Item types | |||
| 9.1. Status | 10.1. Status | |||
| The Status data item MAY appear in the Session Initialization | The Status data item MAY appear in the Session Initialization | |||
| Response (Section 8.4), Session Termination (Section 8.7), Session | Response (Section 9.4), Session Termination (Section 9.7), Session | |||
| Termination Response (Section 8.8), Session Update Response | Termination Response (Section 9.8), Session Update Response | |||
| (Section 8.6), Destination Up Response (Section 8.10), Destination | (Section 9.6), Destination Up Response (Section 9.10), Destination | |||
| Down Response (Section 8.12) and Link Characteristics Response | Down Response (Section 9.12) and Link Characteristics Response | |||
| (Section 8.16) messages. | (Section 9.16) messages. | |||
| For the Session Termination message (Section 8.7), the Status data | For the Session Termination message (Section 9.7), the Status data | |||
| item indicates a reason for the termination. For all acknowledgement | item indicates a reason for the termination. For all acknowledgement | |||
| messages, the Status data item is used to indicate the success or | messages, the Status data item is used to indicate the success or | |||
| failure of the previously received message. | failure of the previously received message. | |||
| The status data item includes an optional Text field that can be used | The status data item includes an optional Text field that can be used | |||
| to provide a textual description of the status. The use of the Text | to provide a textual description of the status. The use of the Text | |||
| field is entirely up to the receiving implementation, i.e., it could | field is entirely up to the receiving implementation, i.e., it could | |||
| be output to a log file or discarded. If no Text field is supplied | be output to a log file or discarded. If no Text field is supplied | |||
| with the Status data item, the Length field MUST be set to 1. | with the Status data item, the Length field MUST be set to 1. | |||
| skipping to change at page 34, line 48 ¶ | skipping to change at page 36, line 18 ¶ | |||
| +-------------+---------+-----------+-------------------------------+ | +-------------+---------+-----------+-------------------------------+ | |||
| | Success | 0 | Success | The message was processed | | | Success | 0 | Success | The message was processed | | |||
| | | | | successfully. | | | | | | successfully. | | |||
| | Unknown | 1 | Terminate | The message was not | | | Unknown | 1 | Terminate | The message was not | | |||
| | Message | | | recognized by the | | | Message | | | recognized by the | | |||
| | | | | implementation. | | | | | | implementation. | | |||
| | Unexpected | 2 | Terminate | The message was not expected | | | Unexpected | 2 | Terminate | The message was not expected | | |||
| | Message | | | while the device was in the | | | Message | | | while the device was in the | | |||
| | | | | current state, e.g., a | | | | | | current state, e.g., a | | |||
| | | | | Session Initialization | | | | | | Session Initialization | | |||
| | | | | message (Section 8.3) in the | | | | | | message (Section 9.3) in the | | |||
| | | | | In-Session state. | | | | | | In-Session state. | | |||
| | Invalid | 3 | Terminate | One or more data items in the | | | Invalid | 3 | Terminate | One or more data items in the | | |||
| | Data | | | message are invalid, | | | Data | | | message are invalid, | | |||
| | | | | unexpected or incorrectly | | | | | | unexpected or incorrectly | | |||
| | | | | duplicated. | | | | | | duplicated. | | |||
| | Invalid | 4 | Terminate | The destination provided in | | | Invalid | 4 | Terminate | The destination provided in | | |||
| | Destination | | | the message does not match a | | | Destination | | | the message does not match a | | |||
| | | | | previously announced | | | | | | previously announced | | |||
| | | | | destination. For example, in | | | | | | destination. For example, in | | |||
| | | | | the Link Characteristic | | | | | | the Link Characteristic | | |||
| | | | | Response message (Section | | | | | | Response message (Section | | |||
| | | | | 8.16). | | | | | | 9.16). | | |||
| | <Reserved> | 5-90 | Terminate | Reserved for future | | | Timed Out | 5 | Terminate | The session has timed out. | | |||
| | <Reserved> | 6-90 | Terminate | Reserved for future | | ||||
| | | | | extensions. | | | | | | extensions. | | |||
| | <Private | 91-99 | Terminate | Available for experiments. | | | <Private | 91-99 | Terminate | Available for experiments. | | |||
| | Use> | | | | | | Use> | | | | | |||
| | Not | 100 | Continue | The receiver is not | | | Not | 100 | Continue | The receiver is not | | |||
| | Interested | | | interested in this message | | | Interested | | | interested in this message | | |||
| | | | | subject, e.g. a Destination | | | | | | subject, e.g. a Destination | | |||
| | | | | Up Response message (Section | | | | | | Up Response message (Section | | |||
| | | | | 8.10) to indicate no further | | | | | | 9.10) to indicate no further | | |||
| | | | | messages about the | | | | | | messages about the | | |||
| | | | | destination. | | | | | | destination. | | |||
| | Request | 101 | Continue | The receiver refuses to | | | Request | 101 | Continue | The receiver refuses to | | |||
| | Denied | | | complete the request. | | | Denied | | | complete the request. | | |||
| | Timed Out | 102 | Continue | The operation could not be | | | <Reserved> | 102-243 | Continue | Reserved for future | | |||
| | | | | completed in the time | | ||||
| | | | | allowed. | | ||||
| | <Reserved> | 103-243 | Continue | Reserved for future | | ||||
| | | | | extensions. | | | | | | extensions. | | |||
| | <Private | 244-254 | Continue | Available for experiments. | | | <Private | 244-254 | Continue | Available for experiments. | | |||
| | Use> | | | | | | Use> | | | | | |||
| | <Reserved> | 255 | Terminate | Reserved. | | | <Reserved> | 255 | Terminate | Reserved. | | |||
| +-------------+---------+-----------+-------------------------------+ | +-------------+---------+-----------+-------------------------------+ | |||
| Table 3: DLEP Status Codes | Table 3: DLEP Status Codes | |||
| A failure mode of 'Terminate' indicates that the session MUST be | A failure mode of 'Terminate' indicates that the session MUST be | |||
| terminated after sending a response containing the status code. A | terminated after sending a response containing the status code. A | |||
| failure mode of 'Continue' indicates that the session SHOULD continue | failure mode of 'Continue' indicates that the session SHOULD continue | |||
| as normal. | as normal. | |||
| 9.2. IPv4 Connection Point | 10.2. IPv4 Connection Point | |||
| The IPv4 Connection Point data item MAY appear in the Peer Offer | The IPv4 Connection Point data item MAY appear in the Peer Offer | |||
| signal (Section 8.2). | signal (Section 9.2). | |||
| The IPv4 Connection Point data item indicates the IPv4 address and, | The IPv4 Connection Point data item indicates the IPv4 address and, | |||
| optionally, the TCP port number on the DLEP modem available for | optionally, the TCP port number on the DLEP modem available for | |||
| connections. If provided, the receiver MUST use this information to | connections. If provided, the receiver MUST use this information to | |||
| perform the TCP connect to the DLEP server. | perform the TCP connect to the DLEP server. | |||
| The IPv4 Connection Point data item contains the following fields: | The IPv4 Connection Point data item contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Use TLS | IPv4 Address... : | | Flags | IPv4 Address... : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. | TCP Port Number (optional) | | : ...cont. | TCP Port Number (optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 2 | Data Item Type: 2 | |||
| Length: 5 (or 7 if TCP Port included) | Length: 5 (or 7 if TCP Port included) | |||
| Use TLS: Value indicating whether the TCP connection should use TLS | Flags: Flags field, defined below. | |||
| (1), or not (0). Values other than 0 or 1 MUST be considered as | ||||
| invalid. | ||||
| IPv4 Address: The IPv4 address listening on the DLEP modem. | IPv4 Address: The IPv4 address listening on the DLEP modem. | |||
| TCP Port Number: TCP Port number on the DLEP modem. | TCP Port Number: TCP Port number on the DLEP modem. | |||
| If the Length field is 7, the port number specified MUST be used to | If the Length field is 7, the port number specified MUST be used to | |||
| establish the TCP session. If the TCP Port Number is omitted, i.e. | establish the TCP session. If the TCP Port Number is omitted, i.e. | |||
| the Length field is 5, the receiver MUST use the DLEP well-known port | the Length field is 5, the receiver MUST use the DLEP well-known port | |||
| number (Section 12.7) to establish the TCP connection. | number (Section 12.7) to establish the TCP connection. | |||
| 9.3. IPv6 Connection Point | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |T| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| T: Use TLS flag, indicating whether the TCP connection requires the | ||||
| use of TLS (1), or not (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.3. IPv6 Connection Point | ||||
| The IPv6 Connection Point data item MAY appear in the Peer Offer | The IPv6 Connection Point data item MAY appear in the Peer Offer | |||
| signal (Section 8.2). | signal (Section 9.2). | |||
| The IPv6 Connection Point data item indicates the IPv6 address and, | The IPv6 Connection Point data item indicates the IPv6 address and, | |||
| optionally, the TCP port number on the DLEP modem available for | optionally, the TCP port number on the DLEP modem available for | |||
| connections. If provided, the receiver MUST use this information to | connections. If provided, the receiver MUST use this information to | |||
| perform the TCP connect to the DLEP server. | perform the TCP connect to the DLEP server. | |||
| The IPv6 Connection Point data item contains the following fields: | The IPv6 Connection Point data item contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Use TLS | IPv6 Address : | | Flags | IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : ...cont. | TCP Port Number (optional) | | : ...cont. | TCP Port Number (optional) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 3 | Data Item Type: 3 | |||
| Length: 17 (or 19 if TCP Port included) | Length: 17 (or 19 if TCP Port included) | |||
| Use TLS: Value indicating whether the TCP connection should use TLS | Flags: Flags field, defined below. | |||
| (1), or not (0). Values other than 0 or 1 MUST be considered as | ||||
| invalid. | ||||
| IPv6 Address: The IPv6 address listening on the DLEP modem. | IPv6 Address: The IPv6 address listening on the DLEP modem. | |||
| TCP Port Number: TCP Port number on the DLEP modem. | TCP Port Number: TCP Port number on the DLEP modem. | |||
| If the Length field is 19, the port number specified MUST be used to | If the Length field is 19, the port number specified MUST be used to | |||
| establish the TCP session. If the TCP Port Number is omitted, i.e. | establish the TCP session. If the TCP Port Number is omitted, i.e. | |||
| the Length field is 17, the receiver MUST use the DLEP well-known | the Length field is 17, the receiver MUST use the DLEP well-known | |||
| port number (Section 12.7) to establish the TCP connection. | port number (Section 12.7) to establish the TCP connection. | |||
| 9.4. Peer Type | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |T| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| T: Use TLS flag, indicating whether the TCP connection requires the | ||||
| use of TLS (1), or not (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.4. Peer Type | ||||
| The Peer Type data item MAY appear in the Peer Discovery | The Peer Type data item MAY appear in the Peer Discovery | |||
| (Section 8.1) and Peer Offer (Section 8.2) signals, and the Session | (Section 9.1) and Peer Offer (Section 9.2) signals, and the Session | |||
| Initialization (Section 8.3) and Session Initialization Response | Initialization (Section 9.3) and Session Initialization Response | |||
| (Section 8.4) messages. | (Section 9.4) messages. | |||
| The Peer Type data item is used by the router and modem to give | The Peer Type data item is used by the router and modem to give | |||
| additional information as to its type. The peer type is a string and | additional information as to its type. The peer type is a string and | |||
| is envisioned to be used for informational purposes (e.g., as output | is envisioned to be used for informational purposes (e.g., as output | |||
| in a display command). | in a display command). | |||
| The Peer Type data item contains the following fields: | The Peer Type data item contains the following fields: | |||
| 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 | |||
| skipping to change at page 38, line 21 ¶ | skipping to change at page 39, line 47 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 4 | Data Item Type: 4 | |||
| Length: Length of peer type string, in octets. | Length: Length of peer type string, in octets. | |||
| Peer Type: UTF-8 encoded string. For example, a satellite modem | Peer Type: UTF-8 encoded string. For example, a satellite modem | |||
| might set this variable to "Satellite terminal". Since this data | might set this variable to "Satellite terminal". Since this data | |||
| item is intended to provide additional information for display | item is intended to provide additional information for display | |||
| commands, sending implementations SHOULD limit the data to | commands, sending implementations SHOULD limit the data to | |||
| printable characters, and receiving implmentations SHOULD check | printable characters, and receiving implementations SHOULD check | |||
| the data for printable characters. | the data for printable characters. | |||
| An implementation MUST NOT assume the Peer Type field is NUL- | An implementation MUST NOT assume the Peer Type field is NUL- | |||
| terminated. | terminated. | |||
| 9.5. Heartbeat Interval | 10.5. Heartbeat Interval | |||
| The Heartbeat Interval data item MUST appear in both the Session | The Heartbeat Interval data item MUST appear in both the Session | |||
| Initialization (Section 8.3) and Session Initialization Response | Initialization (Section 9.3) and Session Initialization Response | |||
| (Section 8.4) messages to indicate the Heartbeat timeout window to be | (Section 9.4) messages to indicate the Heartbeat timeout window to be | |||
| used by the sender. | used by the sender. | |||
| The Interval is used to specify a period (in seconds) for Heartbeat | The Interval is used to specify a period (in seconds) for Heartbeat | |||
| messages (Section 8.14). By specifying an Interval value of 0, | messages (Section 9.14). By specifying an Interval value of 0, | |||
| implementations MAY indicate the desire to disable Heartbeat messages | implementations MAY indicate the desire to disable Heartbeat messages | |||
| entirely (i.e., the Interval is set to an infinite value). However, | entirely (i.e., the Interval is set to an infinite value). However, | |||
| it is RECOMMENDED that implementations use non-0 timer values. | it is RECOMMENDED that implementations use non-0 timer values. | |||
| The Heartbeat Interval data item contains the following fields: | The Heartbeat Interval data item contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 39, line 4 ¶ | skipping to change at page 40, line 31 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Interval | | | Interval | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 5 | Data Item Type: 5 | |||
| Length: 2 | Length: 2 | |||
| Interval: 0 = Do not use heartbeats on this DLEP session. Non-zero | Interval: 0 = Do not use heartbeats on this DLEP session. Non-zero | |||
| = Interval, in seconds, for heartbeat messages. | = Interval, in seconds, for heartbeat messages. | |||
| 9.6. Extensions Supported | 10.6. Extensions Supported | |||
| The Extensions Supported data item MAY be used in both the Session | The Extensions Supported data item MAY be used in both the Session | |||
| Initialization (Section 8.3) and Session Initialization Response | Initialization (Section 9.3) and Session Initialization Response | |||
| (Section 8.4) messages. | (Section 9.4) messages. | |||
| The Extensions Supported data item is used by the router and modem to | The Extensions Supported data item is used by the router and modem to | |||
| negotiate additional optional functionality they are willing to | negotiate additional optional functionality they are willing to | |||
| support. The Extensions List is a concatenation of the types of each | support. The Extensions List is a concatenation of the types of each | |||
| supported extension, found in the IANA DLEP Extensions repository. | supported extension, found in the IANA DLEP Extensions repository. | |||
| Each Extension Type definition includes which additional signals and | Each Extension Type definition includes which additional signals and | |||
| data-items are supported. | data-items are supported. | |||
| The Extensions Supported data item contains the following fields: | The Extensions Supported data item contains the following fields: | |||
| skipping to change at page 39, line 38 ¶ | skipping to change at page 41, line 21 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 6 | Data Item Type: 6 | |||
| Length: Length of the extensions list in octets. This is twice (2x) | Length: Length of the extensions list in octets. This is twice (2x) | |||
| the number of extensions. | the number of extensions. | |||
| Extension List: A list of extensions supported, identified by their | Extension List: A list of extensions supported, identified by their | |||
| 2-octet value as listed in the extensions registry. | 2-octet value as listed in the extensions registry. | |||
| 9.7. MAC Address | 10.7. MAC Address | |||
| The MAC address data item MUST appear in all destination-oriented | The MAC address data item MUST appear in all destination-oriented | |||
| messages (i.e., Destination Up (Section 8.9), Destination Up Response | messages (i.e., Destination Up (Section 9.9), Destination Up Response | |||
| (Section 8.10), Destination Down (Section 8.11), Destination Down | (Section 9.10), Destination Down (Section 9.11), Destination Down | |||
| Response (Section 8.12), Destination Update (Section 8.13), Link | Response (Section 9.12), Destination Update (Section 9.13), Link | |||
| Characteristics Request (Section 8.15), and Link Characteristics | Characteristics Request (Section 9.15), and Link Characteristics | |||
| Response (Section 8.16)). | Response (Section 9.16)). | |||
| The MAC Address data item contains the address of the destination on | The MAC Address data item contains the address of the destination on | |||
| the remote node. The MAC address MAY be either a physical or a | the remote node. The MAC address MAY be either a physical or a | |||
| virtual destination, and MAY be expressed in EUI-48 or EUI-64 format. | virtual destination, and MAY be expressed in EUI-48 or EUI-64 format. | |||
| Examples of a virtual destination would be a multicast MAC address, | Examples of a virtual destination would be a multicast MAC address, | |||
| or the broadcast MAC (FF:FF:FF:FF:FF:FF). | or the broadcast MAC (FF:FF:FF:FF:FF:FF). | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 40, line 23 ¶ | skipping to change at page 42, line 5 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MAC Address : (if EUI-64 used) | | : MAC Address : (if EUI-64 used) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 7 | Data Item Type: 7 | |||
| Length: 6 for EUI-48 format, or 8 for EUI-64 format | Length: 6 for EUI-48 format, or 8 for EUI-64 format | |||
| MAC Address: MAC Address of the destination. | MAC Address: MAC Address of the destination. | |||
| 9.8. IPv4 Address | 10.8. IPv4 Address | |||
| The IPv4 Address data item MAY appear in the Session Update | The IPv4 Address data item MAY appear in the Session Update | |||
| (Section 8.5), Destination Up (Section 8.9) and Destination Update | (Section 9.5), Destination Up (Section 9.9) and Destination Update | |||
| (Section 8.13) messages. | (Section 9.13) messages. | |||
| When included in Destination messages, this data item contains the | When included in Destination messages, this data item contains the | |||
| IPv4 address of the destination. When included in the Session Update | IPv4 address of the destination. When included in the Session Update | |||
| message, this data item contains the IPv4 address of the peer. In | message, this data item contains the IPv4 address of the peer. In | |||
| either case, the data item also contains an indication of whether | either case, the data item also contains an indication of whether | |||
| this is a new or existing address, or is a deletion of a previously | this is a new or existing address, or is a deletion of a previously | |||
| known address. | known address. | |||
| The IPv4 Address data item contains the following fields: | The IPv4 Address data item contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Add/Drop | IPv4 Address : | | Flags | IPv4 Address : | |||
| | Indicator | : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv4 | | : ...cont. | | |||
| : Address | | ||||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 8 | Data Item Type: 8 | |||
| Length: 5 | Length: 5 | |||
| Add/Drop: Value indicating whether this is a new or existing address | ||||
| (1), or a withdrawal of an address (0). Values other than 0 or 1 | Flags: Flags field, defined below. | |||
| MUST be considered as invalid. | ||||
| IPv4 Address: The IPv4 address of the destination or peer. | IPv4 Address: The IPv4 address of the destination or peer. | |||
| 9.9. IPv6 Address | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |A| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| A: Add/Drop flag, indicating whether this is a new or existing | ||||
| address (1), or a withdrawal of an address (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.9. IPv6 Address | ||||
| The IPv6 Address data item MAY appear in the Session Update | The IPv6 Address data item MAY appear in the Session Update | |||
| (Section 8.5), Destination Up (Section 8.9) and Destination Update | (Section 9.5), Destination Up (Section 9.9) and Destination Update | |||
| (Section 8.13) messages. When included in Destination messages, this | (Section 9.13) messages. When included in Destination messages, this | |||
| data item contains the IPv6 address of the destination. When | data item contains the IPv6 address of the destination. When | |||
| included in the Session Update message, this data item contains the | included in the Session Update message, this data item contains the | |||
| IPv6 address of the peer. In either case, the data item also | IPv6 address of the peer. In either case, the data item also | |||
| contains an indication of whether this is a new or existing address, | contains an indication of whether this is a new or existing address, | |||
| or is a deletion of a previously known address. | or is a deletion of a previously known address. | |||
| The IPv6 Address data item contains the following fields: | The IPv6 Address data item contains the following fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Add/Drop | IPv6 Address : | | Flags | IPv6 Address : | |||
| | Indicator | : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address : | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address | | : IPv6 Address | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 9 | Data Item Type: 9 | |||
| Length: 17 | Length: 17 | |||
| Add/Drop: Value indicating whether this is a new or existing address | Flags: Flags field, defined below. | |||
| (1), or a withdrawal of an address (0). Values other than 0 or 1 | ||||
| MUST be considered as invalid. | ||||
| IPv6 Address: IPv6 Address of the destination or peer. | IPv6 Address: IPv6 Address of the destination or peer. | |||
| 9.10. IPv4 Attached Subnet | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |A| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| A: Add/Drop flag, indicating whether this is a new or existing | ||||
| address (1), or a withdrawal of an address (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.10. IPv4 Attached Subnet | ||||
| The DLEP IPv4 Attached Subnet allows a device to declare that it has | The DLEP IPv4 Attached Subnet allows a device to declare that it has | |||
| an IPv4 subnet (e.g., a stub network) attached, or that it has become | an IPv4 subnet (e.g., a stub network) attached, that it has become | |||
| aware of an IPv4 subnet being present at a remote destination. The | aware of an IPv4 subnet being present at a remote destination, or | |||
| IPv4 Attached Subnet data item MAY appear in the Destination Up | that it has become aware of the loss of a subnet at the remote | |||
| (Section 8.9) message. Once an IPv4 Subnet has been declared on a | destination. The IPv4 Attached Subnet data item MAY appear in the | |||
| device, the declaration SHALL NOT be withdrawn without withdrawing | Destination Up (Section 9.9) message. | |||
| the destination (via the Destination Down message (Section 8.11)) and | ||||
| re-issuing the Destination Up message. | ||||
| The DLEP IPv4 Attached Subnet data item contains the following | The DLEP IPv4 Attached Subnet data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Attached Subnet | | | Flags | IPv4 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Prefix Len. | | : ...cont. |Prefix Length | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 10 | Data Item Type: 10 | |||
| Length: 5 | Length: 6 | |||
| Flags: Flags field, defined below. | ||||
| IPv4 Subnet: The IPv4 subnet reachable at the destination. | IPv4 Subnet: The IPv4 subnet reachable at the destination. | |||
| Prefix Length: Length of the prefix (1-32) for the IPv4 subnet. A | Prefix Length: Length of the prefix (1-32) for the IPv4 subnet. A | |||
| prefix length outside the speficied range MUST be considered as | prefix length outside the specified range MUST be considered as | |||
| invalid. | invalid. | |||
| 9.11. IPv6 Attached Subnet | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |A| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| A: Add/Drop flag, indicating whether this is a new or existing subnet | ||||
| address (1), or a withdrawal of a subnet address (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.11. IPv6 Attached Subnet | ||||
| The DLEP IPv6 Attached Subnet allows a device to declare that it has | The DLEP IPv6 Attached Subnet allows a device to declare that it has | |||
| an IPv6 subnet (e.g., a stub network) attached, or that it has become | an IPv6 subnet (e.g., a stub network) attached, or that it has become | |||
| aware of an IPv6 subnet being present at a remote destination. The | aware of an IPv6 subnet being present at a remote destination. The | |||
| IPv6 Attached Subnet data item MAY appear in the Destination Up | IPv6 Attached Subnet data item MAY appear in the Destination Up | |||
| (Section 8.9) message. As in the case of the IPv4 attached Subnet | (Section 9.9) message. As in the case of the IPv4 attached Subnet | |||
| data item above, once an IPv6 attached subnet has been declared, it | data item above, once an IPv6 attached subnet has been declared, it | |||
| SHALL NOT be withdrawn without withdrawing the destination (via the | SHALL NOT be withdrawn without withdrawing the destination (via the | |||
| Destination Down message (Section 8.11)) and re-issuing the | Destination Down message (Section 9.11)) and re-issuing the | |||
| Destination Up message. | Destination Up message. | |||
| The DLEP IPv6 Attached Subnet data item contains the following | The DLEP IPv6 Attached Subnet data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet : | | Flags | IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Attached Subnet : | : IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Attached Subnet : | : IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Attached Subnet | | : IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Prefix Len. | | : ...cont. | Prefix Len. | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 11 | Data Item Type: 11 | |||
| Length: 17 | Length: 18 | |||
| IPv4 Subnet: The IPv6 subnet reachable at the destination. | Flags: Flags field, defined below. | |||
| IPv6 Attached Subnet: The IPv6 subnet reachable at the destination. | ||||
| Prefix Length: Length of the prefix (1-128) for the IPv6 subnet. A | Prefix Length: Length of the prefix (1-128) for the IPv6 subnet. A | |||
| prefix length outside the specified range MUST be considered as | prefix length outside the specified range MUST be considered as | |||
| invalid. | invalid. | |||
| 9.12. Maximum Data Rate (Receive) | The Flags field is defined as: | |||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| | MBZ |A| | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| A: Add/Drop flag, indicating whether this is a new or existing subnet | ||||
| address (1), or a withdrawal of a subnet address (0). | ||||
| MBZ: MUST be zero. Reserved for future use. | ||||
| 10.12. Maximum Data Rate (Receive) | ||||
| The Maximum Data Rate (Receive) (MDRR) data item MUST appear in the | The Maximum Data Rate (Receive) (MDRR) data item MUST appear in the | |||
| Session Initialization Response message (Section 8.4), and MAY appear | Session Initialization Response message (Section 9.4), and MAY appear | |||
| in the Session Update (Section 8.5), Destination Up (Section 8.9), | in the Session Update (Section 9.5), Destination Up (Section 9.9), | |||
| Destination Update (Section 8.13) and Link Characteristics Response | Destination Update (Section 9.13) and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the maximum theoretical data | (Section 9.16) messages to indicate the maximum theoretical data | |||
| rate, in bits per second, that can be achieved while receiving data | rate, in bits per second, that can be achieved while receiving data | |||
| on the link. | on the link. | |||
| The Maximum Data Rate (Receive) data item contains the following | The Maximum Data Rate (Receive) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 44, line 4 ¶ | skipping to change at page 46, line 37 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) : | | MDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : MDRR (bps) | | : MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 12 | Data Item Type: 12 | |||
| Length: 8 | Length: 8 | |||
| Maximum Data Rate (Receive): A 64-bit unsigned integer, representing | Maximum Data Rate (Receive): A 64-bit unsigned integer, representing | |||
| the maximum theoretical data rate, in bits per second (bps), that | the maximum theoretical data rate, in bits per second (bps), that | |||
| can be achieved while receiving on the link. | can be achieved while receiving on the link. | |||
| 9.13. Maximum Data Rate (Transmit) | 10.13. Maximum Data Rate (Transmit) | |||
| The Maximum Data Rate (Transmit) (MDRT) data item MUST appear in the | The Maximum Data Rate (Transmit) (MDRT) data item MUST appear in the | |||
| Session Initialization Response message (Section 8.4), and MAY appear | Session Initialization Response message (Section 9.4), and MAY appear | |||
| in the Session Update (Section 8.5), Destination Up (Section 8.9), | in the Session Update (Section 9.5), Destination Up (Section 9.9), | |||
| Destination Update (Section 8.13) and Link Characteristics Response | Destination Update (Section 9.13) and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the maximum theoretical data | (Section 9.16) messages to indicate the maximum theoretical data | |||
| rate, in bits per second, that can be achieved while transmitting | rate, in bits per second, that can be achieved while transmitting | |||
| data on the link. | data on the link. | |||
| The Maximum Data Rate (Transmit) data item contains the following | The Maximum Data Rate (Transmit) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 44, line 43 ¶ | skipping to change at page 47, line 28 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 13 | Data Item Type: 13 | |||
| Length: 8 | Length: 8 | |||
| Maximum Data Rate (Transmit): A 64-bit unsigned integer, | Maximum Data Rate (Transmit): A 64-bit unsigned integer, | |||
| representing the maximum theoretical data rate, in bits per second | representing the maximum theoretical data rate, in bits per second | |||
| (bps), that can be achieved while transmitting on the link. | (bps), that can be achieved while transmitting on the link. | |||
| 9.14. Current Data Rate (Receive) | 10.14. Current Data Rate (Receive) | |||
| The Current Data Rate (Receive) (CDRR) data item MUST appear in the | The Current Data Rate (Receive) (CDRR) data item MUST appear in the | |||
| Session Initialization Response message (Section 8.4), and MAY appear | Session Initialization Response message (Section 9.4), and MAY appear | |||
| in the Session Update (Section 8.5), Destination Up (Section 8.9), | in the Session Update (Section 9.5), Destination Up (Section 9.9), | |||
| Destination Update (Section 8.13) and Link Characteristics Response | Destination Update (Section 9.13) and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the rate at which the link is | (Section 9.16) messages to indicate the rate at which the link is | |||
| currently operating for receiving traffic. | currently operating for receiving traffic. | |||
| When used in the Link Characteristics Request message (Section 8.15), | When used in the Link Characteristics Request message (Section 9.15), | |||
| CDRR represents the desired receive rate, in bits per second, on the | CDRR represents the desired receive rate, in bits per second, on the | |||
| link. | link. | |||
| The Current Data Rate (Receive) data item contains the following | The Current Data Rate (Receive) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 45, line 34 ¶ | skipping to change at page 48, line 27 ¶ | |||
| Length: 8 | Length: 8 | |||
| Current Data Rate (Receive): A 64-bit unsigned integer, representing | Current Data Rate (Receive): A 64-bit unsigned integer, representing | |||
| the current data rate, in bits per second, that can currently be | the current data rate, in bits per second, that can currently be | |||
| achieved while receiving traffic on the link. | achieved while receiving traffic on the link. | |||
| If there is no distinction between current and maximum receive data | If there is no distinction between current and maximum receive data | |||
| rates, current data rate receive MUST be set equal to the maximum | rates, current data rate receive MUST be set equal to the maximum | |||
| data rate receive. | data rate receive. | |||
| 9.15. Current Data Rate (Transmit) | 10.15. Current Data Rate (Transmit) | |||
| The Current Data Rate Transmit (CDRT) data item MUST appear in the | The Current Data Rate Transmit (CDRT) data item MUST appear in the | |||
| Session Initialization Response message (Section 8.4), and MAY appear | Session Initialization Response message (Section 9.4), and MAY appear | |||
| in the Session Update (Section 8.5), Destination Up (Section 8.9), | in the Session Update (Section 9.5), Destination Up (Section 9.9), | |||
| Destination Update (Section 8.13), and Link Characteristics Response | Destination Update (Section 9.13), and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the rate at which the link is | (Section 9.16) messages to indicate the rate at which the link is | |||
| currently operating for transmitting traffic. | currently operating for transmitting traffic. | |||
| When used in the Link Characteristics Request message (Section 8.15), | When used in the Link Characteristics Request message (Section 9.15), | |||
| CDRT represents the desired transmit rate, in bits per second, on the | CDRT represents the desired transmit rate, in bits per second, on the | |||
| link. | link. | |||
| The Current Data Rate (Transmit) data item contains the following | The Current Data Rate (Transmit) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 46, line 14 ¶ | skipping to change at page 49, line 4 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRT (bps) : | | CDRT (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : CDRT (bps) | | : CDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 15 | Data Item Type: 15 | |||
| Length: 8 | Length: 8 | |||
| Current Data Rate (Transmit): A 64-bit unsigned integer, | Current Data Rate (Transmit): A 64-bit unsigned integer, | |||
| representing the current data rate, in bits per second, that can | representing the current data rate, in bits per second, that can | |||
| currently be achieved while transmitting traffic on the link. | currently be achieved while transmitting traffic on the link. | |||
| If there is no distinction between current and maximum transmit data | If there is no distinction between current and maximum transmit data | |||
| rates, current data rate transmit MUST be set equal to the maximum | rates, current data rate transmit MUST be set equal to the maximum | |||
| data rate transmit. | data rate transmit. | |||
| 9.16. Latency | 10.16. Latency | |||
| The Latency data item MUST appear in the Session Initialization | The Latency data item MUST appear in the Session Initialization | |||
| Response message (Section 8.4), and MAY appear in the Session Update | Response message (Section 9.4), and MAY appear in the Session Update | |||
| (Section 8.5), Destination Up (Section 8.9), Destination Update | (Section 9.5), Destination Up (Section 9.9), Destination Update | |||
| (Section 8.13), and Link Characteristics Response (Section 8.16) | (Section 9.13), and Link Characteristics Response (Section 9.16) | |||
| messages to indicate the amount of latency, in microseconds, on the | messages to indicate the amount of latency, in microseconds, on the | |||
| link. | link. | |||
| When used in the Link Characteristics Request message (Section 8.15), | When used in the Link Characteristics Request message (Section 9.15), | |||
| Latency represents the maximum latency desired on the link. | Latency represents the maximum latency desired on the link. | |||
| The Latency value is reported as delay. The calculation of latency | The Latency value is reported as delay. The calculation of latency | |||
| is implementation dependent. For example, the latency may be a | is implementation dependent. For example, the latency may be a | |||
| running average calculated from the internal queuing. | running average calculated from the internal queuing. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| skipping to change at page 47, line 4 ¶ | skipping to change at page 49, line 41 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Latency : | | Latency : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : Latency | | : Latency | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 16 | Data Item Type: 16 | |||
| Length: 8 | Length: 8 | |||
| Latency: A 64-bit unsigned integer, representing the transmission | Latency: A 64-bit unsigned integer, representing the transmission | |||
| delay, in microseconds, that a packet encounters as it is | delay, in microseconds, that a packet encounters as it is | |||
| transmitted over the link. | transmitted over the link. | |||
| 9.17. Resources (Receive) | 10.17. Resources (Receive) | |||
| The Resources (Receive) (RESR) data item MAY appear in the Session | The Resources (Receive) (RESR) data item MAY appear in the Session | |||
| Initialization Response message (Section 8.4), Session Update | Initialization Response message (Section 9.4), Session Update | |||
| (Section 8.5), Destination Up (Section 8.9), Destination Update | (Section 9.5), Destination Up (Section 9.9), Destination Update | |||
| (Section 8.13) and Link Characteristics Response (Section 8.16) | (Section 9.13) and Link Characteristics Response (Section 9.16) | |||
| messages to indicate the amount of resources for reception (with 0 | messages to indicate the amount of resources for reception (with 0 | |||
| meaning 'no resources available', and 100 meaning 'all resources | meaning 'no resources available', and 100 meaning 'all resources | |||
| available') at the destination. The list of resources that might be | available') at the destination. The list of resources that might be | |||
| considered is beyond the scope of this document, and is left to | considered is beyond the scope of this document, and is left to | |||
| implementations to decide. | implementations to decide. | |||
| The Resources (Receive) data item contains the following fields: | The Resources (Receive) data item contains the following fields: | |||
| 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 | |||
| skipping to change at page 47, line 45 ¶ | skipping to change at page 50, line 38 ¶ | |||
| Length: 1 | Length: 1 | |||
| Resources (Receive): An 8-bit integer percentage, 0-100, | Resources (Receive): An 8-bit integer percentage, 0-100, | |||
| representing the amount of resources allocated to receiving data. | representing the amount of resources allocated to receiving data. | |||
| Any value greater than 100 MUST be considered as invalid. | Any value greater than 100 MUST be considered as invalid. | |||
| If a device cannot calculate RESR, this data item SHOULD NOT be | If a device cannot calculate RESR, this data item SHOULD NOT be | |||
| issued. | issued. | |||
| 9.18. Resources (Transmit) | 10.18. Resources (Transmit) | |||
| The Resources (Transmit) (REST) data item MAY appear in the Session | The Resources (Transmit) (REST) data item MAY appear in the Session | |||
| Initialization Response message (Section 8.4), Session Update | Initialization Response message (Section 9.4), Session Update | |||
| (Section 8.5), Destination Up (Section 8.9), Destination Update | (Section 9.5), Destination Up (Section 9.9), Destination Update | |||
| (Section 8.13) and Link Characteristics Response (Section 8.16) | (Section 9.13) and Link Characteristics Response (Section 9.16) | |||
| messages to indicate the amount of resources for transmission (with 0 | messages to indicate the amount of resources for transmission (with 0 | |||
| meaning 'no resources available', and 100 meaning 'all resources | meaning 'no resources available', and 100 meaning 'all resources | |||
| available') at the destination. The list of resources that might be | available') at the destination. The list of resources that might be | |||
| considered is beyond the scope of this document, and is left to | considered is beyond the scope of this document, and is left to | |||
| implementations to decide. | implementations to decide. | |||
| The Resources (Transmit) data item contains the following fields: | The Resources (Transmit) data item contains the following fields: | |||
| 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 | |||
| skipping to change at page 48, line 30 ¶ | skipping to change at page 51, line 24 ¶ | |||
| Length: 1 | Length: 1 | |||
| Resources (Transmit): An 8-bit integer percentage, 0-100, | Resources (Transmit): An 8-bit integer percentage, 0-100, | |||
| representing the amount of resources allocated to transmitting | representing the amount of resources allocated to transmitting | |||
| data. Any value greater than 100 MUST be considered as invalid. | data. Any value greater than 100 MUST be considered as invalid. | |||
| If a device cannot calculate REST, this data item SHOULD NOT be | If a device cannot calculate REST, this data item SHOULD NOT be | |||
| issued. | issued. | |||
| 9.19. Relative Link Quality (Receive) | 10.19. Relative Link Quality (Receive) | |||
| The Relative Link Quality (Receive) (RLQR) data item MAY appear in | The Relative Link Quality (Receive) (RLQR) data item MAY appear in | |||
| the Session Initialization Response message (Section 8.4), Session | the Session Initialization Response message (Section 9.4), Session | |||
| Update (Section 8.5), Destination Up (Section 8.9), Destination | Update (Section 9.5), Destination Up (Section 9.9), Destination | |||
| Update (Section 8.13) and Link Characteristics Response | Update (Section 9.13) and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the quality of the link for | (Section 9.16) messages to indicate the quality of the link for | |||
| receiving data. | receiving data. | |||
| The Relative Link Quality (Receive) data item contains the following | The Relative Link Quality (Receive) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 49, line 4 ¶ | skipping to change at page 51, line 45 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQR | | | RLQR | | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| Data Item Type: 19 | Data Item Type: 19 | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Receive): A non-dimensional 8-bit integer, | Relative Link Quality (Receive): A non-dimensional 8-bit integer, | |||
| 0-100, representing relative link quality. A value of 100 | 0-100, representing relative link quality. A value of 100 | |||
| represents a link of the highest quality. Any value greater than | represents a link of the highest quality. Any value greater than | |||
| 100 MUST be considered as invalid. | 100 MUST be considered as invalid. | |||
| If a device cannot calculate the RLQR, this data item SHOULD NOT be | If a device cannot calculate the RLQR, this data item SHOULD NOT be | |||
| issued. | issued. | |||
| 9.20. Relative Link Quality (Transmit) | 10.20. Relative Link Quality (Transmit) | |||
| The Relative Link Quality (Transmit) (RLQT) data item MAY appear in | The Relative Link Quality (Transmit) (RLQT) data item MAY appear in | |||
| the Session Initialization Response message (Section 8.4), Session | the Session Initialization Response message (Section 9.4), Session | |||
| Update (Section 8.5), Destination Up (Section 8.9), Destination | Update (Section 9.5), Destination Up (Section 9.9), Destination | |||
| Update (Section 8.13) and Link Characteristics Response | Update (Section 9.13) and Link Characteristics Response | |||
| (Section 8.16) messages to indicate the quality of the link for | (Section 9.16) messages to indicate the quality of the link for | |||
| transmitting data. | transmitting data. | |||
| The Relative Link Quality (Transmit) data item contains the following | The Relative Link Quality (Transmit) data item contains the following | |||
| fields: | fields: | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type | Length | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 49, line 46 ¶ | skipping to change at page 52, line 40 ¶ | |||
| Length: 1 | Length: 1 | |||
| Relative Link Quality (Transmit): A non-dimensional 8-bit integer, | Relative Link Quality (Transmit): A non-dimensional 8-bit integer, | |||
| 0-100, representing relative link quality. A value of 100 | 0-100, representing relative link quality. A value of 100 | |||
| represents a link of the highest quality. Any value greater than | represents a link of the highest quality. Any value greater than | |||
| 100 MUST be considered as invalid. | 100 MUST be considered as invalid. | |||
| If a device cannot calculate the RLQT, this data item SHOULD NOT be | If a device cannot calculate the RLQT, this data item SHOULD NOT be | |||
| issued. | issued. | |||
| 9.21. Link Characteristics Response Timer | ||||
| The Link Characteristics Response Timer data item MAY appear in the | ||||
| Link Characteristics Request message (Section 8.15) to indicate the | ||||
| desired number of seconds the sender will wait for a response to the | ||||
| request. If this data item is omitted, implementations supporting | ||||
| the Link Characteristics Request SHOULD choose a default value. | ||||
| The Link Characteristics Response Timer data item contains the | ||||
| following fields: | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Interval | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: 21 | ||||
| Length: 1 | ||||
| Interval: 0 = Do not use timeouts for this Link Characteristics | ||||
| request. Non-zero = Interval, in seconds, to wait before | ||||
| considering this Link Characteristics Request lost. | ||||
| 10. Credit-Windowing | ||||
| DLEP includes an optional Protocol Extension for a credit-windowing | ||||
| scheme analogous to the one documented in [RFC5578]. In this scheme, | ||||
| data plane traffic flowing between the router and modem is controlled | ||||
| by the availability of credits. Credits are expressed as if two | ||||
| unidirectional windows exist between the modem and router. This | ||||
| document identifies these windows as the 'Modem Receive Window' | ||||
| (MRW), and the 'Router Receive Window' (RRW). | ||||
| If the credit-windowing extension is used, credits MUST be granted by | ||||
| the receiver on a given window - that is, on the 'Modem Receive | ||||
| Window' (MRW), the modem is responsible for granting credits to the | ||||
| router, allowing it (the router) to send data plane traffic to the | ||||
| modem. Likewise, the router is responsible for granting credits on | ||||
| the RRW, which allows the modem to send data plane traffic to the | ||||
| router. | ||||
| Credits are managed on a destination-specific basis; that is, | ||||
| separate credit counts are maintained for each destination requiring | ||||
| the service. Credits do not apply to the DLEP session that exists | ||||
| between routers and modems; they are applied only to the data plane | ||||
| traffic. | ||||
| Credits represent the number of octets, or an increment in the number | ||||
| of octets, that MAY be sent on the given window. When sending data | ||||
| plane traffic to a credit-enabled peer, the sender MUST decrement the | ||||
| appropriate window by the size of the data being sent. For example, | ||||
| when sending data plane traffic via the modem, the router MUST | ||||
| decriment the 'Modem Receive Window' (MRW) for the corresponding | ||||
| destination. When the number of available credits to the destination | ||||
| reaches 0, a sender MUST stop sending data plane traffic to the | ||||
| destination, until additional credits are supplied. | ||||
| If a peer is able to support the optional credit-windowing extension | ||||
| then it MUST include an Extensions Supported data item (Section 9.6) | ||||
| including the value 1, from Table 4, in the appropriate Session | ||||
| Initialization (Section 8.3) and Session Initialization Response | ||||
| (Section 8.4) message. | ||||
| 10.1. Credit-Windowing Messages | ||||
| The credit-windowing extension introduces no additional DLEP signals | ||||
| or messages. However, if a peer has advertised during session | ||||
| initialization that it supports the credit-windowing extension then | ||||
| the following DLEP messages MAY contain additional credit-windowing | ||||
| data items: | ||||
| 10.1.1. Destination Up Message | ||||
| The Destination Up message MAY contain one of each of the following | ||||
| data items: | ||||
| o Credit Grant (Section 10.2.1) | ||||
| If the Destination Up message does not contain the Credit Grant data | ||||
| item, credits MUST NOT be used for that destination. | ||||
| 10.1.2. Destination Up Response Message | ||||
| If the corresponding Destination Up message contained the Credit | ||||
| Grant data item, the Destination Up Response message MUST contain one | ||||
| of each of the following data items: | ||||
| o Credit Window Status (Section 10.2.2) | ||||
| 10.1.3. Destination Update Message | ||||
| If the corresponding Destination Up message contained the Credit | ||||
| Grant data item, the Destination Update message MUST contain one of | ||||
| each of the following data items: | ||||
| o Credit Window Status (Section 10.2.2) | ||||
| If the corresponding Destination Up message contained the Credit | ||||
| Grant data item, the Destination Update message MAY contain one of | ||||
| each of the following data items: | ||||
| o Credit Grant (Section 10.2.1) | ||||
| o Credit Request (Section 10.2.3) | ||||
| 10.2. Credit-Windowing Data Items | ||||
| The credit-windowing extension introduces 3 additional data items. | ||||
| If a peer has advertised during session initialization that it | ||||
| supports the credit-windowing extension then it MUST correctly | ||||
| process the following data items: | ||||
| +------------+------------------------------------------------------+ | ||||
| | Type Code | Description | | ||||
| +------------+------------------------------------------------------+ | ||||
| | 22 | Credit Grant (Section 10.2.1) | | ||||
| | 23 | Credit Window Status (Section 10.2.2) | | ||||
| | 24 | Credit Request (Section 10.2.3) | | ||||
| +------------+------------------------------------------------------+ | ||||
| 10.2.1. Credit Grant | ||||
| The Credit Grant data item is sent from a DLEP participant to grant | ||||
| an increment to credits on a window. The Credit Grant data item MAY | ||||
| appear in the Destination Up (Section 8.9) and Destination Update | ||||
| (Section 8.13) messages. The value in a Credit Grant data item | ||||
| represents an increment to be added to any existing credits available | ||||
| on the window. Upon successful receipt and processing of a Credit | ||||
| Grant data item, the receiver MUST respond with a message containing | ||||
| a Credit Window Status data item to report the updated aggregate | ||||
| values for synchronization purposes, and if initializing a new credit | ||||
| window, granting initial credits. | ||||
| When DLEP peers desire to employ the credit-windowing extension, the | ||||
| peer originating the Destination Up message MUST supply an initial, | ||||
| non-zero value as the credit increment of the receive window it | ||||
| controls (i.e., the Modem Receive Window, or Router Receive Window). | ||||
| When receiving a Credit Grant data item on a Destination Up message, | ||||
| the receiver MUST take one of the following actions: | ||||
| 1. Reject the use of credits for this destination, via the | ||||
| Destination Up Response message containing a Status data item | ||||
| (Section 9.1) with a status code of 'Request Denied'. (See | ||||
| Table 3), or | ||||
| 2. Initialize the appropriate window value of zero, then apply the | ||||
| increment specified in the Credit Grant data item. | ||||
| If the initialization completes successfully, the receiver MUST | ||||
| respond to the Destination Up message with a Destination Up Response | ||||
| message that contains a Credit Window Status data item, initializing | ||||
| its receive window. | ||||
| The Credit Grant data item contains the following fields: | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Credit Increment : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Credit Increment | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: 22 | ||||
| Length: 8 | ||||
| Reserved: A 64-bit unsigned integer representing the additional | ||||
| credits to be assigned to the credit window. | ||||
| Since credits can only be granted by the receiver on a window, the | ||||
| applicable credit window (either the MRW or the RRW) is derived from | ||||
| the sender of the grant. The Credit Increment MUST NOT cause the | ||||
| window to overflow; if this condition occurs, implementations MUST | ||||
| set the credit window to the maximum value contained in a 64-bit | ||||
| quantity. | ||||
| 10.2.2. Credit Window Status | ||||
| If the credit-window extension is supported by the DLEP participants | ||||
| (both the router and the modem), the Credit Window Status data item | ||||
| MUST be sent by the participant receiving a Credit Grant for a given | ||||
| destination. | ||||
| The Credit Window Status data item contains the following fields: | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Modem Receive Window Value : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Modem Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Router Receive Window Value : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: 23 | ||||
| Length: 16 | ||||
| Modem Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current number of credits available on the Modem Receive | ||||
| Window, for the destination referred to by the message. | ||||
| Router Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current number of credits available on the Router Receive | ||||
| Window, for the destination referred to by the message. | ||||
| 10.2.3. Credit Request | ||||
| The Credit Request data item MAY be sent from either DLEP | ||||
| participant, via the Destination Update message (Section 8.13), to | ||||
| indicate the desire for the partner to grant additional credits in | ||||
| order for data transfer to proceed on the session. If the | ||||
| corresponding Destination Up message (Section 8.9) for this session | ||||
| did not contain a Credit Window Status data item, indicating that | ||||
| credits are to be used on the session, then the Credit Request data | ||||
| item MUST be silently dropped by the receiver. | ||||
| The Credit Request data item contains the following fields: | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: 24 | ||||
| Length: 0 | ||||
| 11. Security Considerations | 11. Security Considerations | |||
| The potential security concerns when using DLEP are: | The potential security concerns when using DLEP are: | |||
| 1. DLEP peers may be 'spoofed' by an attacker, either at DLEP | 1. DLEP peers may be 'spoofed' by an attacker, either at DLEP | |||
| session initialization, or by injection of messages once a | session initialization, or by injection of messages once a | |||
| session has been established, and/or | session has been established, and/or | |||
| 2. DLEP data items could be altered by an attacker, causing the | 2. DLEP data items could be altered by an attacker, causing the | |||
| receiving peer to inappropriately alter its information base | receiving peer to inappropriately alter its information base | |||
| concerning network status. | concerning network status. | |||
| If the modem and router are separated by more than a single hop, | If the modem and router are separated by more than a single hop, | |||
| session messages could be altered in order to subvert the behaviour | session messages could be altered in order to subvert the behaviour | |||
| of either or both DLEP participants. Under these circumstances, the | of either or both DLEP participants. Under these circumstances, DLEP | |||
| use of [TLS] is strongly RECOMMENDED. However, if both devices are | participants MUST implement TLS [RFC5246]. | |||
| directly physically connected, or exist within an externally secured | ||||
| private network then an implementation MAY choose not to use TLS. | ||||
| To avoid potential denial of service attack, it is RECOMMENDED that | To avoid potential denial of service attack, it is RECOMMENDED that | |||
| implementations using the Peer Discovery mechanism maintain an | implementations using the Peer Discovery mechanism maintain an | |||
| information base of peers that persistently fail Session | information base of peers that persistently fail Session | |||
| initialization having provided an acceptable Discovery signal, and | Initialization having provided an acceptable Discovery signal, and | |||
| ignore discovery signals from such peers. | ignore Peer Discovery signals from such peers. | |||
| This specification does not address security of the data plane, as it | This specification does not address security of the data plane, as it | |||
| (the data plane) is not affected, and standard security procedures | (the data plane) is not affected, and standard security procedures | |||
| can be employed. | can be employed. | |||
| 12. IANA Considerations | 12. IANA Considerations | |||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 12.1. Registrations | 12.1. Registrations | |||
| skipping to change at page 57, line 9 ¶ | skipping to change at page 54, line 46 ¶ | |||
| A new repository for DLEP extensions must be created. | A new repository for DLEP extensions must be created. | |||
| All extension values are in the range [0..65535]. Current | All extension values are in the range [0..65535]. Current | |||
| allocations are: | allocations are: | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | Code | Description | | | Code | Description | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| | 0 | Reserved | | | 0 | Reserved | | |||
| | 1 | Credit Windowing (Section 10) | | | 1 | Credit Windowing | | |||
| | 2-65519 | Reserved for future extensions | | | 2-65519 | Reserved for future extensions | | |||
| | 65520-65534 | Private Use. Available for experiments | | | 65520-65534 | Private Use. Available for experiments | | |||
| | 65535 | Reserved | | | 65535 | Reserved | | |||
| +-------------+-----------------------------------------------------+ | +-------------+-----------------------------------------------------+ | |||
| Table 4: DLEP Extension types | Table 4: DLEP Extension types | |||
| 12.7. DLEP Well-known Port | 12.7. DLEP Well-known Port | |||
| It is requested that IANA allocate a well-known port number for DLEP | It is requested that IANA allocate a single well-known port number | |||
| communication. | for both TCP and UDP, for DLEP communication. SCTP port allocation | |||
| is not required. | ||||
| 12.8. DLEP Multicast Address | 12.8. DLEP IPv6 Link-local Multicast Address | |||
| It is requested that IANA allocate a multicast address for DLEP | It is requested that IANA allocate an IPv6 link-local multicast | |||
| discovery signals. | address for DLEP discovery signals. | |||
| 13. Acknowledgements | 13. Acknowledgements | |||
| We would like to acknowledge and thank the members of the DLEP design | We would like to acknowledge and thank the members of the DLEP design | |||
| team, who have provided invaluable insight. The members of the | team, who have provided invaluable insight. The members of the | |||
| design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and Henning | design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and Henning | |||
| Rogge. | Rogge. | |||
| We would also like to acknowledge the influence and contributions of | We would also like to acknowledge the influence and contributions of | |||
| Greg Harrison, Chris Olsen, Martin Duke, Subir Das, Jaewon Kang, | Greg Harrison, Chris Olsen, Martin Duke, Subir Das, Jaewon Kang, | |||
| Vikram Kaul, Nelson Powell and Victoria Mercieca. | Vikram Kaul, Nelson Powell and Victoria Mercieca. | |||
| 14. References | 14. References | |||
| 14.1. Normative References | 14.1. Normative References | |||
| [CREDIT] Ratliff, S., "Credit Windowing extension for DLEP", draft- | ||||
| ietf-manet-credit-window-00 IETF draft, October 2015. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| 14.2. Informative References | 14.2. Informative References | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
| (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/ | (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/ | |||
| RFC5246, August 2008, | RFC5246, August 2008, | |||
| End of changes. 271 change blocks. | ||||
| 923 lines changed or deleted | 776 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||