| < draft-ietf-manet-dlep-14.txt | draft-ietf-manet-dlep-15.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: November 14, 2015 | Expires: January 7, 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 | |||
| May 13, 2015 | July 6, 2015 | |||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-14 | draft-ietf-manet-dlep-15 | |||
| 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 44 ¶ | skipping to change at page 1, line 45 ¶ | |||
| 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 November 14, 2015. | This Internet-Draft will expire on January 7, 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 Optional Extensions . . . . . . . . . . . . 10 | 3. Core Features and Extensions . . . . . . . . . . . . . . . . 10 | |||
| 3.1. Negotiation of Optional Extensions . . . . . . . . . . . 10 | 3.1. Experiments . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.2. Protocol Extensions . . . . . . . . . . . . . . . . . . . 11 | ||||
| 3.3. Experimental Signals and Data Items . . . . . . . . . . . 11 | ||||
| 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 4.1. Mandatory Metrics . . . . . . . . . . . . . . . . . . . . 12 | 4.1. Mandatory Metrics . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 12 | 5. DLEP Session Flow . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.1. DLEP Router session flow - Discovery case . . . . . . . . 13 | 5.1. Peer Discovery State . . . . . . . . . . . . . . . . . . 12 | |||
| 5.2. DLEP Router session flow - Configured case . . . . . . . 13 | 5.2. Session Initialization State . . . . . . . . . . . . . . 13 | |||
| 5.3. DLEP Modem session flow . . . . . . . . . . . . . . . . . 14 | 5.3. In-Session State . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.4. Common Session Flow . . . . . . . . . . . . . . . . . . . 15 | 5.4. Session Termination State . . . . . . . . . . . . . . . . 16 | |||
| 6. DLEP Signal Structure and Processing . . . . . . . . . . . . 16 | 6. DLEP Signal and Message Processing . . . . . . . . . . . . . 16 | |||
| 6.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 16 | 7. DLEP Signal and Message Structure . . . . . . . . . . . . . . 17 | |||
| 6.2. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 17 | 7.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 18 | |||
| 7. DLEP Signals . . . . . . . . . . . . . . . . . . . . . . . . 17 | 7.2. DLEP Message Header . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 18 | 7.3. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 19 | |||
| 7.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 19 | 8. DLEP Signals and Messages . . . . . . . . . . . . . . . . . . 19 | |||
| 7.3. Peer Initialization Signal . . . . . . . . . . . . . . . 19 | 8.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 20 | |||
| 7.4. Peer Initialization ACK Signal . . . . . . . . . . . . . 20 | 8.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 21 | |||
| 7.5. Peer Update Signal . . . . . . . . . . . . . . . . . . . 22 | 8.3. Session Initialization Message . . . . . . . . . . . . . 21 | |||
| 7.6. Peer Update ACK Signal . . . . . . . . . . . . . . . . . 23 | 8.4. Session Initialization Response Message . . . . . . . . . 22 | |||
| 7.7. Peer Termination Signal . . . . . . . . . . . . . . . . . 24 | 8.5. Session Update Message . . . . . . . . . . . . . . . . . 24 | |||
| 7.8. Peer Termination ACK Signal . . . . . . . . . . . . . . . 25 | 8.6. Session Update Response Message . . . . . . . . . . . . . 25 | |||
| 7.9. Destination Up Signal . . . . . . . . . . . . . . . . . . 25 | 8.7. Session Termination Message . . . . . . . . . . . . . . . 25 | |||
| 7.10. Destination Up ACK Signal . . . . . . . . . . . . . . . . 26 | 8.8. Session Termination Response Message . . . . . . . . . . 26 | |||
| 7.11. Destination Down Signal . . . . . . . . . . . . . . . . . 27 | 8.9. Destination Up Message . . . . . . . . . . . . . . . . . 26 | |||
| 7.12. Destination Down ACK Signal . . . . . . . . . . . . . . . 27 | 8.10. Destination Up Response Message . . . . . . . . . . . . . 27 | |||
| 7.13. Destination Update Signal . . . . . . . . . . . . . . . . 28 | 8.11. Destination Down Message . . . . . . . . . . . . . . . . 28 | |||
| 7.14. Heartbeat Signal . . . . . . . . . . . . . . . . . . . . 29 | 8.12. Destination Down Response Message . . . . . . . . . . . . 28 | |||
| 7.15. Link Characteristics Request Signal . . . . . . . . . . . 29 | 8.13. Destination Update Message . . . . . . . . . . . . . . . 29 | |||
| 7.16. Link Characteristics ACK Signal . . . . . . . . . . . . . 30 | 8.14. Heartbeat Message . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 31 | 8.15. Link Characteristics Request Message . . . . . . . . . . 30 | |||
| 8.1. DLEP Version . . . . . . . . . . . . . . . . . . . . . . 32 | 8.16. Link Characteristics Response Message . . . . . . . . . . 31 | |||
| 8.2. Status . . . . . . . . . . . . . . . . . . . . . . . . . 33 | 9. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 8.3. IPv4 Connection Point . . . . . . . . . . . . . . . . . . 34 | 9.1. Status . . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| 8.4. IPv6 Connection Point . . . . . . . . . . . . . . . . . . 35 | 9.2. IPv4 Connection Point . . . . . . . . . . . . . . . . . . 35 | |||
| 8.5. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 36 | 9.3. IPv6 Connection Point . . . . . . . . . . . . . . . . . . 36 | |||
| 8.6. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 36 | 9.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 8.7. Extensions Supported . . . . . . . . . . . . . . . . . . 37 | 9.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 38 | |||
| 8.8. Experimental Definition . . . . . . . . . . . . . . . . . 38 | 9.6. Extensions Supported . . . . . . . . . . . . . . . . . . 39 | |||
| 8.9. MAC Address . . . . . . . . . . . . . . . . . . . . . . . 38 | 9.7. MAC Address . . . . . . . . . . . . . . . . . . . . . . . 39 | |||
| 8.10. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 39 | 9.8. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 40 | |||
| 8.11. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 40 | 9.9. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 41 | |||
| 8.12. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 40 | 9.10. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 42 | |||
| 8.13. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 41 | 9.11. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 42 | |||
| 8.14. Maximum Data Rate (Receive) . . . . . . . . . . . . . . . 42 | 9.12. Maximum Data Rate (Receive) . . . . . . . . . . . . . . . 43 | |||
| 8.15. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 43 | 9.13. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 44 | |||
| 8.16. Current Data Rate (Receive) . . . . . . . . . . . . . . . 43 | 9.14. Current Data Rate (Receive) . . . . . . . . . . . . . . . 44 | |||
| 8.17. Current Data Rate (Transmit) . . . . . . . . . . . . . . 44 | 9.15. Current Data Rate (Transmit) . . . . . . . . . . . . . . 45 | |||
| 8.18. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 45 | 9.16. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 46 | |||
| 8.19. Resources (Receive) . . . . . . . . . . . . . . . . . . . 46 | 9.17. Resources (Receive) . . . . . . . . . . . . . . . . . . . 47 | |||
| 8.20. Resources (Transmit) . . . . . . . . . . . . . . . . . . 46 | 9.18. Resources (Transmit) . . . . . . . . . . . . . . . . . . 47 | |||
| 8.21. Relative Link Quality (Receive) . . . . . . . . . . . . . 47 | 9.19. Relative Link Quality (Receive) . . . . . . . . . . . . . 48 | |||
| 8.22. Relative Link Quality (Transmit) . . . . . . . . . . . . 48 | 9.20. Relative Link Quality (Transmit) . . . . . . . . . . . . 49 | |||
| 8.23. Link Characteristics ACK Timer . . . . . . . . . . . . . 48 | 9.21. Link Characteristics Response Timer . . . . . . . . . . . 49 | |||
| 9. Credit-Windowing . . . . . . . . . . . . . . . . . . . . . . 49 | 10. Credit-Windowing . . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 9.1. Credit-Windowing Signals . . . . . . . . . . . . . . . . 49 | 10.1. Credit-Windowing Messages . . . . . . . . . . . . . . . 51 | |||
| 9.1.1. Destination Up Signal . . . . . . . . . . . . . . . . 49 | 10.1.1. Destination Up Message . . . . . . . . . . . . . . . 51 | |||
| 9.1.2. Destination Up ACK Signal . . . . . . . . . . . . . . 50 | 10.1.2. Destination Up Response Message . . . . . . . . . . 51 | |||
| 9.1.3. Destination Update Signal . . . . . . . . . . . . . . 50 | 10.1.3. Destination Update Message . . . . . . . . . . . . . 51 | |||
| 9.2. Credit-Windowing Data Items . . . . . . . . . . . . . . . 50 | 10.2. Credit-Windowing Data Items . . . . . . . . . . . . . . 52 | |||
| 9.2.1. Credit Grant . . . . . . . . . . . . . . . . . . . . 51 | 10.2.1. Credit Grant . . . . . . . . . . . . . . . . . . . . 52 | |||
| 9.2.2. Credit Window Status . . . . . . . . . . . . . . . . 52 | 10.2.2. Credit Window Status . . . . . . . . . . . . . . . . 53 | |||
| 9.2.3. Credit Request . . . . . . . . . . . . . . . . . . . 52 | 10.2.3. Credit Request . . . . . . . . . . . . . . . . . . . 54 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 53 | 11. Security Considerations . . . . . . . . . . . . . . . . . . . 55 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 53 | 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 11.1. Registrations . . . . . . . . . . . . . . . . . . . . . 53 | 12.1. Registrations . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 11.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 54 | 12.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 56 | |||
| 11.3. Signal Type Registration . . . . . . . . . . . . . . . . 54 | 12.3. Signal/Message Type Registration . . . . . . . . . . . . 56 | |||
| 11.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 55 | 12.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 56 | |||
| 11.5. DLEP Status Code Registrations . . . . . . . . . . . . . 56 | 12.5. DLEP Status Code Registrations . . . . . . . . . . . . . 56 | |||
| 11.6. DLEP Extensions Registrations . . . . . . . . . . . . . 56 | 12.6. DLEP Extensions Registrations . . . . . . . . . . . . . 56 | |||
| 11.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 57 | 12.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 57 | |||
| 11.8. DLEP Multicast Address . . . . . . . . . . . . . . . . . 57 | 12.8. DLEP Multicast Address . . . . . . . . . . . . . . . . . 57 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 57 | 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 57 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 | 14. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 57 | 14.1. Normative References . . . . . . . . . . . . . . . . . . 57 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 57 | 14.2. Informative References . . . . . . . . . . . . . . . . . 57 | |||
| Appendix A. Peer Level Signal Flows . . . . . . . . . . . . . . 57 | Appendix A. Discovery Signal Flows . . . . . . . . . . . . . . . 58 | |||
| A.1. Discovery . . . . . . . . . . . . . . . . . . . . . . . . 57 | Appendix B. Peer Level Message Flows . . . . . . . . . . . . . . 58 | |||
| A.2. Session Initialization . . . . . . . . . . . . . . . . . 58 | B.1. Session Initialization . . . . . . . . . . . . . . . . . 58 | |||
| A.3. Session Initialization - Refused . . . . . . . . . . . . 59 | B.2. Session Initialization - Refused . . . . . . . . . . . . 59 | |||
| A.4. Router Changes IP Addresses . . . . . . . . . . . . . . . 59 | B.3. Router Changes IP Addresses . . . . . . . . . . . . . . . 59 | |||
| A.5. Modem Changes Session-wide Metrics . . . . . . . . . . . 59 | B.4. Modem Changes Session-wide Metrics . . . . . . . . . . . 59 | |||
| A.6. Router Terminates Session . . . . . . . . . . . . . . . . 60 | B.5. Router Terminates Session . . . . . . . . . . . . . . . . 60 | |||
| A.7. Modem Terminates Session . . . . . . . . . . . . . . . . 60 | B.6. Modem Terminates Session . . . . . . . . . . . . . . . . 60 | |||
| A.8. Session Heartbeats . . . . . . . . . . . . . . . . . . . 61 | B.7. Session Heartbeats . . . . . . . . . . . . . . . . . . . 61 | |||
| A.9. Router Detects a Heartbeat timeout . . . . . . . . . . . 62 | B.8. Router Detects a Heartbeat timeout . . . . . . . . . . . 62 | |||
| A.10. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 63 | B.9. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 63 | |||
| Appendix B. Destination Specific Signal Flows . . . . . . . . . 63 | Appendix C. Destination Specific Signal Flows . . . . . . . . . 63 | |||
| B.1. Common Destination Signaling . . . . . . . . . . . . . . 63 | C.1. Common Destination Signaling . . . . . . . . . . . . . . 63 | |||
| B.2. Multicast Destination Signaling . . . . . . . . . . . . . 64 | C.2. Multicast Destination Signaling . . . . . . . . . . . . . 64 | |||
| B.3. Link Characteristics Request . . . . . . . . . . . . . . 64 | C.3. Link Characteristics Request . . . . . . . . . . . . . . 64 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 65 | 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 cable/DSL modems. Fluctuations in speed and quality of these | and cable/DSL 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, | |||
| skipping to change at page 6, line 6 ¶ | skipping to change at page 5, line 50 ¶ | |||
| | | | Device| | Device| | | | | | | Device| | Device| | | | |||
| +--------+ +-------+ +-------+ +--------+ | +--------+ +-------+ +-------+ +--------+ | |||
| | | | Link | | | | | | | Link | | | | |||
| |-DLEP--| | Protocol | |-DLEP--| | |-DLEP--| | Protocol | |-DLEP--| | |||
| | | | (e.g. | | | | | | | (e.g. | | | | |||
| | | | 802.11) | | | | | | | 802.11) | | | | |||
| Figure 1: DLEP Network | Figure 1: DLEP Network | |||
| In Figure 1, when the local modem detects the presence of a remote | In Figure 1, when the local modem detects the presence of a remote | |||
| node, it (the local modem) sends a signal to its router via the DLEP | node, it (the local modem) sends a message to its router via the DLEP | |||
| protocol. The signal consists of an indication of what change has | protocol. The message consists of an indication of what change has | |||
| occurred on the link (e.g., presence of a remote node detected), | occurred on the link (e.g., presence of a remote node detected), | |||
| along with a collection of DLEP-defined Data Items that further | along with a collection of DLEP-defined Data Items that further | |||
| describe the change. Upon receipt of the signal, the local router | describe the change. Upon receipt of the message, the local router | |||
| may take whatever action it deems appropriate, such as initiating | may take whatever action it deems appropriate, such as initiating | |||
| discovery protocols, and/or issuing HELLO messages to converge the | discovery protocols, and/or issuing HELLO messages to converge the | |||
| network. On a continuing, as-needed basis, the modem devices use | network. On a continuing, as-needed basis, the modem devices use | |||
| DLEP to report any characteristics of the link (datarate, latency, | DLEP to report any characteristics of the link (datarate, latency, | |||
| etc.) that have changed. DLEP is independent of the link type and | etc.) that have changed. DLEP is independent of the link type and | |||
| topology supported by the modem. Note that the DLEP protocol is | topology supported by the modem. Note that the DLEP protocol is | |||
| specified to run only on the local link between router and modem. | specified to run only on the local link between router and modem. | |||
| Some over the air signaling may be necessary between the local and | Some over the air signaling may be necessary between the local and | |||
| remote modem in order to provide some parameters in DLEP signals | remote modem in order to provide some parameters in DLEP messages | |||
| between the local modem and local router, but DLEP does not specify | between the local modem and local router, but DLEP does not specify | |||
| how such over the air signaling is carried out. Over the air | how such over the air signaling is carried out. Over the air | |||
| signaling is purely a matter for the modem implementer. | signaling is purely a matter for the modem implementer. | |||
| Figure 2 shows how DLEP can support a configuration where routers are | Figure 2 shows how DLEP can support a configuration where routers are | |||
| connected with different link types. In this example, Modem A | connected with different link types. In this example, Modem A | |||
| implements a point-to-point link, and Modem B is connected via a | implements a point-to-point link, and Modem B is connected via a | |||
| shared medium. In both cases, the DLEP protocol is used to report | shared medium. In both cases, the DLEP protocol is used to report | |||
| the characteristics of the link (datarate, latency, etc.) to routers. | the characteristics of the link (datarate, latency, etc.) to routers. | |||
| The modem is also able to use the DLEP session to notify the router | The modem is also able to use the DLEP session to notify the router | |||
| skipping to change at page 7, line 37 ¶ | skipping to change at page 7, line 37 ¶ | |||
| | | | | |||
| +---+----+ | +---+----+ | |||
| | Router | | | Router | | |||
| | | | | | | |||
| +--------+ | +--------+ | |||
| Figure 2: DLEP Network with Multiple Modem Devices | Figure 2: DLEP Network with Multiple Modem Devices | |||
| 1.1. Protocol Overview | 1.1. Protocol Overview | |||
| As mentioned earlier, DLEP defines a set of signals used by modems | As mentioned earlier, DLEP defines a set of messages used by modems | |||
| and their attached routers. The signals 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 signals 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) | The protocol is defined as a collection of type-length-value (TLV) | |||
| based formats, specifying the signals that are exchanged between a | based formats, specifying the messages that are exchanged between a | |||
| router and a modem, and the data items associated with the signal. | router and a modem, and the data items associated with the message. | |||
| This document specifies transport of DLEP signals and data items via | This document specifies transport of DLEP messages and data items via | |||
| the TCP transport, with a UDP-based discovery mechanism. Other | the TCP transport, with a UDP-based discovery mechanism. Other | |||
| transports for the protocol are possible, but are outside the scope | transports for the protocol are possible, but are outside the scope | |||
| of this document. | 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. This router/modem | |||
| session provides a carrier for information exchange concerning | session provides a carrier for information exchange concerning | |||
| skipping to change at page 8, line 46 ¶ | skipping to change at page 8, line 46 ¶ | |||
| "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 | Routers and modems that exist as part of the same node (e.g., that | |||
| are locally connected) can use a discovery technique to locate each | are locally connected) can use a discovery technique to locate each | |||
| other, thus avoiding a priori configuration. The router is | other, thus avoiding a priori configuration. The router is | |||
| responsible for initializing the discovery process, using the Peer | responsible for initializing the discovery process, using the Peer | |||
| Discovery signal (Section 7.1). | Discovery signal (Section 8.1). | |||
| DLEP uses a session-oriented paradigm. A router and modem form a | DLEP uses a session-oriented paradigm. A router and modem form a | |||
| session by completing the discovery and initialization process. This | session by completing the discovery and initialization process. This | |||
| router-modem session persists unless or until it either (1) times | router-modem session persists unless or until it either (1) times | |||
| out, based on the timeout values supplied, or (2) is explicitly torn | 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 | down by one of the participants. Note that while use of timers in | |||
| DLEP is optional, it is strongly RECOMMENDED that implementations | DLEP is optional, it is strongly RECOMMENDED that implementations | |||
| choose to run with timers enabled. | choose to run with timers enabled. | |||
| DLEP assumes that the MAC address for delivering data traffic is the | DLEP assumes that the MAC address for delivering data traffic is the | |||
| MAC specified in the Destination Up signal (Section 7.9). No | MAC specified in the Destination Up message (Section 8.9). No | |||
| manipulation or substitution is performed; the MAC address supplied | manipulation or substitution is performed; the MAC address supplied | |||
| in Destination Up is used as the OSI Layer 2 Destination MAC address. | in Destination Up is used as the OSI Layer 2 Destination MAC address. | |||
| DLEP also assumes that MAC addresses MUST be unique within the | DLEP also assumes that MAC addresses MUST be unique within the | |||
| context of a router-modem session. Additionally, DLEP can support | context of a router-modem session. Additionally, DLEP can support | |||
| MAC addresses in either EUI-48 or EUI-64 format, with the restriction | 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 | 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 | 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 | 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 | an EUI-48 MAC, all destination addresses via that modem MUST be | |||
| expressed in EUI-48 format). | expressed in EUI-48 format). | |||
| DLEP uses UDP multicast for single-hop discovery, and TCP for | DLEP uses UDP multicast for single-hop discovery signalling, and TCP | |||
| transport of the control signals. Therefore, DLEP assumes that the | for transport of the control messages. Therefore, DLEP assumes that | |||
| modem and router have topologically consistent IP addresses assigned. | the modem and router have topologically consistent IP addresses | |||
| It is RECOMMENDED that DLEP implementations utilize IPv6 link-local | assigned. It is RECOMMENDED that DLEP implementations utilize IPv6 | |||
| addresses to reduce the administrative burden of address assignment. | link-local addresses to reduce the administrative burden of address | |||
| assignment. | ||||
| Destinations can be identified by either the router or the modem, and | Destinations can be identified by either the router or the modem, and | |||
| represent a specific destination (e.g., an address) that exists on | represent a specific destination (e.g., an address) that exists on | |||
| the link(s) managed by the modem. A destination MUST contain a MAC | the link(s) managed by the modem. A destination MUST contain a MAC | |||
| address, it MAY optionally include a Layer 3 address (or addresses). | address, it MAY optionally include a Layer 3 address (or addresses). | |||
| Note that since a destination is a MAC address, the MAC could | Note that since a destination is a MAC address, the MAC could | |||
| reference a logical destination, as in a derived multicast MAC | reference a logical destination, as in a derived multicast MAC | |||
| address, as well as a physical device. As destinations are | address, as well as a physical device. As destinations are | |||
| discovered, DLEP routers and modems build an information base on | discovered, DLEP routers and modems build an information base on | |||
| destinations accessible via the modem. | destinations accessible via the modem. | |||
| The DLEP signals concerning destinations thus become the way for | The DLEP messages concerning destinations thus become the way for | |||
| routers and modems to maintain, and notify each other about, an | routers and modems to maintain, and notify each other about, an | |||
| information base representing the physical and logical (e.g., | information base representing the physical and logical (e.g., | |||
| multicast) destinations accessible via the modem device. The | multicast) destinations accessible via the modem device. The | |||
| information base would contain addressing information (i.e. MAC | information base would contain addressing information (i.e. MAC | |||
| address, and OPTIONALLY, Layer 3 addresses), link characteristics | address, and OPTIONALLY, Layer 3 addresses), link characteristics | |||
| (metrics), and OPTIONALLY, flow control information (credits). | (metrics), and OPTIONALLY, flow control information (credits). | |||
| DLEP assumes that any signal not understood by a receiver MUST result | DLEP assumes that any message not understood by a receiver MUST | |||
| in an error indication being sent to the originator, and also MUST | result in an error indication being sent to the originator, and also | |||
| result in termination of the session between the DLEP peers. Any | MUST result in termination of the session between the DLEP peers. | |||
| DLEP data item not understood by a receiver MUST also result in | Any DLEP data item not understood by a receiver MUST also result in | |||
| termination of the session. | termination of the 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 signals and | This document specifies an implementation of the DLEP messages | |||
| data items running over the TCP transport. It is assumed that DLEP | running over the TCP transport. It is assumed that DLEP running over | |||
| running over other transport mechanisms would be documented | other transport mechanisms would be documented separately. | |||
| separately. | ||||
| 3. Core Features and Optional Extensions | 3. Core Features and Extensions | |||
| DLEP has a core set of signals and data items that MUST be processed | DLEP has a core set of signals, messages and data items that MUST be | |||
| without error by an implementation in order to guarantee | parsed without error by an implementation in order to guarantee | |||
| interoperability and therefore make the implementation DLEP | interoperability and therefore make the implementation DLEP | |||
| compliant. This document defines the core set of signals and data | compliant. This document defines this set of signals, messages and | |||
| items, listing them as 'mandatory'. It should be noted that some | data items, listing them as 'core'. It should be noted that some | |||
| core signals and data items might not be used during the lifetime of | core signals, messages and data items might not be used during the | |||
| a single DLEP session, but a compliant implementation MUST support | lifetime of a single DLEP session, but a compliant implementation | |||
| them. | MUST support them. | |||
| While this document represents the best efforts of the working group | While this document represents the best efforts of the working group | |||
| to be functionally complete, it is recognized that extensions to DLEP | to be functionally complete, it is recognized that extensions to DLEP | |||
| will in all likelihood be necessary as more link types are used. To | will in all likelihood be necessary as more link types are used. | |||
| support future extension of DLEP, this document describes an | ||||
| extension negotiation capability to be used during session | ||||
| initialization via the Extensions Supported data item, documented in | ||||
| Section 8.7 of this document. | ||||
| All extensions are considered OPTIONAL. Only the DLEP functionality | ||||
| listed as 'mandatory' is required by implementation in order to be | ||||
| DLEP compliant. | ||||
| This specification defines one extension, Credit windowing, exposed | ||||
| via the Extensions Supported mechanism that implementations MAY | ||||
| choose to implement, or to omit. | ||||
| 3.1. Negotiation of Optional Extensions | ||||
| Optional extensions supported by an implementation MUST be declared | If interoperable protocol extensions are required, they MUST be | |||
| to potential DLEP peers using the Extensions Supported data item | standardized either as an update to this document, or as an | |||
| (Section 8.7) during the session initialization sequence. Once both | additional stand-alone specification. The requests for IANA- | |||
| peers have exchanged initialization signals, an implementation MUST | controlled registries in this document contain sufficient Reserved | |||
| NOT emit any signal or data item associated with an optional | space, in terms of DLEP signals, messages, data items and status | |||
| extension that was not specified in the received initialization | codes, to accommodate future extensions to the protocol and the data | |||
| signal from its peer. | transferred. | |||
| 3.2. Protocol Extensions | 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. | ||||
| If/when protocol extensions are required, they should be standardized | This specification defines one extension, Credit Windowing, that | |||
| either as an update to this document, or as an additional stand-alone | devices MAY choose to implement. | |||
| specification. The requests for IANA-controlled registries in this | ||||
| document contain sufficient reserved space, both in terms of DLEP | ||||
| signals and DLEP data items, to accommodate future extensions to the | ||||
| protocol and the data transferred. | ||||
| 3.3. Experimental Signals and Data Items | 3.1. Experiments | |||
| This document requests numbering space in both the DLEP signal and | This document requests Private Use numbering space in the DLEP | |||
| data item registries for experimental items. The intent is to allow | signal/message, data item and status code registries for experimental | |||
| for experimentation with either (1) new signals, (2) new data items, | items. The intent is to allow for experimentation with new signals, | |||
| or (3) both new signals and new data items, while still retaining the | messages, data items, and/or status codes, while still retaining the | |||
| documented DLEP behavior. If a given experiment proves successful, | documented DLEP behavior. | |||
| it SHOULD be documented as an update to this document, or as a stand- | ||||
| alone specification. | ||||
| Use of the experimental signals, data items, or behaviors MUST be | Use of the experimental signals, messages, data items, status codes, | |||
| announced by inclusion of an Experimental Definition data item | or behaviors MUST be announced as Extensions, using extension | |||
| (Section 8.8) with a value agreed upon (a priori) between the | identifiers from the Private Use space in the Extensions Supported | |||
| participating peers. The exact mechanism for a priori communication | registry (Table 4), during session initialization with a value agreed | |||
| of the experimental definition formats is beyond the scope of this | upon (a priori) between the participating peers. | |||
| document. | ||||
| Multiple Experimental Definition data items MAY appear in the Peer | Multiple experiments MAY be announced in the Session Initialization | |||
| Initialization/Peer Initialization ACK sequence. However, use of | messages. However, use of multiple experiments in a single session | |||
| multiple experiments in a single peer session could lead to | could lead to interoperability issues or unexpected results (e.g., | |||
| interoperability issues or unexpected results (e.g., redefinition of | clashes of experimental signals, messages, data items and/or status | |||
| experimental signals and/or data items), and is therefore | code types), and is therefore discouraged. It is left to | |||
| discouraged. It is left to implementations to determine the correct | implementations to determine the correct processing path (e.g., a | |||
| processing path (e.g., a decision on whether to terminate the peer | decision on whether to terminate the session, or to establish a | |||
| session, or to establish a precedence of the conflicting definitions) | precedence of the conflicting definitions) if such conflicts arise. | |||
| if such conflicts arise. | ||||
| 4. Metrics | 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 'modem-wide' (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. Metrics supplied on DLEP Peer signals are, by | receive metrics. In cases where metrics are provided at session | |||
| definition, modem-wide; metrics supplied on Destination signals are, | level, the receiver MUST propagate the metrics to all entries in its | |||
| by definition, used for the specific logical destination only. | information base for destinations that are accessed via the | |||
| originator. | ||||
| DLEP modem implementations MUST announce all supported metric items, | DLEP modem implementations MUST announce all metric items that will | |||
| and provide default values for those metrics, in the Peer | be reported during the session, and provide default values for those | |||
| Initialization ACK signal (Section 7.4). In order to introduce a new | metrics, in the Session Initialization Response message | |||
| metric type, DLEP modem implementations MUST terminate the session | (Section 8.4). In order to use a metric type that was not included | |||
| with the router (via the Peer Terminate signal (Section 7.7)), and | in the Session Initialization Response message, modem implementations | |||
| allow for session re-establishment. | 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). | |||
| The approach of allowing for different contexts for metric data | A DLEP participant MAY send metrics both in a session context (via | |||
| increases both the flexibility and the complexity of using metric | the Session Update message) and a specific destination context (via | |||
| data. This document details the mechanism whereby the data is | Destination Update) at any time. The heuristics for applying | |||
| transmitted, however, the specific algorithms (precedence, etc.) for | received metrics is left to implementations. | |||
| utilizing the dual-context metrics are out of scope and not addressed | ||||
| by this document. | ||||
| 4.1. Mandatory Metrics | 4.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 session initialization. However, an | supported metric items during the Session Initialization state. | |||
| implementation MUST include the following list of metrics: | However, a modem MUST include the following list of metrics in the | |||
| Session Initialization Response message (Section 8.4): | ||||
| o Maximum Data Rate (Receive) (Section 8.14) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Maximum Data Rate (Transmit) (Section 8.15) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Current Data Rate (Receive) (Section 8.16) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Current Data Rate (Transmit) (Section 8.17) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Latency (Section 8.18) | o Latency (Section 9.16) | |||
| 5. DLEP Session Flow | 5. DLEP Session Flow | |||
| For routers supporting DLEP, support of Discovery is optional. | All DLEP peers transition through four (4) distinct states during the | |||
| Discovery is initiated in the DLEP modem by sending the Peer | lifetime of a DLEP session: | |||
| Discovery Signal (Section 7.1) to a well-known multicast address. | ||||
| However, support for receipt and processing of the signal is optional | ||||
| in the router (see Appendix A for flow diagrams of the discovery | ||||
| signal). Due to the optional (on the router) support for discovery, | ||||
| normal session flow is described for both the 'Discovery case', and | ||||
| the 'Configured case'. Again, for modem implementations of DLEP, | ||||
| support of Discovery is mandatory; therefore, that is the only case | ||||
| to be described. | ||||
| 5.1. DLEP Router session flow - Discovery case | o Peer Discovery | |||
| If the DLEP router implementation is utilizing the optional discovery | o Session Initialization | |||
| mechanism, then the implementation will initialize a UDP socket, | ||||
| binding it to an arbitrary port. This UDP socket is used to send the | ||||
| Peer Discovery signal (Section 7.1) to the DLEP link-local multicast | ||||
| address and port (TBD). The implementation then waits on receipt of | ||||
| a Peer Offer signal (Section 7.2), which MAY contain the unicast | ||||
| address and port for TCP-based communication with a DLEP modem, via | ||||
| the IPv4 Connection Point data item (Section 8.3) or the IPv6 | ||||
| Connection Point data item (Section 8.4). The Peer Offer signal MAY | ||||
| contain multiple IP Connection Point data items. If more than one IP | ||||
| Connection Point data items is in the Peer Offer, router | ||||
| implementations MAY use their own heuristics to determine the best | ||||
| address/port combination. If no IP Connection Point data items are | ||||
| 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 | ||||
| number (Section 11.7) to establish the TCP connection. At this | ||||
| point, the router implementation MAY either destroy the UDP socket, | ||||
| or continue to issue Peer Discovery signals to the link-local | ||||
| address/port combination. In either case, the TCP session | ||||
| initialization occurs as in the configured case. | ||||
| 5.2. DLEP Router session flow - Configured case | o In-Session | |||
| When a DLEP router implementation has the address and port | o Session Termination | |||
| information for a TCP connection to a modem (obtained either via | ||||
| configuration or via the discovery process described above), the | ||||
| router will initialize and bind a TCP socket. This socket is used to | ||||
| connect to the DLEP modem software. After a successful TCP connect, | ||||
| the router implementation MUST issue a Peer Initialization signal | ||||
| (Section 7.3) to the DLEP modem. After sending the Peer | ||||
| Initialization, the router implementation MUST wait for receipt of a | ||||
| Peer Initialization ACK signal (Section 7.4) from the modem. Receipt | ||||
| of the Peer Initialization ACK signal containing a Status data item | ||||
| (Section 8.2) with value 'Success', indicates that the modem has | ||||
| received and processed the Peer Initialization, and the session MUST | ||||
| transition to the 'in session' state. At this point, signals | ||||
| regarding destinations in the network, and/or Peer Update signals | ||||
| (Section 7.5), can flow on the DLEP session between modem and router, | ||||
| and Heartbeat signals can begin to flow, if Heartbeats are used. The | ||||
| 'in session' state is maintained until one of the following | ||||
| conditions occur: | ||||
| o The session is explicitly terminated (using Peer Termination), or | 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 | ||||
| one or more preconfigured address/port combinations SHOULD be | ||||
| provided to the router, and the device starts in the Session | ||||
| Initialization state. | ||||
| o The session times out, based on supplied timeout values. | Modems MUST support the Peer Discovery state. | |||
| 5.3. DLEP Modem session flow | 5.1. Peer Discovery State | |||
| DLEP modem implementations MUST support the discovery mechanism. | In the Peer Discovery state, routers send UDP packets containing a | |||
| Therefore, the normal flow is as follows: | Peer Discovery signal (Section 8.1) to the DLEP well-known multicast | |||
| address (Section 12.8) and port number (Section 12.7) then await a | ||||
| unicast UDP packet containing a Peer Offer signal (Section 8.2) from | ||||
| a modem. While in the Peer Discovery state, Peer Discovery signals | ||||
| MUST be sent repeatedly by a router, at regular intervals; every | ||||
| three (3) seconds is RECOMMENDED. | ||||
| The implementation will initialize a UDP socket, binding that socket | In the Peer Discovery state, the modem waits for incoming Peer | |||
| to the DLEP link-local multicast address (TBD) and the DLEP well- | Discovery signals on the DLEP well-known multicast address and port. | |||
| known port number (also TBD). The implementation will then | On receipt of a valid signal, it MUST unicast a Peer Offer signal to | |||
| initialize a TCP socket, on a unicast address and port. This socket | the source address of the received UDP packet. Peer Offer signals | |||
| is used to listen for incoming TCP connection requests. | MAY contain the unicast address and port for TCP-based communication | |||
| with a modem, via the IPv4 Connection Point data item (Section 9.2) | ||||
| or the IPv6 Connection Point data item (Section 9.3), on which it is | ||||
| prepared to accept an incoming TCP connection. 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. | ||||
| When the modem implementation receives a Peer Discovery signal | Modems SHOULD be prepared to accept a TCP connection from a router | |||
| (Section 7.1) on the UDP socket, it responds by issuing a Peer Offer | that is not using the Discovery mechanism, i.e. a connection attempt | |||
| signal (Section 7.2) to the sender of the Peer Discovery signal. The | that occurs without a preceeding Peer Discovery signal. The modem | |||
| Peer Offer signal MAY contain the unicast address and port of the | MUST accept a TCP connection on only one (1) address/port combination | |||
| listening TCP socket, as described above. A DLEP modem | per session. | |||
| implementation MAY respond with ALL address/port combinations that | ||||
| have an active TCP listen posted. Anything other than Peer Discovery | ||||
| signals received on the UDP socket MUST be silently dropped. | ||||
| When the DLEP modem implementation accepts a connection via TCP, it | Routers MUST use one or more of the modem address/port combinations | |||
| MUST wait for receipt of a Peer Initialization signal (Section 7.3), | from the Peer Offer signal or from a priori configuration to | |||
| sent by the router. Upon receipt and successful parsing of a Peer | establish a new TCP connection to the modem. If more than one modem | |||
| Initialization signal, the modem MUST respond with a Peer | address/port combinations is available, router implementations MAY | |||
| Initialization ACK signal (Section 7.4). The Peer Initialization ACK | use their own heuristics to determine the order in which they are | |||
| signal MUST contain metric data items for ALL supported metrics. If | tried. If a TCP connection cannot be achieved using any of the | |||
| an additional metric is to be introduced, the DLEP session between | address/port combinations and the Discovery mechanism is in use, then | |||
| router and modem MUST be terminated and restarted, and the new metric | the router SHOULD resume issuing Peer Discovery signals. If no IP | |||
| described in a Peer Initialization ACK signal. Once the Peer | Connection Point data items are included in the Peer Offer signal, | |||
| Initialization signal (Section 7.3) and Peer Initialization ACK | the router MUST use the origin address of the signal as the IP | |||
| signal (Section 7.4) have been exchanged, the session is transitioned | address, and the DLEP well-known port number. | |||
| to the 'in session' state. As in the router case, when the 'in | ||||
| session' state is reached, signals regarding destinations in the | ||||
| network, and/or Peer Update signals (Section 7.5), can flow on the | ||||
| DLEP session between modem and router, and Heartbeat signals can | ||||
| begin to flow, if Heartbeats are used. The 'in session' state | ||||
| persists until the session is explicitly terminated (using Peer | ||||
| Termination), or it times out (based on timeout values). | ||||
| 5.4. Common Session Flow | Once a TCP connection has been established with the modem, the router | |||
| begins a new session and enters the Session Initialization state. It | ||||
| is up to the router implementation if Peer Discovery signals continue | ||||
| to be sent after the device has transitioned to the Session | ||||
| Initialization state. | ||||
| In order to maintain the session between router and modem, periodic | 5.2. Session Initialization State | |||
| Heartbeat signals (Section 7.14) MAY be exchanged. These signals are | ||||
| intended to keep the session alive, and to verify bidirectional | ||||
| connectivity between the two participants. If heartbeat signals are | ||||
| exchanged, they do not begin until the DLEP peer session has entered | ||||
| the 'in session' state. Each DLEP peer is responsible for the | ||||
| creation of heartbeat signals. Receipt of any DLEP signal SHOULD | ||||
| reset the heartbeat interval timer (i.e., valid DLEP signals take the | ||||
| place of, and obviate the need for, Heartbeat signals). | ||||
| DLEP also provides a Peer Update signal (Section 7.5), intended to | On entering the Session Initialization state, the router MUST send a | |||
| Session Initialization message (Section 8.3) to the modem. The | ||||
| router MUST then wait for receipt of a Session Initialization | ||||
| Response message (Section 8.4) from the modem. Receipt of the | ||||
| Session Initialization Response message containing a Status data item | ||||
| (Section 9.1) with value 'Success', see Table 3, indicates that the | ||||
| modem has received and processed the Session Initialization message, | ||||
| and the router MUST transition to the In-Session state. | ||||
| On entering the Session Initialization state, the modem MUST wait for | ||||
| receipt of a Session Initialization message from the router. Upon | ||||
| receipt and successful parsing of a Session Initialization message, | ||||
| the modem MUST send a Session Initialization Response message, and | ||||
| the session MUST transition to the In-Session state. | ||||
| As mentioned before, DLEP provides an extension negotiation | ||||
| capability to be used in the Session Initialization state. | ||||
| Extensions supported by an implementation MUST be declared to | ||||
| potential DLEP peers using the Extensions Supported data item | ||||
| (Section 9.6). | ||||
| Once both peers have exchanged initialization messages, an | ||||
| implementation MUST NOT emit any message, signal, data item or status | ||||
| 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 | ||||
| Initialization Response, it MUST send a Session Termination message | ||||
| (Section 8.7) with a relevant status code, e.g. 'Unexpected | ||||
| Message', see Table 3, and transition to the Session Termination | ||||
| state. | ||||
| If the modem receives any message other than Session Initialization, | ||||
| or it fails to parse the received message, it MUST NOT send any | ||||
| message, and MUST terminate the TCP connection, then restart at the | ||||
| Peer Discovery state. | ||||
| As mentioned before, the Session Initialization Response message MUST | ||||
| contain metric data items for ALL metrics that will be used during | ||||
| the session. If an additional metric is to be introduced after the | ||||
| session has started, the session between router and modem MUST be | ||||
| terminated and restarted, and the new metric described in the next | ||||
| Session Initialization Response message. | ||||
| 5.3. In-Session State | ||||
| In the In-Session state, messages can flow in both directions between | ||||
| peers, indicating changes to the session state, the arrival or | ||||
| departure of reachable destinations, or changes of the state of the | ||||
| 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 | communicate some change in status (e.g., a change of layer 3 address | |||
| parameters, or a modem-wide link change). | parameters, or a modem-wide link change). | |||
| In addition to the local (Peer level) signals above, the participants | In addition to the session messages, the participants will transmit | |||
| will transmit DLEP signals concerning destinations in the network. | messages concerning destinations in the network. These messages | |||
| These signals trigger creation/maintenance/deletion of destinations | trigger creation/maintenance/deletion of destinations in the | |||
| in the information base of the recipient. For example, a modem will | information base of the recipient. For example, a modem will inform | |||
| inform its attached router of the presence of a new destination via | its attached router of the presence of a new destination via the | |||
| the Destination Up signal (Section 7.9). Receipt of a Destination Up | Destination Up message (Section 8.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 signal | destination is communicated via the Destination Down message | |||
| (Section 7.11), and changes in status to the destination (e.g., | (Section 8.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 signal (Section 7.13). The information on a given | Destination Update message (Section 8.13). The information on a | |||
| destination will persist in the router's information base until (1) a | given destination will persist in the router's information base until | |||
| Destination Down signal is received, indicating that the modem has | (1) a Destination Down message is received, indicating that the modem | |||
| lost contact with the remote node, or (2) the router/modem session | has lost contact with the remote node, or (2) the router/modem | |||
| terminates, indicating that the router has lost contact with its own | transitions to the Session Termination state. | |||
| local modem. | ||||
| Metrics can be expressed within the context of a specific destination | ||||
| via the Destination Update signal, or on a modem-wide basis via the | ||||
| Peer Update signal. In cases where metrics are provided at peer | ||||
| level, the receiver MUST propagate the metrics to all entries in its | ||||
| information base for destinations that are accessed via the | ||||
| originator. A DLEP participant MAY send metrics both in a router/ | ||||
| modem session context (via the Peer Update signal) and a specific | ||||
| destination context (via Destination Update) at any time. The | ||||
| heuristics for applying received metrics is left to implementations. | ||||
| In addition to receiving metrics about the link, DLEP provides a | In addition to receiving metrics about the link, DLEP provides a | |||
| signal allowing a router to request a different datarate, or latency, | message allowing a router to request a different datarate, or | |||
| from the modem. This signal is referred to as the Link | latency, from the modem. This message is referred to as the Link | |||
| Characteristics Request signal (Section 7.15), and gives the router | Characteristics Request message (Section 8.15), and gives the router | |||
| the ability to deal with requisite increases (or decreases) of | the ability to deal with requisite increases (or decreases) of | |||
| allocated datarate/latency in demand-based schemes in a more | allocated datarate/latency in demand-based schemes in a more | |||
| deterministic manner. | deterministic manner. | |||
| 6. DLEP Signal Structure and Processing | The In-Session state is maintained until one of the following | |||
| conditions occur: | ||||
| Communication between DLEP peers consists of a bidirectional stream | o The implementation terminates the session by sending a Session | |||
| of signals (messages), each signal consisting of a signal header and | Termination message (Section 8.7)), or | |||
| an unordered list of data items. Signal headers consist of Type and | ||||
| Length information, while data items are encoded as TLV (Type-Length- | ||||
| Value) structures. In this document, the data items following the | ||||
| signal header are described as being 'contained in' the signal. | ||||
| All integer values structures MUST be in network byte-order. | o The DLEP peer terminates the session, indicated by receiving a | |||
| Session termination message. | ||||
| The implementation MUST then transition to the Session Termination | ||||
| state. | ||||
| 5.4. Session Termination State | ||||
| When a DLEP implementation enters the Session Termination state after | ||||
| sending a Session Termination message (Section 8.7) as the result of | ||||
| an invalid message or error, it MUST wait for a Session Termination | ||||
| Response message (Section 8.8) from its peer. If Heartbeat messages | ||||
| (Section 8.14) are in use, senders SHOULD allow four (4) heartbeat | ||||
| intervals to expire before assuming that the peer is unresponsive, | ||||
| and continuing with session termination. If Heartbeat messages are | ||||
| not in use, then if is RECOMMENDED that an interval of eight (8) | ||||
| seconds be used. | ||||
| When a DLEP implementation enters the Session Termination state | ||||
| having received a Session Termination message from its peer, it MUST | ||||
| immediately send a Session Termination Response. | ||||
| The sender and receiver of a Session Termination message MUST release | ||||
| all resources allocated for the session, and MUST eliminate all | ||||
| destinations in the information base accessible via the peer | ||||
| represented by the session. No Destination Down messages | ||||
| (Section 8.11) are sent. | ||||
| Any messages received after either sending or receiving a Session | ||||
| Termination message MUST be silently ignored. | ||||
| Once Session Termination messages have been exchanged, or timed out, | ||||
| the device MUST terminate the TCP connection to the peer, and return | ||||
| to the relevant initial state. | ||||
| 6. DLEP Signal and Message Processing | ||||
| Most messages in DLEP are members of a request/response pair, e.g. | ||||
| Destination Up message (Section 8.9), and Destination Up Response | ||||
| message (Section 8.10). These pairs of messages define an implicit | ||||
| transaction model for both session messages and destination messages. | ||||
| 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 8.3) and Session Initialization Response message | ||||
| (Section 8.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. | ||||
| 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 9.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 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 | ||||
| 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 | ||||
| Destination Down Response (Section 8.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 down | ||||
| 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 | ||||
| DLEP defines two protocol units used in two different ways: Signals | ||||
| and Messages. Signals are only used in the Discovery mechanism and | ||||
| are carried in UDP datagrams. Messages are used bi-directionally | ||||
| over a TCP connection between two peers, in the Session | ||||
| Initialization, In-Session and Session Termination states. | ||||
| Both signals and messages consist of a header followed by an | ||||
| unordered list of data items. Headers consist of Type and Length | ||||
| information, while data items are encoded as TLV (Type-Length-Value) | ||||
| structures. In this document, the data items following a signal or | ||||
| message header are described as being 'contained in' the signal or | ||||
| 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 | |||
| signal, 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 declared by the type in the signal | the definition of the signal or message declared by the type in the | |||
| header. | header. | |||
| If an unrecognized, or unexpected signal is received, or a received | All integers in header fields and values MUST be in network byte- | |||
| signal contains unrecognized, invalid, or disallowed duplicate data | order. | |||
| items, the receiving peer MUST terminate the session by issuing a | ||||
| Peer Termination signal (Section 7.7) with a Status data item | ||||
| (Section 8.2) containing the most relevant status code, and then | ||||
| close the TCP connection. | ||||
| 6.1. DLEP Signal Header | 7.1. DLEP Signal Header | |||
| The DLEP signal header contains the following fields: | The DLEP signal header contains the following fields: | |||
| 0 1 2 | 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 | 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Signal Type | Length | | | 'D' | 'L' | 'E' | 'P' | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Signal Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 3: DLEP Signal Header | Figure 3: DLEP Signal Header | |||
| Signal Type: An 8-bit unsigned integer containing one of the DLEP | "DLEP": Every signal MUST start with the characters: U+44, U+4C, | |||
| Signal Type values defined in this document. | U+45, U+50. | |||
| Length: The length, expressed as a 16-bit unsigned integer, of all | Signal Type: An 16-bit unsigned integer containing one of the DLEP | |||
| of the DLEP data items associated with this signal. This length | Signal/Message Type values defined in this document. | |||
| does not include the length of the header itself | ||||
| The DLEP Signal Header is immediately followed by one or more DLEP | Length: The length in octets, expressed as a 16-bit unsigned | |||
| integer, of all of the DLEP data items associated with this | ||||
| signal. This length SHALL NOT include the length of the header | ||||
| itself. | ||||
| 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. | |||
| 6.2. DLEP Generic Data Item | If an unrecognized, or unexpected signal is received, or a received | |||
| signal contains unrecognized, invalid, or disallowed duplicate data | ||||
| items, the receiving peer MUST ignore the signal. | ||||
| 7.2. DLEP Message Header | ||||
| The DLEP message header 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Message Type | Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 4: DLEP Message Header | ||||
| Message Type: An 16-bit unsigned integer containing one of the DLEP | ||||
| Signal/Message Type values defined in this document. | ||||
| Length: The length in octets, expressed as a 16-bit unsigned | ||||
| integer, of all of the DLEP data items associated with this | ||||
| message. This length SHALL NOT include the length of the header | ||||
| itself. | ||||
| The DLEP message header is immediately followed by one or more DLEP | ||||
| data items, encoded in TLVs, as defined in this document. | ||||
| If an unrecognized, or unexpected message is received, or a received | ||||
| message contains unrecognized, invalid, or disallowed duplicate data | ||||
| items, the receiving peer MUST issue a Session Termination message | ||||
| (Section 8.7) with a Status data item (Section 9.1) containing the | ||||
| most relevant status code, and transition to the Session Termination | ||||
| state. | ||||
| 7.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 | Value... | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Value... : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: DLEP Generic Data Item | Figure 5: DLEP Generic Data Item | |||
| Data Item Type: An 8-bit unsigned integer field specifying the data | Data Item Type: An 16-bit unsigned integer field specifying the type | |||
| item being sent. | of data item being sent. | |||
| Length: The length, expressed as an 8-bit unsigned integer, of the | Length: The length in octets, expressed as an 16-bit unsigned | |||
| value field of the data item. | integer, of the value field of the data item. This length SHALL | |||
| NOT include the length of the header itself. | ||||
| Value: A field of length <Length> which contains data specific to a | Value: A field of <Length> octets, which contains data specific to a | |||
| particular data item. | particular data item. | |||
| 7. DLEP Signals | 8. 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 structure. Therefore, in the following descriptions of | header, and all DLEP messages begin with the DLEP message header. | |||
| specific signals, this header structure is assumed, and will not be | Therefore, in the following descriptions of specific signals and | |||
| replicated. | messages, this header is assumed, and will not be replicated. | |||
| Following is the set of MANDATORY signals that must be recognized by | Following is the set of core signals and messages that MUST be | |||
| a DLEP compliant implementation. As mentioned before, not all | recognized by a DLEP compliant implementation. As mentioned before, | |||
| signals may be used during a session, but an implementation MUST | not all messages may be used during a session, but an implementation | |||
| correctly process these signals when received. | MUST correctly process these messages when received. | |||
| The mandatory DLEP signals are: | The core DLEP signals and messages are: | |||
| +--------+--------------------+----------------------+--------------+ | +-------------+-----------------------------------------------------+ | |||
| | Signal | Description | Mnemonic | Section | | | Type Code | Description | | |||
| +--------+--------------------+----------------------+--------------+ | +-------------+-----------------------------------------------------+ | |||
| | TBD | Peer Discovery | DLEP_PEER_DISCOVERY | Section 7.1 | | | 0 | Reserved | | |||
| | TBD | Peer Offer | DLEP_PEER_OFFER | Section 7.2 | | | 1 | Peer Discovery signal (Section 8.1) | | |||
| | TBD | Peer | DLEP_PEER_INIT | Section 7.3 | | | 2 | Peer Offer signal (Section 8.2) | | |||
| | | Initialization | | | | | 3 | Session Initialization message (Section 8.3) | | |||
| | TBD | Peer | DLEP_PEER_INIT_ACK | Section 7.4 | | | 4 | Session Initialization Response message (Section | | |||
| | | Initialization ACK | | | | | | 8.4) | | |||
| | TBD | Peer Update | DLEP_PEER_UPDATE | Section 7.5 | | | 5 | Session Update message (Section 8.5) | | |||
| | TBD | Peer Update ACK | DLEP_PEER_UPDATE_ACK | Section 7.6 | | | 6 | Session Update Response message (Section 8.6) | | |||
| | TBD | Peer Termination | DLEP_PEER_TERM | Section 7.7 | | | 7 | Session Termination message (Section 8.7) | | |||
| | TBD | Peer Termination | DLEP_PEER_TERM_ACK | Section 7.8 | | | 8 | Session Termination Response message (Section 8.8) | | |||
| | | ACK | | | | | 9 | Destination Up message (Section 8.9) | | |||
| | TBD | Destination Up | DLEP_DEST_UP | Section 7.9 | | | 10 | Destination Up Response message (Section 8.10) | | |||
| | TBD | Destination Up ACK | DLEP_DEST_UP_ACK | Section 7.10 | | | 11 | Destination Down message (Section 8.11) | | |||
| | TBD | Destination Down | DLEP_DEST_DOWN | Section 7.11 | | | 12 | Destination Down Response message (Section 8.12) | | |||
| | TBD | Destination Down | DLEP_DEST_DOWN_ACK | Section 7.12 | | | 13 | Destination Update message (Section 8.13) | | |||
| | | ACK | | | | | 14 | Heartbeat message (Section 8.14) | | |||
| | TBD | Destination Update | DLEP_DEST_UPDATE | Section 7.13 | | | 15 | Link Characteristics Request message (Section 8.15) | | |||
| | TBD | Heartbeat | DLEP_PEER_HEARTBEAT | Section 7.14 | | | 16 | Link Characteristics Response message (Section | | |||
| | TBD | Link | DLEP_LINK_CHAR_REQ | Section 7.15 | | | | 8.16) | | |||
| | | Characteristics | | | | | 17-65519 | Reserved for future extensions | | |||
| | | Request | | | | | 65520-65534 | Private Use. Available for experiments | | |||
| | TBD | Link | DLEP_LINK_CHAR_ACK | Section 7.16 | | | 65535 | Reserved | | |||
| | | Characteristics | | | | +-------------+-----------------------------------------------------+ | |||
| | | ACK | | | | ||||
| +--------+--------------------+----------------------+--------------+ | ||||
| Table 1: DLEP Signal Values | Table 1: DLEP Signal/Message types | |||
| 7.1. Peer Discovery Signal | 8.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 7.2) is | modems in the network. The Peer Offer signal (Section 8.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 retry heuristics in cases where it is determined | |||
| the Peer Discovery signal has timed out. | 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 DLEP_PEER_DISCOVERY in Table 1. | signal header is set to 1, from Table 1. | |||
| The Peer Discovery signal MUST contain the following data item: | ||||
| o DLEP Version (Section 8.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 8.5) | o Peer Type (Section 9.4) | |||
| 7.2. Peer Offer Signal | 8.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 7.1). | valid Peer Discovery signal (Section 8.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 DLEP_PEER_OFFER in Table 1. | header is set to 2, from Table 1. | |||
| The Peer Offer signal MUST contain the following data item: | ||||
| o DLEP Version (Section 8.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 8.5) | o Peer Type (Section 9.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 8.3) | o IPv4 Connection Point (Section 9.2) | |||
| o IPv6 Connection Point (Section 8.4) | o IPv6 Connection Point (Section 9.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 11.7) to establish the TCP connection. | number (Section 12.7) to establish the TCP connection. | |||
| 7.3. Peer Initialization Signal | 8.3. Session Initialization Message | |||
| A Peer Initialization signal MUST be sent by a router as the first | A Session Initialization message MUST be sent by a router as the | |||
| signal of the DLEP TCP session. It is sent by the router after a TCP | first message of the DLEP TCP session. It is sent by the router | |||
| connect to an address/port combination that was obtained either via | after a TCP connect to an address/port combination that was obtained | |||
| 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 Peer | Extensions Supported data item does not exist in a Session | |||
| Initialization signal, the receiver of the signal MUST conclude that | Initialization message, the receiver of the message MUST conclude | |||
| there is NO support for extensions in the sender. | that there is no support for extensions in the sender. | |||
| If any experimental signals or data items are used by the | ||||
| implementation, they MUST be enumerated in one or more Experimental | ||||
| Definition data items. If there are no Experimental Definition data | ||||
| items in a Peer Initialization signal, the receiver of the signal | ||||
| MUST conclude that no experimental definitions are in use by the | ||||
| sender. | ||||
| Implementations supporting the Heartbeat Interval (Section 8.6) | Implementations supporting the Heartbeat Interval (Section 9.5) | |||
| should understand that heartbeats are not fully established until | should understand that heartbeats are not fully established until | |||
| receipt of Peer Initialization ACK Signal (Section 7.4), and should | receipt of Session Initialization Response message (Section 8.4), and | |||
| therefore implement their own timeout and retry heuristics for this | should therefore implement their own timeout and retry heuristics for | |||
| signal. | this message. | |||
| To construct a Peer Initialization signal, the Signal Type value in | To construct a Session Initialization message, the Message Type value | |||
| the signal header is set to DLEP_PEER_INIT in Table 1. | in the message header is set to 3, from Table 1. | |||
| The Peer Initialization signal 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 DLEP Version (Section 8.1) | o Heartbeat Interval (Section 9.5) | |||
| o Heartbeat Interval (Section 8.6) | ||||
| The Peer Initialization signal 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 8.5) | o Peer Type (Section 9.4) | |||
| o Extensions Supported (Section 8.7) | ||||
| The Peer Initialization signal MAY contain one or more of any of the | ||||
| following data items, with different values: | ||||
| o Experimental Definition (Section 8.8) | o Extensions Supported (Section 9.6) | |||
| A Peer Initialization signal MUST be acknowledged by the receiver | A Session Initialization message MUST be acknowledged by the receiver | |||
| issuing a Peer Initialization ACK signal (Section 7.4). | issuing a Session Initialization Response message (Section 8.4). | |||
| 7.4. Peer Initialization ACK Signal | 8.4. Session Initialization Response Message | |||
| A Peer Initialization ACK signal MUST be sent in response to a | A Session Initialization Response message MUST be sent in response to | |||
| received Peer Initialization signal (Section 7.3). The Peer | a received Session Initialization message (Section 8.3). The Session | |||
| Initialization ACK signal completes the DLEP session establishment; | Initialization Response message completes the DLEP session | |||
| the sender of the signal should transition to an 'in-session' state | establishment; the sender of the message should transition to the In- | |||
| when the signal is sent, and the receiver should transition to the | Session state when the message is sent, and the receiver should | |||
| 'in-session' state upon receipt (and successful parsing) of an | transition to the In-Session state upon receipt (and successful | |||
| acceptable Peer Initialization ACK signal. | parsing) of an acceptable Session Initialization Response message. | |||
| All supported metric data items MUST be included in the Peer | All supported metric data items MUST be included in the Session | |||
| Initialization ACK signal, 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 | |||
| DLEP signal containing a metric data item NOT included in the Peer | DLEP message containing a metric data item not included in the | |||
| Initialization ACK signal MUST be treated as an error, resulting in | Session Initialization Response message MUST be treated as an error, | |||
| the termination of the DLEP session between router and modem. | resulting in the termination of the DLEP session between router and | |||
| modem. | ||||
| If any optional extensions are supported by the modem, they MUST be | If any optional extensions are supported by the modem, they MUST be | |||
| enumerated in the Extensions Supported data item. If an Extensions | enumerated in the Extensions Supported data item. If an Extensions | |||
| Supported data item does NOT exist in a Peer Initialization ACK | Supported data item does not exist in a Session Initialization | |||
| signal, the receiver of the signal MUST conclude that there is NO | Response message, the receiver of the message MUST conclude that | |||
| support for extensions in the sender. | there is no support for extensions in the sender. | |||
| If any experimental signals or data items are used by the | ||||
| implementation, they MUST be enumerated in one or more Experimental | ||||
| Definition data items. If there are no Experimental Definition data | ||||
| items in a Peer Initialization ACK signal, the receiver of the signal | ||||
| MUST conclude that NO experimental definitions are in use by the | ||||
| sender. | ||||
| After the Peer Initialization/Peer Initialization ACK signals have | After the Session Initialization/Session Initialization Response | |||
| been successfully exchanged, implementations MUST only use extensions | messages have been successfully exchanged, implementations MUST only | |||
| and experimental definitions that are supported by BOTH peers. | use extensions that are supported by BOTH peers. | |||
| To construct a Peer Initialization ACK signal, the Signal Type value | To construct a Session Initialization Response message, the Message | |||
| in the signal header is set to DLEP_PEER_INIT_ACK in Table 1. | Type value in the message header is set to 4, from Table 1. | |||
| The Peer Initialization ACK signal MUST contain one of each of the | The Session Initialization Response message MUST contain one of each | |||
| following data items: | of the following data items: | |||
| o DLEP Version (Section 8.1) | o Heartbeat Interval (Section 9.5) | |||
| o Heartbeat Interval (Section 8.6) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Maximum Data Rate (Receive) (Section 8.14) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Maximum Data Rate (Transmit) (Section 8.15) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Current Data Rate (Receive) (Section 8.16) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Current Data Rate (Transmit) (Section 8.17) | o Latency (Section 9.16) | |||
| o Latency (Section 8.18) | The Session Initialization Response message MUST contain one of each | |||
| The Peer Initialization ACK signal MUST contain one of each of the | of the following data items, if the data item will be used during 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 8.19) | o Resources (Receive) (Section 9.17) | |||
| o Resources (Transmit) (Section 8.20) | ||||
| o Relative Link Quality (Receive) (Section 8.21) | o Resources (Transmit) (Section 9.18) | |||
| o Relative Link Quality (Transmit) (Section 8.22) | o Relative Link Quality (Receive) (Section 9.19) | |||
| The Peer Initialization ACK signal MAY contain one of each of the | o Relative Link Quality (Transmit) (Section 9.20) | |||
| following data items: | ||||
| o Status (Section 8.2) | The Session Initialization Response message MAY contain one of each | |||
| of the following data items: | ||||
| o Peer Type (Section 8.5) | o Status (Section 9.1) | |||
| o Extensions Supported (Section 8.7) | o Peer Type (Section 9.4) | |||
| The Peer Initialization ACK signal MAY contain one or more of any of | o Extensions Supported (Section 9.6) | |||
| the following data items, with different values: | ||||
| o Experimental Definition (Section 8.8) | A receiver of a Session Initialization Response message without a | |||
| Status data item MUST behave as if a Status data item with code | ||||
| 'Success' had been received. | ||||
| 7.5. Peer Update Signal | 8.5. Session Update Message | |||
| A Peer Update signal 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 | |||
| Peer Update signal to its attached DLEP modems. Also, for example, a | Session Update message to its attached DLEP modems. Also, for | |||
| 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 Peer Update signal to its | destinations MAY reflect that change via a Session Update message to | |||
| 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 | |||
| signal (Section 7.13) to their local routers with the new (or | message (Section 8.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 Peer Update | SHOULD silently parse and ignore Layer 3 data items. The Session | |||
| Signal MUST be acknowledged with a Peer Update ACK signal | Update message MUST be acknowledged with a Session Update Response | |||
| (Section 7.6). | message (Section 8.6). | |||
| If metrics are supplied with the Peer Update signal (e.g., Maximum | If metrics are supplied with the Session Update message (e.g., | |||
| Data Rate), these metrics are considered to be modem-wide, and | Maximum Data Rate), these metrics are considered to be modem-wide, | |||
| therefore MUST be applied to all destinations in the information base | and therefore MUST be applied to all destinations in the information | |||
| associated with the router/modem session. | base associated with the router/modem session. | |||
| Supporting implementations are free to employ heuristics to | Supporting implementations are free to employ heuristics to | |||
| retransmit Peer Update signals. The sending of Peer Update signals | retransmit Session Update messages. The sending of Session Update | |||
| for Layer 3 address changes SHOULD cease when either participant | messages for Layer 3 address changes SHOULD cease when either | |||
| (router or modem) determines that the other implementation does NOT | participant (router or modem) determines that the other | |||
| support Layer 3 address tracking. | implementation does not support Layer 3 address tracking. | |||
| To construct a Peer Update signal, the Signal Type value in the | ||||
| signal header is set to DLEP_PEER_UPDATE in Table 1. | ||||
| The Peer Update signal MAY contain one of each of the following data | ||||
| items: | ||||
| o Maximum Data Rate (Receive) (Section 8.14) | ||||
| o Maximum Data Rate (Transmit) (Section 8.15) | To construct a Session Update message, the Message Type value in the | |||
| message header is set to 5, from Table 1. | ||||
| o Current Data Rate (Receive) (Section 8.16) | The Session Update message MAY contain one of each of the following | |||
| data items: | ||||
| o Current Data Rate (Transmit) (Section 8.17) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Latency (Section 8.18) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Resources (Receive) (Section 8.19) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Resources (Transmit) (Section 8.20) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Relative Link Quality (Receive) (Section 8.21) | o Latency (Section 9.16) | |||
| o Relative Link Quality (Transmit) (Section 8.22) | o Resources (Receive) (Section 9.17) | |||
| o Resources (Transmit) (Section 9.18) | ||||
| The Peer Update signal MAY contain one or more of the following data | o Relative Link Quality (Receive) (Section 9.19) | |||
| items, with different values: | ||||
| o IPv4 Address (Section 8.10) | o Relative Link Quality (Transmit) (Section 9.20) | |||
| o IPv6 Address (Section 8.11) | The Session Update message MAY contain one or more of the following | |||
| data items, with different values: | ||||
| A Peer Update signal MUST be acknowledged by the receiver issuing a | o IPv4 Address (Section 9.8) | |||
| Peer Update ACK signal (Section 7.6). | ||||
| 7.6. Peer Update ACK Signal | o IPv6 Address (Section 9.9) | |||
| A Peer Update ACK signal MUST be sent by implementations to indicate | A Session Update message MUST be acknowledged by the receiver issuing | |||
| whether a Peer Update signal (Section 7.5) was successfully received. | a Session Update Response message (Section 8.6). | |||
| To construct a Peer Update ACK signal, the Signal Type value in the | 8.6. Session Update Response Message | |||
| signal header is set to DLEP_PEER_UPDATE_ACK in Table 1. | ||||
| The Peer Update ACK signal MAY contain one of each of the following | A Session Update Response message MUST be sent by implementations to | |||
| data items: | indicate whether a Session Update message (Section 8.5) was | |||
| successfully received. | ||||
| o Status (Section 8.2) | To construct a Session Update Response message, the Message Type | |||
| value in the message header is set to 6, from Table 1. | ||||
| A receiver of a Peer Update ACK signal without a Status data item | The Session Update Response message MAY contain one of each of the | |||
| MUST behave as if a Status data item with code 'Success' had been | following data items: | |||
| received. | ||||
| 7.7. Peer Termination Signal | o Status (Section 9.1) | |||
| A Peer Termination signal MUST be sent by a DLEP participant when the | A receiver of a Session Update Response message without a Status data | |||
| router/modem session needs to be terminated. Implementations | item MUST behave as if a Status data item with code 'Success' had | |||
| receiving a Peer Termination signal MUST send a Peer Termination ACK | been received. | |||
| signal (Section 7.8) to confirm the termination process. | ||||
| The receiver of a Peer Termination signal MUST release all resources | 8.7. Session Termination Message | |||
| allocated for the router/modem session, and MUST eliminate all | ||||
| destinations in the information base accessible via the router/modem | ||||
| pair represented by the session. Router and modem state machines are | ||||
| returned to the 'discovery' state. No Destination Down signals | ||||
| (Section 7.11) are sent. | ||||
| The sender of a Peer Termination signal is free to define its | A Session Termination message MUST be sent by a DLEP participant when | |||
| heuristics in event of a timeout. It may resend the Peer Termination | the router/modem session needs to be terminated. | |||
| or free resources and return to the 'discovery' state. | ||||
| To construct a Peer Termination signal, the Signal Type value in the | To construct a Session Termination message, the Message Type value in | |||
| signal header is set to DLEP_PEER_TERM in Table 1. | the message header is set to 7, from Table 1. | |||
| The Peer Termination signal MAY contain one of each of the following | The Session Termination message MAY contain one of each of the | |||
| data items: | following data items: | |||
| o Status (Section 8.2) | o Status (Section 9.1) | |||
| A receiver of a Session Termination message without a Status data | ||||
| item MUST behave as if a Status of 'Unknown reason for Session | ||||
| Termination' has been received. | ||||
| A receiver of a Peer Termination signal without a Status data item | A Session Termination message MUST be acknowledged by the receiver | |||
| MUST behave as if a Status of 'Unknown reason for Peer Termination' | issuing a Session Termination Response message (Section 8.8). | |||
| has been received. | ||||
| A Peer Termination signal MUST be acknowledged by the receiver | 8.8. Session Termination Response Message | |||
| issuing a Peer Termination ACK signal (Section 7.8). | ||||
| 7.8. Peer Termination ACK Signal | A Session Termination Response message MUST be sent by a DLEP peer in | |||
| response to a received Session Termination message (Section 8.7). | ||||
| A Peer Termination ACK signal MUST be sent by a DLEP peer in response | Receipt of a Session Termination Response message completes the | |||
| to a received Peer Termination signal (Section 7.7). Receipt of a | teardown of the router/modem session. | |||
| Peer Termination ACK signal completes the teardown of the router/ | ||||
| modem session. | ||||
| To construct a Peer Termination ACK signal, the Signal Type value in | To construct a Session Termination Response message, the Message Type | |||
| the signal header is set to DLEP_PEER_TERM_ACK in Table 1. | value in the message header is set to 8, from Table 1. | |||
| The Peer Termination ACK signal MAY contain one of each of the | The Session Termination Response message MAY contain one of each of | |||
| following data items: | the following data items: | |||
| o Status (Section 8.2) | o Status (Section 9.1) | |||
| A receiver of a Peer Termination ACK signal without a Status data | A receiver of a Session Termination Response message without a Status | |||
| item MUST behave as if a Status data item with status code 'Success', | data item MUST behave as if a Status data item with status code | |||
| implying graceful termination, had been received. | 'Success', implying graceful termination, had been received. | |||
| 7.9. Destination Up Signal | 8.9. Destination Up Message | |||
| A Destination Up signal 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 signal MUST be acknowledged by the receiver issuing | A Destination Up message MUST be acknowledged by the receiver issuing | |||
| a Destination Up ACK signal (Section 7.10). The sender of the | a Destination Up Response message (Section 8.10). The sender of the | |||
| Destination Up signal is free to define its retry heuristics in event | Destination Up message is free to define its retry heuristics in | |||
| of a timeout. When a Destination Up signal is received and | event of a timeout. When a Destination Up message is received and | |||
| successfully processed, the receiver should add knowledge of the new | successfully processed, the receiver should add knowledge of the new | |||
| destination to its information base, indicating that the destination | destination to its information base, indicating that the destination | |||
| is accessible via the modem/router pair. | is accessible via the modem/router pair. | |||
| To construct a Destination Up signal, the Signal Type value in the | To construct a Destination Up message, the Message Type value in the | |||
| signal header is set to DLEP_DEST_UP in Table 1. | message header is set to 9, from Table 1. | |||
| The Destination Up signal 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 8.9) | o MAC Address (Section 9.7) | |||
| The Destination Up signal 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 8.14) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Maximum Data Rate (Transmit) (Section 8.15) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Current Data Rate (Receive) (Section 8.16) | ||||
| o Current Data Rate (Transmit) (Section 8.17) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Latency (Section 8.18) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Resources (Receive) (Section 8.19) | o Latency (Section 9.16) | |||
| o Resources (Transmit) (Section 8.20) | o Resources (Receive) (Section 9.17) | |||
| o Relative Link Quality (Receive) (Section 8.21) | o Resources (Transmit) (Section 9.18) | |||
| o Relative Link Quality (Transmit) (Section 8.22) | o Relative Link Quality (Receive) (Section 9.19) | |||
| The Destination Up signal MAY contain one or more of the following | o Relative Link Quality (Transmit) (Section 9.20) | |||
| 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 8.10) | o IPv4 Address (Section 9.8) | |||
| o IPv6 Address (Section 8.11) | o IPv6 Address (Section 9.9) | |||
| o IPv4 Attached Subnet (Section 8.12) | o IPv4 Attached Subnet (Section 9.10) | |||
| o IPv6 Attached Subnet (Section 8.13) | o IPv6 Attached Subnet (Section 9.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 signal, 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. | |||
| 7.10. Destination Up ACK Signal | 8.10. Destination Up Response Message | |||
| A DLEP participant MUST send a Destination Up ACK signal to indicate | A DLEP participant MUST send a Destination Up Response message to | |||
| whether a Destination Up signal (Section 7.9) was successfully | indicate whether a Destination Up message (Section 8.9) was | |||
| processed. | successfully processed. | |||
| To construct a Destination Up ACK signal, the Signal Type value in | To construct a Destination Up Response message, the Message Type | |||
| the signal header is set to DLEP_DEST_UP_ACK in Table 1. | value in the message header is set to 10, from Table 1. | |||
| The Destination Up ACK signal 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 8.9) | o MAC Address (Section 9.7) | |||
| The Destination Up ACK signal 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 8.2) | o Status (Section 9.1) | |||
| A receiver of a Destination Up ACK signal without a Status data item | ||||
| MUST behave as if a Status data item with status code 'Success' had | ||||
| been received. Implementations are free to define retry heuristics | ||||
| when receiving a Destination Up ACK signal indicating an error. | ||||
| 7.11. Destination Down Signal | 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' | ||||
| had been received. | ||||
| A DLEP peer MUST send a Destination Down signal to report when a | 8.11. Destination Down Message | |||
| 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 ACK signal (Section 7.12) MUST be sent | reachable. A Destination Down Response message (Section 8.12) MUST | |||
| by the recipient of a Destination Down signal to confirm that the | be sent by the recipient of a Destination Down message to confirm | |||
| relevant data has been removed from the information base. The sender | that the relevant data has been removed from the information base. | |||
| of the Destination Down signal is free to define its retry heuristics | The sender of the Destination Down message is free to define its | |||
| in event of a timeout. | retry heuristics in event of a timeout. | |||
| To construct a Destination Down signal, the Signal Type value in the | To construct a Destination Down message, the Message Type value in | |||
| signal header is set to DLEP_DEST_DOWN in Table 1. | the message header is set to 11, from Table 1. | |||
| The Destination Down signal MUST contain one of each of the following | The Destination Down message MUST contain one of each of the | |||
| data items: | following data items: | |||
| o MAC Address (Section 8.9) | o MAC Address (Section 9.7) | |||
| 7.12. Destination Down ACK Signal | 8.12. Destination Down Response Message | |||
| A DLEP participant MUST send a Destination Down ACK signal to | A DLEP participant MUST send a Destination Down Response message to | |||
| indicate whether a received Destination Down signal (Section 7.11) | indicate whether a received Destination Down message (Section 8.11) | |||
| was successfully processed. If successfully processed, the sender of | was successfully processed. If successfully processed, the sender of | |||
| the ACK MUST have removed all entries in the information base that | the Response MUST have removed all entries in the information base | |||
| pertain to the referenced destination. | that pertain to the referenced destination. | |||
| To construct a Destination Down ACK signal, the Signal Type value in | To construct a Destination Down Response message, the Message Type | |||
| the signal header is set to DLEP_DEST_DOWN_ACK in Table 1. | value in the message header is set to 12, from Table 1. | |||
| The Destination Down ACK signal 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 8.9) | o MAC Address (Section 9.7) | |||
| The Destination Down Response message MAY contain one of each of the | ||||
| The Destination Down ACK signal MAY contain one of each of the | ||||
| following data items: | following data items: | |||
| o Status (Section 8.2) | o Status (Section 9.1) | |||
| A receiver of a Destination Down ACK signal without a Status data | A receiver of a Destination Down Response message without a Status | |||
| item MUST behave as if a Status data item with status code 'Success' | data item MUST behave as if a Status data item with status code | |||
| had been received. Implementations are free to define retry | 'Success' had been received. | |||
| heuristics when receiving a Destination Down ACK signal indicating an | ||||
| error. | ||||
| 7.13. Destination Update Signal | 8.13. Destination Update Message | |||
| A DLEP participant SHOULD send the Destination Update signal 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 signal 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 signal, the Signal Type value in | To construct a Destination Update message, the Message Type value in | |||
| the signal header is set to DLEP_DEST_UPDATE in Table 1. | the message header is set to 13, from Table 1. | |||
| The Destination Update signal 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 8.9) | o MAC Address (Section 9.7) | |||
| The Destination Update signal 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 8.14) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Maximum Data Rate (Transmit) (Section 8.15) | ||||
| o Current Data Rate (Receive) (Section 8.16) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Current Data Rate (Transmit) (Section 8.17) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Latency (Section 8.18) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Resources (Receive) (Section 8.19) | o Latency (Section 9.16) | |||
| o Resources (Transmit) (Section 8.20) | o Resources (Receive) (Section 9.17) | |||
| o Relative Link Quality (Receive) (Section 8.21) | o Resources (Transmit) (Section 9.18) | |||
| o Relative Link Quality (Transmit) (Section 8.22) | o Relative Link Quality (Receive) (Section 9.19) | |||
| The Destination Update signal MAY contain one or more of the | o Relative Link Quality (Transmit) (Section 9.20) | |||
| 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 8.10) | o IPv4 Address (Section 9.8) | |||
| o IPv6 Address (Section 8.11) | ||||
| o IPv4 Attached Subnet (Section 8.12) | ||||
| o IPv6 Attached Subnet (Section 8.13) | o IPv6 Address (Section 9.9) | |||
| 7.14. Heartbeat Signal | 8.14. Heartbeat Message | |||
| A Heartbeat signal 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 Peer Initialization signal (Section 7.3) or Peer Initialization | the Session Initialization message (Section 8.3) or Session | |||
| ACK signal (Section 7.4). Note that implementations setting the | Initialization Response message (Section 8.4). | |||
| Heartbeat Interval to 0 effectively set the interval to an infinite | ||||
| value, therefore, in those cases, this signal SHOULD NOT be sent. | ||||
| The signal is used by participants to detect when a DLEP session | Note that implementations setting the Heartbeat Interval to 0 | |||
| effectively sets the interval to an infinite value, therefore this | ||||
| message SHOULD NOT be sent. | ||||
| 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 signal, the Signal Type value in the signal | To construct a Heartbeat message, the Message Type value in the | |||
| header is set to DLEP_PEER_HEARTBEAT in Table 1. | message header is set to 14, from Table 1. | |||
| There are no valid data items for the Heartbeat signal. | There are no valid data items for the Heartbeat message. | |||
| 7.15. Link Characteristics Request Signal | 8.15. Link Characteristics Request Message | |||
| The Link Characteristics Request signal 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 signal 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 ACK signal (Section 7.16) is required to | Link Characteristics Response message (Section 8.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 ACK) from its partner. | request metrics (via the Link Characteristics Response) from its | |||
| partner. | ||||
| The sender of a Link Characteristics Request signal MAY attach a | ||||
| timer to the request using the Link Characteristics ACK Timer data | ||||
| item. If a Link Characteristics ACK signal 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 | The sender of a Link Characteristics Request message MAY attach a | |||
| a timeout. | timer to the request using the Link Characteristics Response Timer | |||
| 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 signal, the Signal Type | To construct a Link Characteristics Request message, the Message Type | |||
| value in the signal header is set to DLEP_LINK_CHAR_REQ in Table 1. | value in the message header is set to 15, from Table 1. | |||
| The Link Characteristics Request signal 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 8.9) | o MAC Address (Section 9.7) | |||
| The Link Characteristics Request signal 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 ACK Timer (Section 8.23) | o Link Characteristics Response Timer (Section 9.21) | |||
| o Current Data Rate (Receive) (Section 8.16) | o Current Data Rate (Receive) (Section 9.14) | |||
| o Current Data Rate (Transmit) (Section 8.17) | o Current Data Rate (Transmit) (Section 9.15) | |||
| o Latency (Section 8.18) | o Latency (Section 9.16) | |||
| 7.16. Link Characteristics ACK Signal | 8.16. Link Characteristics Response Message | |||
| A DLEP participant MUST send a Link Characteristics ACK signal to | A DLEP participant MUST send a Link Characteristics Response message | |||
| indicate whether a received Link Characteristics Request signal | to indicate whether a received Link Characteristics Request message | |||
| (Section 7.15) was successfully processed. The Link Characteristics | (Section 8.15) was successfully processed. The Link Characteristics | |||
| ACK signal SHOULD contain a complete set of metric data items, and | Response message SHOULD contain a complete set of metric data items, | |||
| MUST contain a full set (i.e. those declared in the Peer | and MUST contain a full set (i.e. those declared in the Session | |||
| Initialization ACK signal (Section 7.4)), if metrics were requested | Initialization Response message (Section 8.4)), if metrics were | |||
| by only including a MAC address data item. It MUST contain the same | requested by only including a MAC address data item. It MUST contain | |||
| metric types as the request. The values in the metric data items in | the same metric types as the request. The values in the metric data | |||
| the Link Characteristics ACK signal MUST reflect the link | items in the Link Characteristics Response message MUST reflect the | |||
| 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' MUST be added to the signal. | code 'Request Denied', see Table 3, MUST be added to the message. | |||
| To construct a Link Characteristics Request ACK signal, the Signal | ||||
| Type value in the signal header is set to DLEP_LINK_CHAR_ACK in | ||||
| Table 1. | ||||
| The Link Characteristics ACK signal MUST contain one of each of the | ||||
| following data items: | ||||
| o MAC Address (Section 8.9) | ||||
| The Link Characteristics ACK signal SHOULD contain one of each of the | ||||
| following data items: | ||||
| o Maximum Data Rate (Receive) (Section 8.14) | ||||
| o Maximum Data Rate (Transmit) (Section 8.15) | ||||
| o Current Data Rate (Receive) (Section 8.16) | ||||
| o Current Data Rate (Transmit) (Section 8.17) | ||||
| o Latency (Section 8.18) | To construct a Link Characteristics Response message, the Message | |||
| Type value in the message header is set to 16, from Table 1. | ||||
| The Link Characteristics ACK signal MAY contain one of each of the | The Link Characteristics Response message MUST contain one of each of | |||
| following data items: | the following data items: | |||
| o Resources (Receive) (Section 8.19) | o MAC Address (Section 9.7) | |||
| o Resources (Transmit) (Section 8.20) | The Link Characteristics Response message SHOULD contain one of each | |||
| of the following data items: | ||||
| o Relative Link Quality (Receive) (Section 8.21) | o Maximum Data Rate (Receive) (Section 9.12) | |||
| o Relative Link Quality (Transmit) (Section 8.22) | o Maximum Data Rate (Transmit) (Section 9.13) | |||
| o Status (Section 8.2) | o Current Data Rate (Receive) (Section 9.14) | |||
| A receiver of a Link Characteristics ACK signal without a Status data | o Current Data Rate (Transmit) (Section 9.15) | |||
| item MUST behave as if a Status data item with status code 'Success' | ||||
| had been received. | ||||
| 8. DLEP Data Items | o Latency (Section 9.16) | |||
| Following is the list of MANDATORY data items that must be recognized | The Link Characteristics Response message MAY contain one of each of | |||
| by a DLEP compliant implementation. As mentioned before, not all | the following data items: | |||
| data items need be used during a session, but an implementation MUST | ||||
| correctly process these data items when correctly associated with a | ||||
| signal. | ||||
| The DLEP data items are: | o Resources (Receive) (Section 9.17) | |||
| +------------+--------------------------------------+---------------+ | o Resources (Transmit) (Section 9.18) | |||
| | Data Item | Description | Section | | ||||
| +------------+--------------------------------------+---------------+ | ||||
| | TBD | DLEP Version | Section 8.1 | | ||||
| | TBD | Status | Section 8.2 | | ||||
| | TBD | IPv4 Connection Point | Section 8.3 | | ||||
| | TBD | IPv6 Connection Point | Section 8.4 | | ||||
| | TBD | Peer Type | Section 8.5 | | ||||
| | TBD | Heartbeat Interval | Section 8.6 | | ||||
| | TBD | Extensions Supported | Section 8.7 | | ||||
| | TBD | Experimental Definition | Section 8.8 | | ||||
| | TBD | MAC Address | Section 8.9 | | ||||
| | TBD | IPv4 Address | Section 8.10 | | ||||
| | TBD | IPv6 Address | Section 8.11 | | ||||
| | TBD | IPv4 Attached Subnet | Section 8.12 | | ||||
| | TBD | IPv6 Attached Subnet | Section 8.13 | | ||||
| | TBD | Maximum Data Rate (Receive) MDRR) | Section 8.14 | | ||||
| | TBD | Maximum Data Rate (Transmit) (MDRT) | Section 8.15 | | ||||
| | TBD | Current Data Rate (Receive) (CDRR) | Section 8.16 | | ||||
| | TBD | Current Data Rate (Transmit) (CDRT) | Section 8.17 | | ||||
| | TBD | Latency | Section 8.18 | | ||||
| | TBD | Resources (Receive) (RESR) | Section 8.19 | | ||||
| | TBD | Resources (Transmit) (REST) | Section 8.20 | | ||||
| | TBD | Relative Link Quality (Receive) | Section 8.21 | | ||||
| | | (RLQR) | | | ||||
| | TBD | Relative Link Quality (Transmit) | Section 8.22 | | ||||
| | | (RLQT) | | | ||||
| | TBD | Link Characteristics ACK Timer | Section 8.23 | | ||||
| +------------+--------------------------------------+---------------+ | ||||
| Table 2: DLEP Data Item Values | o Relative Link Quality (Receive) (Section 9.19) | |||
| 8.1. DLEP Version | o Relative Link Quality (Transmit) (Section 9.20) | |||
| The DLEP Version data item MUST appear in the Peer Discovery | o Status (Section 9.1) | |||
| (Section 7.1), Peer Offer (Section 7.2), Peer Initialization | ||||
| (Section 7.3) and Peer Initialization ACK (Section 7.4) signals. The | ||||
| Version data item is used to indicate the version of the protocol | ||||
| running in the originator. A DLEP implementation SHOULD use this | ||||
| information to decide if the potential session partner is running at | ||||
| a supported level. | ||||
| The DLEP Version data item contains the following fields: | A receiver of a Link Characteristics Response message without a | |||
| Status data item MUST behave as if a Status data item with status | ||||
| code 'Success' had been received. | ||||
| 0 1 2 3 | 9. DLEP Data Items | |||
| 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 | Major Version | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Minor Version | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Following is the list of core data items that MUST be recognized by a | |||
| DLEP compliant implementation. As mentioned before, not all data | ||||
| items need be used during a session, but an implementation MUST | ||||
| correctly process these data items when correctly associated with a | ||||
| signal or message. | ||||
| Length: 4 | The core DLEP data items are: | |||
| Major Version: The major version of the DLEP protocol, expressed as | +-------------+-----------------------------------------------------+ | |||
| an 16-bit unsigned integer. | | Type Code | Description | | |||
| +-------------+-----------------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Status (Section 9.1) | | ||||
| | 2 | IPv4 Connection Point (Section 9.2) | | ||||
| | 3 | IPv6 Connection Point (Section 9.3) | | ||||
| | 4 | Peer Type (Section 9.4) | | ||||
| | 5 | Heartbeat Interval (Section 9.5) | | ||||
| | 6 | Extensions Supported (Section 9.6) | | ||||
| | 7 | MAC Address (Section 9.7) | | ||||
| | 8 | IPv4 Address (Section 9.8) | | ||||
| | 9 | IPv6 Address (Section 9.9) | | ||||
| | 10 | IPv4 Attached Subnet (Section 9.10) | | ||||
| | 11 | IPv6 Attached Subnet (Section 9.11) | | ||||
| | 12 | Maximum Data Rate (Receive) MDRR) (Section 9.12) | | ||||
| | 13 | Maximum Data Rate (Transmit) (MDRT) (Section 9.13) | | ||||
| | 14 | Current Data Rate (Receive) (CDRR) (Section 9.14) | | ||||
| | 15 | Current Data Rate (Transmit) (CDRT) (Section 9.15) | | ||||
| | 16 | Latency (Section 9.16) | | ||||
| | 17 | Resources (Receive) (RESR) (Section 9.17) | | ||||
| | 18 | Resources (Transmit) (REST) (Section 9.18) | | ||||
| | 19 | Relative Link Quality (Receive) (RLQR) (Section | | ||||
| | | 9.19) | | ||||
| | 20 | Relative Link Quality (Transmit) (RLQT) (Section | | ||||
| | | 9.20) | | ||||
| | 21 | Link Characteristics Response Timer (Section 9.21) | | ||||
| | 22-24 | Credit Windowing (Section 10) extension data items | | ||||
| | 25-65407 | Reserved for future extensions | | ||||
| | 65408-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| Minor Version: The minor version of the DLEP protocol, expressed as | Table 2: DLEP Data Item types | |||
| an 16-bit unsigned integer. | ||||
| Support of this draft is indicated by setting the Major Version to | 9.1. Status | |||
| '1', and the Minor Version to '0' (i.e. Version 1.0). | ||||
| 8.2. Status | The Status data item MAY appear in the Session Initialization | |||
| Response (Section 8.4), Session Termination (Section 8.7), Session | ||||
| Termination Response (Section 8.8), Session Update Response | ||||
| (Section 8.6), Destination Up Response (Section 8.10), Destination | ||||
| Down Response (Section 8.12) and Link Characteristics Response | ||||
| (Section 8.16) messages. | ||||
| The Status data item MAY appear in the Peer Initialization ACK | For the Session Termination message (Section 8.7), the Status data | |||
| (Section 7.4), Peer Termination (Section 7.7), Peer Termination ACK | item indicates a reason for the termination. For all acknowledgement | |||
| (Section 7.8), Peer Update ACK (Section 7.6), Destination Up ACK | messages, the Status data item is used to indicate the success or | |||
| (Section 7.10), Destination Down ACK (Section 7.12) and Link | failure of the previously received message. | |||
| Characteristics ACK (Section 7.16) signals. For the Peer Termination | ||||
| Signal (Section 7.7), the Status data item indicates a reason for the | ||||
| termination. For all acknowledgement signals, the Status data item | ||||
| is used to indicate the success or failure of the previously received | ||||
| signal. | ||||
| 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. | |||
| The Status data item contains the following fields: | The Status 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 | Code | Text... | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Code | Text... : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 + Length of text | ||||
| Status Code: One of the codes defined below. | Length: 1 + Length of text, in octets | |||
| Text: UTF-8 encoded string, describing an problem, used for | Status Code: One of the codes defined in Table 3 below. | |||
| implementation defined purposes. Since this field is used for a | ||||
| description of the problem, implementations SHOULD limit | Text: UTF-8 encoded string, describing the cause, used for | |||
| characters in this field to printable characters. Implementations | implementation defined purposes. Since this field is used for | |||
| receiving this data item SHOULD check for printable characters in | description, implementations SHOULD limit characters in this field | |||
| the field. | to printable characters. Implementations receiving this data item | |||
| SHOULD check for printable characters in the field. | ||||
| An implementation MUST NOT assume the Text field is NUL-terminated. | An implementation MUST NOT assume the Text field is NUL-terminated. | |||
| +----------------+-------+------------------------------------------+ | +-------------+---------+-----------+-------------------------------+ | |||
| | Status Code | Value | Reason | | | Status Code | Value | Failure | Reason | | |||
| +----------------+-------+------------------------------------------+ | | | | Mode | | | |||
| | Success | 0 | The signal was processed successfully. | | +-------------+---------+-----------+-------------------------------+ | |||
| | Unknown Signal | TBD | The signal was not recognized by the | | | Success | 0 | Success | The message was processed | | |||
| | | | implementation. | | | | | | successfully. | | |||
| | Invalid Data | TBD | One or more data items in the signal are | | | Unknown | 1 | Terminate | The message was not | | |||
| | | | invalid, unexpected or duplicated. | | | Message | | | recognized by the | | |||
| | Unexpected | TBD | The signal was not expected while the | | | | | | implementation. | | |||
| | Signal | | machine was in this state, e.g., a Peer | | | Unexpected | 2 | Terminate | The message was not expected | | |||
| | | | Initialization signal after session | | | Message | | | while the device was in the | | |||
| | | | establishment. | | | | | | current state, e.g., a | | |||
| | Request Denied | TBD | The receiver has not completed the | | | | | | Session Initialization | | |||
| | | | request. | | | | | | message (Section 8.3) in the | | |||
| | Timed Out | TBD | The request could not be completed in | | | | | | In-Session state. | | |||
| | | | the time allowed. | | | Invalid | 3 | Terminate | One or more data items in the | | |||
| | Invalid | TBD | The destination provided in the signal | | | Data | | | message are invalid, | | |||
| | Destination | | does not match a previously announced | | | | | | unexpected or incorrectly | | |||
| | | | destination. For example, in the Link | | | | | | duplicated. | | |||
| | | | Characteristic Request ACK signal | | | Invalid | 4 | Terminate | The destination provided in | | |||
| | | | (Section 7.16). | | | Destination | | | the message does not match a | | |||
| +----------------+-------+------------------------------------------+ | | | | | previously announced | | |||
| | | | | destination. For example, in | | ||||
| | | | | the Link Characteristic | | ||||
| | | | | Response message (Section | | ||||
| | | | | 8.16). | | ||||
| | <Reserved> | 5-90 | Terminate | Reserved for future | | ||||
| | | | | extensions. | | ||||
| | <Private | 91-99 | Terminate | Available for experiments. | | ||||
| | Use> | | | | | ||||
| | Not | 100 | Continue | The receiver is not | | ||||
| | Interested | | | interested in this message | | ||||
| | | | | subject, e.g. a Destination | | ||||
| | | | | Up Response message (Section | | ||||
| | | | | 8.10) to indicate no further | | ||||
| | | | | messages about the | | ||||
| | | | | destination. | | ||||
| | Request | 101 | Continue | The receiver refuses to | | ||||
| | Denied | | | complete the request. | | ||||
| | Timed Out | 102 | Continue | The operation could not be | | ||||
| | | | | completed in the time | | ||||
| | | | | allowed. | | ||||
| | <Reserved> | 103-243 | Continue | Reserved for future | | ||||
| | | | | extensions. | | ||||
| | <Private | 244-254 | Continue | Available for experiments. | | ||||
| | Use> | | | | | ||||
| | <Reserved> | 255 | Terminate | Reserved. | | ||||
| +-------------+---------+-----------+-------------------------------+ | ||||
| 8.3. IPv4 Connection Point | Table 3: DLEP Status Codes | |||
| A failure mode of 'Terminate' indicates that the session MUST be | ||||
| terminated after sending a response containing the status code. A | ||||
| failure mode of 'Continue' indicates that the session SHOULD continue | ||||
| as normal. | ||||
| 9.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 7.2). The IPv4 Connection Point data item indicates | signal (Section 8.2). | |||
| the IPv4 address and, optionally, the TCP port number on the DLEP | ||||
| modem available for connections. If provided, the receiver MUST use | The IPv4 Connection Point data item indicates the IPv4 address and, | |||
| this information to perform the TCP connect to the DLEP server. | optionally, the TCP port number on the DLEP modem available for | |||
| connections. If provided, the receiver MUST use this information to | ||||
| 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 | IPv4 Address | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Address | TCP Port Number (optional) | | | IPv4 Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | TCP Port Number (optional) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 4 (or 6 if TCP Port included) | Length: 4 (or 6 if TCP Port included) | |||
| 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 6, the port number specified MUST be used to | If the Length field is 6, 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 4, the receiver MUST use the DLEP well-known port | the Length field is 4, the receiver MUST use the DLEP well-known port | |||
| number (Section 11.7) to establish the TCP connection. | number (Section 12.7) to establish the TCP connection. | |||
| 8.4. IPv6 Connection Point | 9.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 7.2). The IPv6 Connection Point data item indicates | signal (Section 8.2). | |||
| the IPv6 address and, optionally, the TCP port number on the DLEP | ||||
| modem available for connections. If provided, the receiver MUST use | The IPv6 Connection Point data item indicates the IPv6 address and, | |||
| this information to perform the TCP connect to the DLEP server. | optionally, the TCP port number on the DLEP modem available for | |||
| connections. If provided, the receiver MUST use this information to | ||||
| 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 | IPv6 Address | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | TCP Port Number (optional) | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | TCP Port Number (optional) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 16 (or 18 if TCP Port included) | Length: 16 (or 18 if TCP Port included) | |||
| 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 18, the port number specified MUST be used to | If the Length field is 18, 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 16, the receiver MUST use the DLEP well-known | the Length field is 16, the receiver MUST use the DLEP well-known | |||
| port number (Section 11.7) to establish the TCP connection. | port number (Section 12.7) to establish the TCP connection. | |||
| 8.5. Peer Type | 9.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 7.1), Peer Offer (Section 7.2), Peer Initialization | (Section 8.1) and Peer Offer (Section 8.2) signals, and the Session | |||
| (Section 7.3) and Peer Initialization ACK (Section 7.4) signals. The | Initialization (Section 8.3) and Session Initialization Response | |||
| Peer Type data item is used by the router and modem to give | (Section 8.4) messages. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length | Peer Type | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Peer Type... : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: Length of peer type string. | 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 implmentations 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. | |||
| 8.6. Heartbeat Interval | 9.5. Heartbeat Interval | |||
| The Heartbeat Interval data item MUST appear in both the Peer | The Heartbeat Interval data item MUST appear in both the Session | |||
| Initialization (Section 7.3) and Peer Initialization ACK | Initialization (Section 8.3) and Session Initialization Response | |||
| (Section 7.4) signals to indicate the Heartbeat timeout window to be | (Section 8.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 | |||
| signals (Section 7.14). By specifying an Interval value of 0, | messages (Section 8.14). By specifying an Interval value of 0, | |||
| implementations MAY indicate the desire to disable Heartbeat signals | 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 strongly recommended that implementations use non-0 timer | it is RECOMMENDED that implementations use non-0 timer values. | |||
| values. Implementations MUST implement heuristics such that DLEP | ||||
| signals sent/received reset the timer interval. | ||||
| A DLEP session will be considered inactive, and MUST be torn down, | ||||
| via the Peer Termination procedure, by an implementation detecting | ||||
| that two (2) Heartbeat intervals have transpired without receipt of | ||||
| any DLEP signals. | ||||
| 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 | Interval | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Interval | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 2 | Length: 2 | |||
| Interval: 0 = Do not use heartbeats on this DLEP session. Non-zero | ||||
| = Interval, in seconds, for heartbeat messages. | ||||
| Interval: 0 = Do NOT use heartbeats on this DLEP session. Non-zero | 9.6. Extensions Supported | |||
| = Interval, in seconds, for heartbeat signals. | ||||
| 8.7. Extensions Supported | The Extensions Supported data item MAY be used in both the Session | |||
| Initialization (Section 8.3) and Session Initialization Response | ||||
| (Section 8.4) messages. | ||||
| The Extensions Supported data item MAY be used in both the Peer | The Extensions Supported data item is used by the router and modem to | |||
| Initialization and Peer Initialization ACK signals. The Extensions | negotiate additional optional functionality they are willing to | |||
| Supported data item is used by the router and modem to negotiate | support. The Extensions List is a concatenation of the types of each | |||
| additional optional functionality they are willing to support. The | supported extension, found in the IANA DLEP Extensions repository. | |||
| Extensions List is a concatenation of the types of each supported | Each Extension Type definition includes which additional signals and | |||
| extension, found in the IANA DLEP Extensions repository. | data-items are supported. | |||
| The Extensions Supported data item contains the following fields: | The Extensions Supported 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 | Extensions List | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Extensions List... | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: Number of Extensions supported. | Length: Length of the extensions list in octets. This is twice (2x) | |||
| the number of extensions. | ||||
| Extension List: A list of extensions supported, identified by their | Extension List: A list of extensions supported, identified by their | |||
| 1-octet value as listed in the extensions registry. | 2-octet value as listed in the extensions registry. | |||
| 8.8. Experimental Definition | 9.7. MAC Address | |||
| The Experimental Definition data item MAY be used in both the Peer | The MAC address data item MUST appear in all destination-oriented | |||
| Initialization and Peer Initialization ACK signals. The Experimental | messages (i.e., Destination Up (Section 8.9), Destination Up Response | |||
| Definition data item is used by the router and modem to indicate the | (Section 8.10), Destination Down (Section 8.11), Destination Down | |||
| formats to be used for experimental signals and data items for the | Response (Section 8.12), Destination Update (Section 8.13), Link | |||
| given peer session. The formats are identified by using a string | Characteristics Request (Section 8.15), and Link Characteristics | |||
| that matches the 'name' given to the experiment. | Response (Section 8.16)). | |||
| The Experimental Definition item contains the following fields: | 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 | ||||
| virtual destination, and MAY be expressed in EUI-48 or EUI-64 format. | ||||
| Examples of a virtual destination would be a multicast MAC address, | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length | Experiment Name | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address : | ||||
| Data Item Type: TBD | ||||
| Length: Length of the name string for the Experiment. | ||||
| Experiment Name: UTF-8 encoded string, containing the name of the | ||||
| experiment being implemented. | ||||
| An implementation receiving this data item MUST compare the received | ||||
| string to a list of experiments that it supports. | ||||
| An implementation MUST NOT assume the Experiment Name field is NUL- | ||||
| terminated. | ||||
| 8.9. MAC Address | ||||
| The MAC address data item MUST appear in all destination-oriented | ||||
| signals (i.e., Destination Up (Section 7.9), Destination Up ACK | ||||
| (Section 7.10), Destination Down (Section 7.11), Destination Down ACK | ||||
| (Section 7.12), Destination Update (Section 7.13), Link | ||||
| Characteristics Request (Section 7.15), and Link Characteristics ACK | ||||
| (Section 7.16)). 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 virtual destination, and MAY be expressed in EUI-48 or | ||||
| EUI-64 format. Examples of a virtual destination would be a | ||||
| multicast MAC address, or the broadcast MAC (FF:FF:FF:FF:FF:FF). | ||||
| 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 | MAC Address | | : MAC Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address | | : MAC Address : (if EUI-64 used) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.10. IPv4 Address | 9.8. IPv4 Address | |||
| The IPv4 Address data item MAY appear in the Peer Update | The IPv4 Address data item MAY appear in the Session Update | |||
| (Section 7.5), Destination Up (Section 7.9) and Destination Update | (Section 8.5), Destination Up (Section 8.9) and Destination Update | |||
| (Section 7.13) signals. When included in Destination signals, this | (Section 8.13) messages. | |||
| data item contains the IPv4 address of the destination. When | ||||
| included in the Peer Update signal, this data item contains the IPv4 | When included in Destination messages, this data item contains the | |||
| address of the peer. In either case, the data item also contains an | IPv4 address of the destination. When included in the Session Update | |||
| indication of whether this is a new or existing address, or is a | message, this data item contains the IPv4 address of the peer. In | |||
| deletion of a previously known address. | 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 | ||||
| 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 | Add/Drop | IPv4 Address | | | Data Item Type | Length | | |||
| | | | Indicator | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Address | | | Add/Drop | IPv4 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Indicator | : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : IPv4 | | ||||
| : Address | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 5 | Length: 5 | |||
| Add/Drop: Value indicating whether this is a new or existing address | 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 | (1), or a withdrawal of an address (0). Values other than 0 or 1 | |||
| MUST be considered as invalid. | 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. | |||
| 8.11. IPv6 Address | 9.9. IPv6 Address | |||
| The IPv6 Address data item MAY appear in the Peer Update | The IPv6 Address data item MAY appear in the Session Update | |||
| (Section 7.5), Destination Up (Section 7.9) and Destination Update | (Section 8.5), Destination Up (Section 8.9) and Destination Update | |||
| (Section 7.13) signals. When included in Destination signals, this | (Section 8.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 Peer Update signal, this data item contains the IPv6 | included in the Session Update message, this data item contains the | |||
| address of the peer. In either case, the data item also contains an | IPv6 address of the peer. In either case, the data item also | |||
| indication of whether this is a new or existing address, or is a | contains an indication of whether this is a new or existing address, | |||
| 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 | Add/Drop | IPv6 Address | | | Data Item Type | Length | | |||
| | | | Indicator | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | | Add/Drop | IPv6 Address : | |||
| | Indicator | : | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | : IPv6 Address : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| : IPv6 Address | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 17 | Length: 17 | |||
| Add/Drop: Value indicating whether this is a new or existing address | 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 | (1), or a withdrawal of an address (0). Values other than 0 or 1 | |||
| MUST be considered as invalid. | MUST be considered as invalid. | |||
| IPv6 Address: IPv6 Address of the destination or peer. | IPv6 Address: IPv6 Address of the destination or peer. | |||
| 8.12. IPv4 Attached Subnet | 9.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, or 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. The | |||
| IPv4 Attached Subnet data item MAY appear in the Destination Up | IPv4 Attached Subnet data item MAY appear in the Destination Up | |||
| (Section 7.9) and Destination Update (Section 7.13) signals. Once an | (Section 8.9) message. Once an IPv4 Subnet has been declared on a | |||
| IPv4 Subnet has been declared on a device, the declaration can NOT be | device, the declaration SHALL NOT be withdrawn without withdrawing | |||
| withdrawn without terminating the destination (via the Destination | the destination (via the Destination Down message (Section 8.11)) and | |||
| Down signal (Section 7.11)) and re-issuing the Destination Up signal. | 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 | IPv4 Attached Subnet | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Attached Subnet | Prefix Len. | | | IPv4 Attached Subnet | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Prefix Len. | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 5 | Length: 5 | |||
| 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 speficied range MUST be considered as | |||
| invalid. | invalid. | |||
| 8.13. IPv6 Attached Subnet | 9.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 7.9) and Destination Update (Section 7.13) signals. As in | (Section 8.9) message. As in the case of the IPv4 attached Subnet | |||
| the case of the IPv4 attached Subnet data item above, once an IPv6 | data item above, once an IPv6 attached subnet has been declared, it | |||
| attached subnet has been declared, it can NOT be withdrawn without | SHALL NOT be withdrawn without withdrawing the destination (via the | |||
| terminating the destination (via the Destination Down signal | Destination Down message (Section 8.11)) and re-issuing the | |||
| (Section 7.11)) and re-issuing the Destination Up signal. | 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 | IPv6 Attached Subnet | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet | | | IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet | | : IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet | | : IPv6 Attached Subnet : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet | Prefix Len. | | : IPv6 Attached Subnet | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Prefix Len. | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 17 | Length: 17 | |||
| IPv4 Subnet: The IPv6 subnet reachable at the destination. | IPv4 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. | |||
| 8.14. Maximum Data Rate (Receive) | 9.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 | |||
| Peer Initialization ACK signal (Section 7.4), and MAY appear in the | Session Initialization Response message (Section 8.4), and MAY appear | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | in the Session Update (Section 8.5), Destination Up (Section 8.9), | |||
| Update (Section 7.13) and Link Characteristics ACK (Section 7.16) | Destination Update (Section 8.13) and Link Characteristics Response | |||
| signals to indicate the maximum theoretical data rate, in bits per | (Section 8.16) messages to indicate the maximum theoretical data | |||
| second, that can be achieved while receiving data on the link. | rate, in bits per second, that can be achieved while receiving data | |||
| 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 | MDRR (bps) | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) | | | MDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : MDRR (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.15. Maximum Data Rate (Transmit) | 9.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 | |||
| Peer Initialization ACK signal (Section 7.4), and MAY appear in the | Session Initialization Response message (Section 8.4), and MAY appear | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | in the Session Update (Section 8.5), Destination Up (Section 8.9), | |||
| Update (Section 7.13) and Link Characteristics ACK (Section 7.16) | Destination Update (Section 8.13) and Link Characteristics Response | |||
| signals to indicate the maximum theoretical data rate, in bits per | (Section 8.16) messages to indicate the maximum theoretical data | |||
| second, that can be achieved while transmitting data on the link. | rate, in bits per second, that can be achieved while transmitting | |||
| 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 | MDRT (bps) | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRT (bps) | | | MDRT (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : MDRT (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRT (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.16. Current Data Rate (Receive) | 9.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 | |||
| Peer Initialization ACK signal (Section 7.4), and MAY appear in the | Session Initialization Response message (Section 8.4), and MAY appear | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | in the Session Update (Section 8.5), Destination Up (Section 8.9), | |||
| Update (Section 7.13) and Link Characteristics ACK (Section 7.16) | Destination Update (Section 8.13) and Link Characteristics Response | |||
| signals to indicate the rate at which the link is currently operating | (Section 8.16) messages to indicate the rate at which the link is | |||
| for receiving traffic. | currently operating for receiving traffic. | |||
| When used in the Link Characteristics Request signal (Section 7.15), | When used in the Link Characteristics Request message (Section 8.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 | CDRR (bps) | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRR (bps) | | | CDRR (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : CDRR (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRR (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.17. Current Data Rate (Transmit) | 9.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 | |||
| Peer Initialization ACK signal (Section 7.4), and MAY appear in the | Session Initialization Response message (Section 8.4), and MAY appear | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | in the Session Update (Section 8.5), Destination Up (Section 8.9), | |||
| Update (Section 7.13), and Link Characteristics ACK (Section 7.16) | Destination Update (Section 8.13), and Link Characteristics Response | |||
| signals to indicate the rate at which the link is currently operating | (Section 8.16) messages to indicate the rate at which the link is | |||
| for transmitting traffic. | currently operating for transmitting traffic. | |||
| When used in the Link Characteristics Request signal (Section 7.15), | When used in the Link Characteristics Request message (Section 8.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 | CDRT (bps) | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRT (bps) | | | CDRT (bps) : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : CDRT (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRT (bps) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.18. Latency | 9.16. Latency | |||
| The Latency data item MUST appear in the Peer Initialization ACK | The Latency data item MUST appear in the Session Initialization | |||
| signal (Section 7.4), and MAY appear in the Peer Update | Response message (Section 8.4), and MAY appear in the Session Update | |||
| (Section 7.5), Destination Up (Section 7.9), Destination Update | (Section 8.5), Destination Up (Section 8.9), Destination Update | |||
| (Section 7.13), and Link Characteristics ACK (Section 7.16) signals | (Section 8.13), and Link Characteristics Response (Section 8.16) | |||
| to indicate the amount of latency, in microseconds, on the link. | messages to indicate the amount of latency, in microseconds, on the | |||
| link. | ||||
| When used in the Link Characteristics Request signal (Section 7.15), | When used in the Link Characteristics Request message (Section 8.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 | Latency | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Latency (cont.) | | | Latency : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Latency | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Latency (cont.) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.19. Resources (Receive) | 9.17. Resources (Receive) | |||
| The Resources (Receive) (RESR) data item MAY appear in the Peer | The Resources (Receive) (RESR) data item MAY appear in the Session | |||
| Initialization ACK signal (Section 7.4), Peer Update (Section 7.5), | Initialization Response message (Section 8.4), Session Update | |||
| Destination Up (Section 7.9), Destination Update (Section 7.13) and | (Section 8.5), Destination Up (Section 8.9), Destination Update | |||
| Link Characteristics ACK (Section 7.16) signals to indicate the | (Section 8.13) and Link Characteristics Response (Section 8.16) | |||
| amount of resources for reception (with 0 meaning 'no resources | messages to indicate the amount of resources for reception (with 0 | |||
| available', and 100 meaning 'all resources available') at the | meaning 'no resources available', and 100 meaning 'all resources | |||
| destination. The list of resources that might be considered is | available') at the destination. The list of resources that might be | |||
| beyond the scope of this document, and is left to implementations to | considered is beyond the scope of this document, and is left 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 | 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 | 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 | RESR | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RESR | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.20. Resources (Transmit) | 9.18. Resources (Transmit) | |||
| The Resources (Transmit) (REST) data item MAY appear in the Peer | The Resources (Transmit) (REST) data item MAY appear in the Session | |||
| Initialization ACK signal (Section 7.4), Peer Update (Section 7.5), | Initialization Response message (Section 8.4), Session Update | |||
| Destination Up (Section 7.9), Destination Update (Section 7.13) and | (Section 8.5), Destination Up (Section 8.9), Destination Update | |||
| Link Characteristics ACK (Section 7.16) signals to indicate the | (Section 8.13) and Link Characteristics Response (Section 8.16) | |||
| amount of resources for transmission (with 0 meaning 'no resources | messages to indicate the amount of resources for transmission (with 0 | |||
| available', and 100 meaning 'all resources available') at the | meaning 'no resources available', and 100 meaning 'all resources | |||
| destination. The list of resources that might be considered is | available') at the destination. The list of resources that might be | |||
| beyond the scope of this document, and is left to implementations to | considered is beyond the scope of this document, and is left 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 | 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 | 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 | REST | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | REST | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.21. Relative Link Quality (Receive) | 9.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 Peer Initialization ACK signal (Section 7.4), Peer Update | the Session Initialization Response message (Section 8.4), Session | |||
| (Section 7.5), Destination Up (Section 7.9), Destination Update | Update (Section 8.5), Destination Up (Section 8.9), Destination | |||
| (Section 7.13) and Link Characteristics ACK (Section 7.16) signals to | Update (Section 8.13) and Link Characteristics Response | |||
| indicate the quality of the link for receiving data. | (Section 8.16) messages to indicate the quality of the link for | |||
| 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 | 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 | 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 | RLQR | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQR | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.22. Relative Link Quality (Transmit) | 9.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 Peer Initialization ACK signal (Section 7.4), Peer Update | the Session Initialization Response message (Section 8.4), Session | |||
| (Section 7.5), Destination Up (Section 7.9), Destination Update | Update (Section 8.5), Destination Up (Section 8.9), Destination | |||
| (Section 7.13) and Link Characteristics ACK (Section 7.16) signals to | Update (Section 8.13) and Link Characteristics Response | |||
| indicate the quality of the link for transmitting data. | (Section 8.16) messages to indicate the quality of the link for | |||
| 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 | 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 | 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 | RLQT | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | RLQT | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| 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. | |||
| 8.23. Link Characteristics ACK Timer | 9.21. Link Characteristics Response Timer | |||
| The Link Characteristics ACK Timer data item MAY appear in the Link | The Link Characteristics Response Timer data item MAY appear in the | |||
| Characteristics Request signal (Section 7.15) to indicate the desired | Link Characteristics Request message (Section 8.15) to indicate the | |||
| number of seconds the sender will wait for a response to the request. | desired number of seconds the sender will wait for a response to the | |||
| If this data item is omitted, implementations supporting the Link | request. If this data item is omitted, implementations supporting | |||
| Characteristics Request SHOULD choose a default value. | the Link Characteristics Request SHOULD choose a default value. | |||
| The Link Characteristics ACK Timer data item contains the following | The Link Characteristics Response Timer data item contains the | |||
| fields: | following fields: | |||
| 0 1 2 | 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 | 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 | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Interval | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 1 | |||
| Interval: 0 = Do NOT use timeouts for this Link Characteristics | Interval: 0 = Do not use timeouts for this Link Characteristics | |||
| request. Non-zero = Interval, in seconds, to wait before | request. Non-zero = Interval, in seconds, to wait before | |||
| considering this Link Characteristics Request lost. | considering this Link Characteristics Request lost. | |||
| 9. Credit-Windowing | 10. Credit-Windowing | |||
| DLEP includes an OPTIONAL Protocol Extension for a credit-windowing | DLEP includes an optional Protocol Extension for a credit-windowing | |||
| scheme analogous to the one documented in [RFC5578]. In this scheme, | scheme analogous to the one documented in [RFC5578]. In this scheme, | |||
| traffic between the router and modem is treated as two unidirectional | data plane traffic flowing between the router and modem is controlled | |||
| windows. This document identifies these windows as the 'Modem | by the availability of credits. Credits are expressed as if two | |||
| Receive Window' (MRW), and the 'Router Receive Window' (RRW). | 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 OPTIONAL credit-windowing extension is used, credits MUST be | If the credit-windowing extension is used, credits MUST be granted by | |||
| granted by the receiver on a given window - that is, on the 'Modem | the receiver on a given window - that is, on the 'Modem Receive | |||
| Receive Window' (MRW), the modem is responsible for granting credits | Window' (MRW), the modem is responsible for granting credits to the | |||
| to the router, allowing it (the router) to send data to the modem. | router, allowing it (the router) to send data plane traffic to the | |||
| Likewise, the router is responsible for granting credits on the RRW, | modem. Likewise, the router is responsible for granting credits on | |||
| which allows the modem to send data to the router. | the RRW, which allows the modem to send data plane traffic to the | |||
| router. | ||||
| Credits are managed on a destination-specific basis; that is, | Credits are managed on a destination-specific basis; that is, | |||
| separate credit counts are maintained for each destination requiring | separate credit counts are maintained for each destination requiring | |||
| the service. Credits do not apply to the DLEP session that exists | the service. Credits do not apply to the DLEP session that exists | |||
| between routers and modems. | 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 | Credits represent the number of octets, or an increment in the number | |||
| of octets, that MAY be sent on the given window. When the number of | of octets, that MAY be sent on the given window. When sending data | |||
| available credits reaches 0, a sender MUST stop sending data, until | plane traffic to a credit-enabled peer, the sender MUST decriment the | |||
| additional credits are supplied. | 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 | If a peer is able to support the optional credit-windowing extension | |||
| then it MUST include an Extensions Supported data item (Section 8.7) | then it MUST include an Extensions Supported data item (Section 9.6) | |||
| including the value DLEP_EXT_CREDITS (value TBD) in the appropriate | including the value 1, from Table 4, in the appropriate Session | |||
| Peer Initialization or Peer Initialization ACK signal. | Initialization (Section 8.3) and Session Initialization Response | |||
| (Section 8.4) message. | ||||
| 9.1. Credit-Windowing Signals | 10.1. Credit-Windowing Messages | |||
| The credit-windowing extension introduces no additional DLEP signals. | The credit-windowing extension introduces no additional DLEP signals | |||
| However, if a peer has advertised during session initialization that | or messages. However, if a peer has advertised during session | |||
| it supports the credit-windowing extension then the following DLEP | initialization that it supports the credit-windowing extension then | |||
| signals MAY contain additional credit-windowing data items: | the following DLEP messages MAY contain additional credit-windowing | |||
| data items: | ||||
| 9.1.1. Destination Up Signal | 10.1.1. Destination Up Message | |||
| The Destination Up signal 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 Credit Grant (Section 9.2.1) | o Credit Grant (Section 10.2.1) | |||
| If the Destination Up signal does not contain the Credit Grant data | If the Destination Up message does not contain the Credit Grant data | |||
| item, credits MUST NOT be used for that destination. | item, credits MUST NOT be used for that destination. | |||
| 9.1.2. Destination Up ACK Signal | 10.1.2. Destination Up Response Message | |||
| If the corresponding Destination Up signal contained the Credit Grant | ||||
| data item, the Destination Up ACK signal MUST contain one of each of | ||||
| the following data items: | ||||
| o Credit Window Status (Section 9.2.2) | 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: | ||||
| 9.1.3. Destination Update Signal | o Credit Window Status (Section 10.2.2) | |||
| If the corresponding Destination Up signal contained the Credit Grant | 10.1.3. Destination Update Message | |||
| data item, the Destination Update signal MUST contain one of each of | ||||
| the following data items: | ||||
| o Credit Window Status (Section 9.2.2) | 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: | ||||
| If the corresponding Destination Up signal contained the Credit Grant | o Credit Window Status (Section 10.2.2) | |||
| data item, the Destination Update signal MAY contain one of each of | If the corresponding Destination Up message contained the Credit | |||
| the following data items: | Grant data item, the Destination Update message MAY contain one of | |||
| each of the following data items: | ||||
| o Credit Grant (Section 9.2.1) | o Credit Grant (Section 10.2.1) | |||
| o Credit Request (Section 9.2.3) | o Credit Request (Section 10.2.3) | |||
| 9.2. Credit-Windowing Data Items | 10.2. Credit-Windowing Data Items | |||
| The credit-windowing extension introduces 3 additional data items. | The credit-windowing extension introduces 3 additional data items. | |||
| If a peer has advertised during session initialization that it | If a peer has advertised during session initialization that it | |||
| supports the credit-windowing extension then it MUST correctly | supports the credit-windowing extension then it MUST correctly | |||
| process the following data items. | process the following data items: | |||
| +------------+-----------------------+----------------+ | +------------+------------------------------------------------------+ | |||
| | Data Item | Description | Section | | | Type Code | Description | | |||
| +------------+-----------------------+----------------+ | +------------+------------------------------------------------------+ | |||
| | TBD | Credit Grant | Section 9.2.1 | | | 23 | Credit Grant (Section 10.2.1) | | |||
| | TBD | Credit Window Status | Section 9.2.2 | | | 24 | Credit Window Status (Section 10.2.2) | | |||
| | TBD | Credit Request | Section 9.2.3 | | | 25 | Credit Request (Section 10.2.3) | | |||
| +------------+-----------------------+----------------+ | +------------+------------------------------------------------------+ | |||
| 9.2.1. Credit Grant | 10.2.1. Credit Grant | |||
| The Credit Grant data item is sent from a DLEP participant to 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 | an increment to credits on a window. The Credit Grant data item MAY | |||
| appear in the Destination Up (Section 7.9) and Destination Update | appear in the Destination Up (Section 8.9) and Destination Update | |||
| (Section 7.13) signals. The value in a Credit Grant data item | (Section 8.13) messages. The value in a Credit Grant data item | |||
| represents an increment to be added to any existing credits available | represents an increment to be added to any existing credits available | |||
| on the window. Upon successful receipt and processing of a Credit | on the window. Upon successful receipt and processing of a Credit | |||
| Grant data item, the receiver MUST respond with a signal containing a | Grant data item, the receiver MUST respond with a message containing | |||
| Credit Window Status data item to report the updated aggregate values | a Credit Window Status data item to report the updated aggregate | |||
| for synchronization purposes, and if initializing a new credit | values for synchronization purposes, and if initializing a new credit | |||
| window, granting initial credits. | window, granting initial credits. | |||
| In the Destination Up signal, when credits are desired, the | When DLEP peers desire to employ the credit-windowing extension, the | |||
| originating peer MUST set the initial credit value of the window it | peer originating the Destination Up message MUST supply an initial, | |||
| controls (i.e., the Modem Receive Window, or Router Receive Window) | non-zero value as the credit increment of the receive window it | |||
| to an initial, non-zero value. If the receiver of a Destination Up | controls (i.e., the Modem Recive Window, or Router Receive Window). | |||
| signal with a Credit Grant data item supports credits, the receiver | When receiving a Credit Grant data item on a Destination Up | |||
| MUST either reject the use of credits for this destination, via a | (#msg_dest_up) message, the receiver MUST take one of the following | |||
| Destination Up ACK response containing a Status data item | actions: | |||
| (Section 8.2) with a status code of 'Request Denied', or set the | ||||
| initial value from the data contained in the Credit Window Status | 1. Reject the use of credits for this destination, via the | |||
| data item. If the initialization completes successfully, the | Destination Up Response message containing a Status data item | |||
| receiver MUST respond to the Destination Up signal with a Destination | (Section 9.1) with a status code of 'Request Denied'. (See | |||
| Up ACK signal that contains a Credit Window Status data item, | Table 3), or | |||
| initializing its receive window. | ||||
| 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: | The Credit Grant 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 | Credit Increment | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Credit Increment | | | Credit Increment : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Credit Increment | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Credit Increment | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 8 | Length: 8 | |||
| Reserved: A 64-bit unsigned integer representing the additional | Reserved: A 64-bit unsigned integer representing the additional | |||
| credits to be assigned to the credit window. | credits to be assigned to the credit window. | |||
| Since credits can only be granted by the receiver on a window, the | 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 | applicable credit window (either the MRW or the RRW) is derived from | |||
| the sender of the grant. The Credit Increment MUST NOT cause the | the sender of the grant. The Credit Increment MUST NOT cause the | |||
| window to overflow; if this condition occurs, implementations MUST | window to overflow; if this condition occurs, implementations MUST | |||
| set the credit window to the maximum value contained in a 64-bit | set the credit window to the maximum value contained in a 64-bit | |||
| quantity. | quantity. | |||
| 9.2.2. Credit Window Status | 10.2.2. Credit Window Status | |||
| If the credit-window extension is supported by the DLEP participants | If the credit-window extension is supported by the DLEP participants | |||
| (both the router and the modem), the Credit Window Status data item | (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 | MUST be sent by the participant receiving a Credit Grant for a given | |||
| destination. | destination. | |||
| The Credit Window Status data item contains the following fields: | The Credit Window Status 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 | Modem Receive Window Value | | | Data Item Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Modem Receive Window Value | | | Modem Receive Window Value : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Modem Receive Window Value | Router Receive Window Value | | : Modem Receive Window Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Router Receive Window Value | | | Router Receive Window Value : | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| : Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 16 | Length: 16 | |||
| Modem Receive Window Value: A 64-bit unsigned integer, indicating | Modem Receive Window Value: A 64-bit unsigned integer, indicating | |||
| the current number of credits available on the Modem Receive | the current number of credits available on the Modem Receive | |||
| Window, for the destination referred to by the signal. | Window, for the destination referred to by the message. | |||
| Router Receive Window Value: A 64-bit unsigned integer, indicating | Router Receive Window Value: A 64-bit unsigned integer, indicating | |||
| the current number of credits available on the Router Receive | the current number of credits available on the Router Receive | |||
| Window, for the destination referred to by the signal. | Window, for the destination referred to by the message. | |||
| 9.2.3. Credit Request | 10.2.3. Credit Request | |||
| The Credit Request data item MAY be sent from either DLEP | The Credit Request data item MAY be sent from either DLEP | |||
| participant, via the Destination Update signal (Section 7.13), to | participant, via the Destination Update message (Section 8.13), to | |||
| indicate the desire for the partner to grant additional credits in | indicate the desire for the partner to grant additional credits in | |||
| order for data transfer to proceed on the session. If the | order for data transfer to proceed on the session. If the | |||
| corresponding Destination Up signal (Section 7.9) for this session | corresponding Destination Up message (Section 8.9) for this session | |||
| did NOT contain a Credit Window Status data item, indicating that | did not contain a Credit Window Status data item, indicating that | |||
| credits are to be used on the session, then the Credit Request data | credits are to be used on the session, then the Credit Request data | |||
| item MUST be silently dropped by the receiver. | item MUST be silently dropped by the receiver. | |||
| The Credit Request data item contains the following fields: | The Credit Request data item contains the following fields: | |||
| 0 1 2 | 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 | 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 | Reserved, MUST| | | Data Item Type | Length | | |||
| | | | be set to 0 | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 0 | |||
| Reserved: This field is currently unused and MUST be set to 0. | 11. Security Considerations | |||
| 10. Security Considerations | The potential security concerns when using DLEP are: | |||
| The protocol does not contain any mechanisms for security (e.g., | 1. DLEP peers may be 'spoofed' by an attacker, either at DLEP | |||
| authentication or encryption). The protocol assumes that any | session initialization, or by injection of messages once a | |||
| security would be implemented in the underlying transport (for | session has been established, and/or | |||
| example, by use of TLS or some other mechanism), and is therefore | ||||
| outside the scope of this document. | ||||
| 11. IANA Considerations | 2. DLEP data items could be altered by an attacker, causing the | |||
| receiving peer to inappropriately alter its information base | ||||
| concerning network status. | ||||
| The protocol itself does not contain any mechanisms for security | ||||
| (e.g., authentication or encryption), as it assumes that an | ||||
| appropriate level of authentication and non-repudiation is acheived | ||||
| by use of [TLS] when necessary. This specification does not address | ||||
| security of the data plane, as it (the data plane) is not affected, | ||||
| and standard security procedures can be employed. | ||||
| 12. IANA Considerations | ||||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 11.1. Registrations | 12.1. Registrations | |||
| This specification defines: | This specification defines: | |||
| o A new repository for DLEP signals, with sixteen values currently | o A new repository for DLEP signals and messages, with sixteen (16) | |||
| assigned. | values currently assigned. | |||
| o Reservation of numbering space for Experimental DLEP signals. | o Reservation of a Private Use numbering space for experimental DLEP | |||
| signals and messages. | ||||
| o A new repository for DLEP data items, with twenty-six values | o A new repository for DLEP data items, with twenty-four (24) values | |||
| currently assigned. | currently assigned. | |||
| o Reservation of numbering space in the data items repository for | o Reservation of a Private Use numbering space in the data items | |||
| experimental data items. | repository for experimental data items. | |||
| o A new repository for DLEP status codes, with seven currently | o A new repository for DLEP status codes, with eight (8) currently | |||
| assigned. | assigned. | |||
| o A new repository for DLEP extensions, with one value currently | o Reservation of a Private Use numbering space in the status codes | |||
| repository for experimental status codes. | ||||
| o A new repository for DLEP extensions, with one (1) value currently | ||||
| assigned. | assigned. | |||
| o Reservation of a Private Use numbering space in the extension | ||||
| repository for experimental extensions. | ||||
| o A request for allocation of a well-known port for DLEP TCP and UDP | o A request for allocation of a well-known port for DLEP TCP and UDP | |||
| communication. | communication. | |||
| o A request for allocation of a multicast IP address for DLEP | o A request for allocation of a multicast IP address for DLEP | |||
| discovery. | discovery. | |||
| 11.2. Expert Review: Evaluation Guidelines | 12.2. Expert Review: Evaluation Guidelines | |||
| No additional guidelines for expert review are anticipated. | No additional guidelines for expert review are anticipated. | |||
| 11.3. Signal Type Registration | 12.3. Signal/Message Type Registration | |||
| A new repository must be created with the values of the DLEP signals. | ||||
| All signal values are in the range [0..255]. | ||||
| Valid signals are: | ||||
| o Peer Discovery | ||||
| o Peer Offer | ||||
| o Peer Initialization | ||||
| o Peer Initialization ACK | ||||
| o Peer Update | ||||
| o Peer Update ACK | ||||
| o Peer Termination | ||||
| o Peer Termination ACK | ||||
| o Destination Up | ||||
| o Destination Up ACK | ||||
| o Destination Down | ||||
| o Destination Down ACK | ||||
| o Destination Update | ||||
| o Heartbeat | ||||
| o Link Characteristics Request | ||||
| o Link Characteristics ACK | A new repository must be created with the values of the DLEP signals | |||
| and messages. | ||||
| It is also requested that the repository contain space for | All signal and message values are in the range [0..65535], defined in | |||
| experimental signal types. | Table 1. | |||
| 11.4. DLEP Data Item Registrations | 12.4. DLEP Data Item Registrations | |||
| A new repository for DLEP data items must be created. | A new repository for DLEP data items must be created. | |||
| All data item values are in the range [0..255]. | All data item values are in the range [0..65535], defined in Table 2. | |||
| Valid data items are: | ||||
| o DLEP Version | ||||
| o Status | ||||
| o IPv4 Connection Point | ||||
| o IPv6 Connection Point | ||||
| o Peer Type | ||||
| o Heartbeat Interval | ||||
| o Extensions Supported | ||||
| o Experimental Definition | ||||
| o MAC Address | ||||
| o IPv4 Address | ||||
| o IPv6 Address | ||||
| o IPv4 Attached Subnet | ||||
| o IPv6 Attached Subnet | ||||
| o Maximum Data Rate (Receive) | ||||
| o Maximum Data Rate (Transmit) | ||||
| o Current Data Rate (Receive) | ||||
| o Current Data Rate (Transmit) | ||||
| o Latency | ||||
| o Resources (Receive) | ||||
| o Resources (Transmit) | ||||
| o Relative Link Quality (Receive) | ||||
| o Relative Link Quality (Transmit) | ||||
| o Link Characteristics ACK Timer | ||||
| o Credit Window Status | ||||
| o Credit Grant | ||||
| o Credit Request | ||||
| It is also requested that the registry allocation contain space for | ||||
| experimental data items. | ||||
| 11.5. DLEP Status Code Registrations | 12.5. DLEP Status Code Registrations | |||
| A new repository for DLEP status codes must be created. | A new repository for DLEP status codes must be created. | |||
| All status codes are in the range [0..255]. | All status codes are in the range [0..255], defined in Table 3. | |||
| Valid status codes are: | ||||
| o Success (value 0) | ||||
| o Unknown Signal | ||||
| o Invalid Data | ||||
| o Unexpected Signal | ||||
| o Request Denied | ||||
| o Timed Out | ||||
| o Invalid Destination | ||||
| 11.6. DLEP Extensions Registrations | 12.6. DLEP Extensions Registrations | |||
| 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..255]. | All extension values are in the range [0..65535]. Current | |||
| allocations are: | ||||
| Valid extensions are: | +-------------+-----------------------------------------------------+ | |||
| | Code | Description | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| | 0 | Reserved | | ||||
| | 1 | Credit Windowing (Section 10) | | ||||
| | 2-65519 | Reserved for future extensions | | ||||
| | 65520-65534 | Private Use. Available for experiments | | ||||
| | 65535 | Reserved | | ||||
| +-------------+-----------------------------------------------------+ | ||||
| o DLEP_EXT_CREDITS - Credit windowing | Table 4: DLEP Extension types | |||
| 11.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 well-known port number for DLEP | |||
| communication. | communication. | |||
| 11.8. DLEP Multicast Address | 12.8. DLEP Multicast Address | |||
| It is requested that IANA allocate a multicast address for DLEP | It is requested that IANA allocate a multicast address for DLEP | |||
| discovery signals. | discovery signals. | |||
| 12. 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. | |||
| 13. References | 14. References | |||
| 13.1. Normative References | 14.1. Normative References | |||
| [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, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
| 13.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, August 2008. | (TLS) Protocol Version 1.2", RFC 5246, August 2008. | |||
| [RFC5578] Berry, B., Ratliff, S., Paradise, E., Kaiser, T., and M. | [RFC5578] Berry, B., Ratliff, S., Paradise, E., Kaiser, T., and M. | |||
| Adams, "PPP over Ethernet (PPPoE) Extensions for Credit | Adams, "PPP over Ethernet (PPPoE) Extensions for Credit | |||
| Flow and Link Metrics", RFC 5578, February 2010. | Flow and Link Metrics", RFC 5578, February 2010. | |||
| Appendix A. Peer Level Signal Flows | Appendix A. Discovery Signal Flows | |||
| A.1. Discovery | ||||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router initiates discovery, starts | | Router initiates discovery, starts | |||
| | a timer, send Peer Discovery | | a timer, send Peer Discovery | |||
| |-------Peer Discovery---->|| signal. | |-------Peer Discovery---->|| signal. | |||
| ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | |||
| without receiving Peer Offer. | without receiving Peer Offer. | |||
| skipping to change at page 58, line 27 ¶ | skipping to change at page 58, line 30 ¶ | |||
| | Modem receives Peer Discovery | | Modem receives Peer Discovery | |||
| | signal. | | signal. | |||
| | | | | |||
| | Modem sends Peer Offer with | | Modem sends Peer Offer with | |||
| |<--------Peer Offer-------------| Connection Point information. | |<--------Peer Offer-------------| Connection Point information. | |||
| : | : | |||
| : Router MAY cancel discovery timer | : Router MAY cancel discovery timer | |||
| : and stop sending Peer Discovery | : and stop sending Peer Discovery | |||
| : signals. | : signals. | |||
| A.2. Session Initialization | Appendix B. Peer Level Message Flows | |||
| B.1. Session Initialization | ||||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router connects to discovered or | | Router connects to discovered or | |||
| | pre-configured Modem Connection | | pre-configured Modem Connection | |||
| |---------TCP connect----------> Point. | |---------TCP connect----------> Point. | |||
| | | | | |||
| | Router sends Peer Initialization | | Router sends Session Initialization | |||
| |-------Peer Initialization----->| signal. | |----Session Initialization----->| message. | |||
| | | | | |||
| | Modem receives Peer Initialization | | Modem receives Session Initialization | |||
| | signal. | | message. | |||
| | | | | |||
| | Modem sends Peer Initialization | | Modem sends Session Initialization | |||
| | ACK, with compatible extensions, | |<--Session Initialization Resp.-| Response, with Success status data item. | |||
| |<----Peer Initialization ACK----| and Success status data item. | ||||
| | | | | | | |||
| |<<============================>>| Session established. Heartbeats | |<<============================>>| Session established. Heartbeats | |||
| : : begin. | : : begin. | |||
| A.3. Session Initialization - Refused | B.2. Session Initialization - Refused | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router connects to discovered or | | Router connects to discovered or | |||
| | pre-configured Modem Connection | | pre-configured Modem Connection | |||
| |---------TCP connect----------> Point. | |---------TCP connect----------> Point. | |||
| | | | | |||
| | Router sends Peer Initialization | | Router sends Session Initialization | |||
| |-------Peer Initialization----->| signal. | |-----Session Initialization---->| message. | |||
| | | | | |||
| | Modem receives Peer Initialization | | Modem receives Session Initialization | |||
| | signal, and will not support the | | message, and will not support the | |||
| | advertised version, experiment or | | advertised extensions. | |||
| | extensions. | ||||
| | | | | |||
| | Modem sends Peer Initialization | | Modem sends Session Initialization | |||
| | ACK, with 'Request Denied' status | | Response, with 'Request Denied' status | |||
| |<----Peer Initialization ACK----| data item. | |<-Session Initialization Resp.--| data item. | |||
| | | | ||||
| | <---- TCP shutdown (send)-----| Modem closes TCP connection. | ||||
| | | | | |||
| | Router receives negative Peer | ||||
| | Initialization ACK, closes | ||||
| |---------TCP close-----------> TCP connection. | ||||
| | | | | |||
| ||------------------------------|| Session not started. | | Router receives negative Session | |||
| | Initialization Response, closes | ||||
| ||---------TCP close------------|| TCP connection. | ||||
| A.4. Router Changes IP Addresses | B.3. Router Changes IP Addresses | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router sends Peer Update signal to | | Router sends Session Update message to | |||
| |--------Peer Update------------>| announce change of IP address | |-------Session Update---------->| announce change of IP address | |||
| | | | | |||
| | Modem receives Peer Update signal | | Modem receives Session Update message | |||
| | and updates internal state. | | and updates internal state. | |||
| | | | | |||
| |<-------Peer Update ACK---------| Modem sends Peer Update ACK. | |<----Session Update Response----| Modem sends Session Update Response. | |||
| A.5. Modem Changes Session-wide Metrics | B.4. Modem Changes Session-wide Metrics | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Modem sends Peer Update signal to | | Modem sends Session Update message to | |||
| | announce change of modem-wide | | announce change of modem-wide | |||
| |<--------Peer Update------------| metrics | |<--------Session Update---------| metrics | |||
| | | | | |||
| | Router receives Peer Update signal | | Router receives Session Update message | |||
| | and updates internal state. | | and updates internal state. | |||
| | | | | |||
| |-------Peer Update ACK--------->| Router sends Peer Update ACK. | |----Session Update Response---->| Router sends Session Update Response. | |||
| A.6. Router Terminates Session | B.5. Router Terminates Session | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router sends Peer Termination | | Router sends Session Termination | |||
| |-------Peer Termination-------->| signal with Status data item. | |------Session Termination------>| message with Status data item. | |||
| | | | | | | |||
| |-------TCP shutdown (send)---> | Router stops sending signals. | |-------TCP shutdown (send)---> | Router stops sending messages. | |||
| | | | | |||
| | Modem receives Peer Termination, | | Modem receives Session Termination, | |||
| | stops counting received heartbeats | | stops counting received heartbeats | |||
| | and stops sending heartbeats. | | and stops sending heartbeats. | |||
| | | | | |||
| | Modem sends Peer Termination ACK | | Modem sends Session Termination Response | |||
| |<-----Peer Termination ACK------| with Status 'Success'. | |<---Session Termination Resp.---| with Status 'Success'. | |||
| | | | ||||
| | <----TCP shutdown (send)------| Modem stops sending signals. | ||||
| | | | | |||
| ||------------------------------|| Session terminated. | | Modem stops sending messages. | |||
| | | ||||
| ||---------TCP close------------|| Session terminated. | ||||
| A.7. Modem Terminates Session | B.6. Modem Terminates Session | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Modem sends Peer Termination | | Modem sends Session Termination | |||
| |<------Peer Termination---------| signal with Status data item. | |<----Session Termination--------| message with Status data item. | |||
| | | | ||||
| | <----TCP shutdown (send)------| Modem stops sending signals. | ||||
| | | | | |||
| | Router receives Peer Termination, | | Modem stops sending messages. | |||
| | | ||||
| | Router receives Session Termination, | ||||
| | stops counting received heartbeats | | stops counting received heartbeats | |||
| | and stops sending heartbeats. | | and stops sending heartbeats. | |||
| | | | | |||
| | Router sends Peer Termination ACK | | Router sends Session Termination Response | |||
| |------Peer Termination ACK----->| with Status 'Success'. | |---Session Termination Resp.--->| with Status 'Success'. | |||
| | | | ||||
| |-------TCP shutdown (send)---> | Router stops sending signals. | ||||
| | | | | |||
| ||------------------------------|| Session terminated. | | Router stops sending messages. | |||
| | | ||||
| ||---------TCP close------------|| Session terminated. | ||||
| A.8. Session Heartbeats | B.7. Session Heartbeats | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| |----------Heartbeat------------>| Router sends heartbeat signal | |----------Heartbeat------------>| Router sends heartbeat message | |||
| | | | | |||
| | Modem resets heartbeats missed | | Modem resets heartbeats missed | |||
| | counter. | | counter. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |----------[Any signal]--------->| When the Modem receives any signal | |---------[Any message]--------->| When the Modem receives any message | |||
| | from the Router. | | from the Router. | |||
| | | | | |||
| | Modem resets heartbeats missed | | Modem resets heartbeats missed | |||
| | counter. | | counter. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |<---------Heartbeat-------------| Modem sends heartbeat signal | |<---------Heartbeat-------------| Modem sends heartbeat message | |||
| | | | | |||
| | Router resets heartbeats missed | | Router resets heartbeats missed | |||
| | counter. | | counter. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| |<---------[Any signal]----------| When the Router receives any | |<--------[Any message]----------| When the Router receives any | |||
| | signal from the Modem. | | message from the Modem. | |||
| | | | | |||
| | Modem resets heartbeats missed | | Modem resets heartbeats missed | |||
| | counter. | | counter. | |||
| A.9. Router Detects a Heartbeat timeout | B.8. Router Detects a Heartbeat timeout | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| ||<----------------------| Router misses a heartbeat | ||<----------------------| Router misses a heartbeat | |||
| | ||<----------------------| Router misses too many heartbeats | | ||<----------------------| Router misses too many heartbeats | |||
| | | | | |||
| | | | | |||
| |-------Peer Termination-------->| Router sends Peer Termination | |------Session Termination------>| Router sends Session Termination | |||
| | signal with 'Timeout' Status | | message with 'Timeout' Status | |||
| | data item. | | data item. | |||
| : | : | |||
| : Termination proceeds as above. | : Termination proceeds as above. | |||
| A.10. Modem Detects a Heartbeat timeout | B.9. Modem Detects a Heartbeat timeout | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| |---------------------->|| Modem misses a heartbeat | |---------------------->|| Modem misses a heartbeat | |||
| |---------------------->|| | Modem misses too many heartbeats | |---------------------->|| | Modem misses too many heartbeats | |||
| | | | | |||
| | | | | |||
| |<-------Peer Termination--------| Modem sends Peer Termination | |<-----Session Termination-------| Modem sends Session Termination | |||
| | signal with 'Timeout' Status | | message with 'Timeout' Status | |||
| | data item. | | data item. | |||
| : | : | |||
| : Termination proceeds as above. | : Termination proceeds as above. | |||
| Appendix B. Destination Specific Signal Flows | Appendix C. Destination Specific Signal Flows | |||
| B.1. Common Destination Signaling | C.1. Common Destination Signaling | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Modem detects a new logical | | Modem detects a new logical | |||
| | destination is reachable, and | | destination is reachable, and | |||
| |<-------Destination Up----------| sends Destination Up signal. | |<-------Destination Up----------| sends Destination Up message. | |||
| | | | | |||
| |--------Destination Up ACK----->| Router sends Destination Up ACK. | |------Destination Up Resp.----->| Router sends Destination Up Response. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in logical | | Modem detects change in logical | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update signal. | |<-------Destination Update------| Destination Update message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in logical | | Modem detects change in logical | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update signal. | |<-------Destination Update------| Destination Update message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects logical destination | | Modem detects logical destination | |||
| | is no longer reachable, and sends | | is no longer reachable, and sends | |||
| |<-------Destination Down--------| Destination Down signal. | |<-------Destination Down--------| Destination Down message. | |||
| | | | | |||
| | Router receives Destination Down, | | Router receives Destination Down, | |||
| | updates internal state, and sends | | updates internal state, and sends | |||
| |--------Destination Down ACK--->| Destination Down ACK signal. | |------Destination Down Resp.--->| Destination Down Response message. | |||
| B.2. Multicast Destination Signaling | C.2. Multicast Destination Signaling | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| | Router detects a new multicast | | Router detects a new multicast | |||
| | destination is in use, and sends | | destination is in use, and sends | |||
| |--------Destination Up--------->| Destination Up signal. | |--------Destination Up--------->| Destination Up message. | |||
| | | | | |||
| | Modem updates internal state to | | Modem updates internal state to | |||
| | monitor multicast destination, and | | monitor multicast destination, and | |||
| |<-------Destination Up ACK------| sends Destination Up ACK. | |<-----Destination Up Resp.------| sends Destination Up Response. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in multicast | | Modem detects change in multicast | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update signal. | |<-------Destination Update------| Destination Update message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in multicast | | Modem detects change in multicast | |||
| | destination metrics, and sends | | destination metrics, and sends | |||
| |<-------Destination Update------| Destination Update signal. | |<-------Destination Update------| Destination Update message. | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| | Router detects multicast | | Router detects multicast | |||
| | destination is no longer in use, | | destination is no longer in use, | |||
| |--------Destination Down------->| and sends Destination Down signal. | |--------Destination Down------->| and sends Destination Down message. | |||
| | | | | |||
| | Modem receives Destination Down, | | Modem receives Destination Down, | |||
| | updates internal state, and sends | | updates internal state, and sends | |||
| |<-------Destination Down ACK----| Destination Down ACK signal. | |<-----Destination Down Resp.----| Destination Down Response message. | |||
| B.3. Link Characteristics Request | C.3. Link Characteristics Request | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ======================================================================== | ======================================================================== | |||
| Destination has already been | Destination has already been | |||
| ~ ~ ~ ~ ~ ~ ~ announced by either peer. | ~ ~ ~ ~ ~ ~ ~ announced by either peer. | |||
| | Router requires different | | Router requires different | |||
| | Characteristics for the | | Characteristics for the | |||
| | destination, and sends Link | | destination, and sends Link | |||
| |--Link Characteristics Request->| Characteristics Request signal. | |--Link Characteristics Request->| Characteristics Request message. | |||
| | | | | |||
| | Modem attempts to adjust link | | Modem attempts to adjust link | |||
| | status to meet the received | | status to meet the received | |||
| | request, and sends a Link | | request, and sends a Link | |||
| | Characteristics Request ACK | | Characteristics Response | |||
| |<---Link Char. Request ACK------| signal with the new values. | |<---Link Characteristics Resp.--| message with the new values. | |||
| Authors' Addresses | Authors' Addresses | |||
| Stan Ratliff | Stan Ratliff | |||
| VT iDirect | VT iDirect | |||
| 13861 Sunrise Valley Drive, Suite 300 | 13861 Sunrise Valley Drive, Suite 300 | |||
| Herndon, VA 20171 | Herndon, VA 20171 | |||
| USA | USA | |||
| Email: sratliff@idirect.net | Email: sratliff@idirect.net | |||
| End of changes. 528 change blocks. | ||||
| 1454 lines changed or deleted | 1470 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/ | ||||