| < draft-ietf-manet-dlep-08.txt | draft-ietf-manet-dlep-09.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: August 31, 2015 | Expires: October 15, 2015 | |||
| S. Jury | S. Jury | |||
| Cisco Systems | Cisco Systems | |||
| D. Satterwhite | D. Satterwhite | |||
| Broadcom | Broadcom | |||
| R. Taylor | R. Taylor | |||
| Airbus Defence & Space | Airbus Defence & Space | |||
| February 27, 2015 | April 13, 2015 | |||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-08 | draft-ietf-manet-dlep-09 | |||
| 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 | |||
| forwarding decisions. In mobile or other environments where these | forwarding decisions. In mobile or other environments where these | |||
| characteristics change frequently, manual configurations or the | characteristics change frequently, manual configurations or the | |||
| inference of state through routing or transport protocols does not | inference of state through routing or transport protocols does not | |||
| allow the router to make the best decisions. A bidirectional, event- | allow the router to make the best decisions. A bidirectional, event- | |||
| skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 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 August 31, 2015. | This Internet-Draft will expire on October 15, 2015. | |||
| 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| 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. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 | 1.1. Protocol Overview . . . . . . . . . . . . . . . . . . . . 7 | |||
| 1.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 8 | ||||
| 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3. Core Features and Optional Extensions . . . . . . . . . . . . 10 | 3. Core Features and Optional Extensions . . . . . . . . . . . . 10 | |||
| 3.1. Negotiation of Optional Extensions . . . . . . . . . . . 10 | 3.1. Negotiation of Optional Extensions . . . . . . . . . . . 10 | |||
| 3.2. Protocol Extensions . . . . . . . . . . . . . . . . . . . 10 | 3.2. Protocol Extensions . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.3. Experimental Signals and Data Items . . . . . . . . . . . 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. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . 12 | 4.2. DLEP Router session flow - Discovery case . . . . . . . . 12 | |||
| 5.1. DLEP Router session flow - Discovery case . . . . . . . . 13 | 4.3. DLEP Router session flow - Configured case . . . . . . . 13 | |||
| 5.2. DLEP Router session flow - Configured case . . . . . . . 13 | 4.4. DLEP Modem session flow . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. DLEP Modem session flow . . . . . . . . . . . . . . . . . 14 | 4.5. Common Session Flow . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.4. Common Session Flow . . . . . . . . . . . . . . . . . . . 14 | 5. DLEP Message Processing . . . . . . . . . . . . . . . . . . . 15 | |||
| 6. DLEP Message Processing . . . . . . . . . . . . . . . . . . . 15 | 5.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 16 | |||
| 6.1. DLEP Signal Header . . . . . . . . . . . . . . . . . . . 16 | 5.2. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 16 | |||
| 6.2. DLEP Generic Data Item . . . . . . . . . . . . . . . . . 16 | 6. DLEP Signals . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 7. DLEP Signals . . . . . . . . . . . . . . . . . . . . . . . . 17 | 6.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 17 | |||
| 7.1. Peer Discovery Signal . . . . . . . . . . . . . . . . . . 17 | 6.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.2. Peer Offer Signal . . . . . . . . . . . . . . . . . . . . 18 | 6.3. Peer Initialization Signal . . . . . . . . . . . . . . . 18 | |||
| 7.3. Peer Initialization Signal . . . . . . . . . . . . . . . 19 | 6.4. Peer Initialization ACK Signal . . . . . . . . . . . . . 19 | |||
| 7.4. Peer Initialization ACK Signal . . . . . . . . . . . . . 20 | 6.5. Peer Update Signal . . . . . . . . . . . . . . . . . . . 21 | |||
| 7.5. Peer Update Signal . . . . . . . . . . . . . . . . . . . 21 | 6.6. Peer Update ACK Signal . . . . . . . . . . . . . . . . . 22 | |||
| 7.6. Peer Update ACK Signal . . . . . . . . . . . . . . . . . 22 | 6.7. Peer Termination Signal . . . . . . . . . . . . . . . . . 23 | |||
| 7.7. Peer Termination Signal . . . . . . . . . . . . . . . . . 23 | 6.8. Peer Termination ACK Signal . . . . . . . . . . . . . . . 24 | |||
| 7.8. Peer Termination ACK Signal . . . . . . . . . . . . . . . 23 | 6.9. Destination Up Signal . . . . . . . . . . . . . . . . . . 24 | |||
| 7.9. Destination Up Signal . . . . . . . . . . . . . . . . . . 24 | 6.10. Destination Up ACK Signal . . . . . . . . . . . . . . . . 25 | |||
| 7.10. Destination Up ACK Signal . . . . . . . . . . . . . . . . 25 | 6.11. Destination Down Signal . . . . . . . . . . . . . . . . . 26 | |||
| 7.11. Destination Down Signal . . . . . . . . . . . . . . . . . 26 | 6.12. Destination Down ACK Signal . . . . . . . . . . . . . . . 26 | |||
| 7.12. Destination Down ACK Signal . . . . . . . . . . . . . . . 26 | 6.13. Destination Update Signal . . . . . . . . . . . . . . . . 27 | |||
| 7.13. Destination Update Signal . . . . . . . . . . . . . . . . 26 | 6.14. Heartbeat Signal . . . . . . . . . . . . . . . . . . . . 28 | |||
| 7.14. Heartbeat Signal . . . . . . . . . . . . . . . . . . . . 28 | 6.15. Link Characteristics Request Signal . . . . . . . . . . . 28 | |||
| 7.15. Link Characteristics Request Signal . . . . . . . . . . . 28 | 6.16. Link Characteristics ACK Signal . . . . . . . . . . . . . 29 | |||
| 7.16. Link Characteristics ACK Signal . . . . . . . . . . . . . 29 | 7. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| 8. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . 30 | 7.1. DLEP Version . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 8.1. DLEP Version . . . . . . . . . . . . . . . . . . . . . . 31 | 7.2. Status . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 8.2. Status . . . . . . . . . . . . . . . . . . . . . . . . . 32 | 7.3. IPv4 Connection Point . . . . . . . . . . . . . . . . . . 33 | |||
| 8.3. DLEP Port . . . . . . . . . . . . . . . . . . . . . . . . 33 | 7.4. IPv6 Connection Point . . . . . . . . . . . . . . . . . . 34 | |||
| 8.4. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 33 | 7.5. Peer Type . . . . . . . . . . . . . . . . . . . . . . . . 35 | |||
| 8.5. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 34 | 7.6. Heartbeat Interval . . . . . . . . . . . . . . . . . . . 35 | |||
| 8.6. Extensions Supported . . . . . . . . . . . . . . . . . . 35 | 7.7. Extensions Supported . . . . . . . . . . . . . . . . . . 36 | |||
| 8.7. Experimental Definition . . . . . . . . . . . . . . . . . 35 | 7.8. Experimental Definition . . . . . . . . . . . . . . . . . 36 | |||
| 8.8. MAC Address . . . . . . . . . . . . . . . . . . . . . . . 36 | 7.9. MAC Address . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
| 8.9. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 37 | 7.10. IPv4 Address . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 8.10. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 37 | 7.11. IPv6 Address . . . . . . . . . . . . . . . . . . . . . . 38 | |||
| 8.11. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 38 | 7.12. IPv4 Attached Subnet . . . . . . . . . . . . . . . . . . 39 | |||
| 8.12. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 39 | 7.13. IPv6 Attached Subnet . . . . . . . . . . . . . . . . . . 40 | |||
| 8.13. Maximum Data Rate (Receive) . . . . . . . . . . . . . . . 39 | 7.14. Maximum Data Rate (Receive) . . . . . . . . . . . . . . . 40 | |||
| 8.14. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 40 | 7.15. Maximum Data Rate (Transmit) . . . . . . . . . . . . . . 41 | |||
| 8.15. Current Data Rate (Receive) . . . . . . . . . . . . . . . 41 | 7.16. Current Data Rate (Receive) . . . . . . . . . . . . . . . 42 | |||
| 8.16. Current Data Rate (Transmit) . . . . . . . . . . . . . . 41 | 7.17. Current Data Rate (Transmit) . . . . . . . . . . . . . . 42 | |||
| 8.17. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 42 | 7.18. Latency . . . . . . . . . . . . . . . . . . . . . . . . . 43 | |||
| 8.18. Resources (Receive) . . . . . . . . . . . . . . . . . . . 43 | 7.19. Resources (Receive) . . . . . . . . . . . . . . . . . . . 44 | |||
| 8.19. Resources (Transmit) . . . . . . . . . . . . . . . . . . 43 | 7.20. Resources (Transmit) . . . . . . . . . . . . . . . . . . 45 | |||
| 8.20. Relative Link Quality (Receive) . . . . . . . . . . . . . 44 | 7.21. Relative Link Quality (Receive) . . . . . . . . . . . . . 45 | |||
| 8.21. Relative Link Quality (Transmit) . . . . . . . . . . . . 45 | 7.22. Relative Link Quality (Transmit) . . . . . . . . . . . . 46 | |||
| 8.22. Link Characteristics ACK Timer . . . . . . . . . . . . . 45 | 7.23. Link Characteristics ACK Timer . . . . . . . . . . . . . 46 | |||
| 9. Credit-Windowing . . . . . . . . . . . . . . . . . . . . . . 46 | 8. Credit-Windowing . . . . . . . . . . . . . . . . . . . . . . 47 | |||
| 9.1. Credit-Windowing Signals . . . . . . . . . . . . . . . . 46 | 8.1. Credit-Windowing Signals . . . . . . . . . . . . . . . . 47 | |||
| 9.1.1. Destination Up Signal . . . . . . . . . . . . . . . . 46 | 8.1.1. Destination Up Signal . . . . . . . . . . . . . . . . 48 | |||
| 9.1.2. Destination Up ACK Signal . . . . . . . . . . . . . . 47 | 8.1.2. Destination Up ACK Signal . . . . . . . . . . . . . . 48 | |||
| 9.1.3. Destination Update Signal . . . . . . . . . . . . . . 47 | 8.1.3. Destination Update Signal . . . . . . . . . . . . . . 48 | |||
| 9.2. Credit-Windowing Data Items . . . . . . . . . . . . . . . 47 | 8.2. Credit-Windowing Data Items . . . . . . . . . . . . . . . 48 | |||
| 9.2.1. Credit Window Status . . . . . . . . . . . . . . . . 47 | 8.2.1. Credit Grant . . . . . . . . . . . . . . . . . . . . 49 | |||
| 9.2.2. Credit Grant . . . . . . . . . . . . . . . . . . . . 48 | 8.2.2. Credit Window Status . . . . . . . . . . . . . . . . 50 | |||
| 9.2.3. Credit Request . . . . . . . . . . . . . . . . . . . 49 | 8.2.3. Credit Request . . . . . . . . . . . . . . . . . . . 50 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 50 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 51 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 51 | |||
| 11.1. Registrations . . . . . . . . . . . . . . . . . . . . . 50 | 10.1. Registrations . . . . . . . . . . . . . . . . . . . . . 51 | |||
| 11.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 51 | 10.2. Expert Review: Evaluation Guidelines . . . . . . . . . . 52 | |||
| 11.3. Signal Type Registration . . . . . . . . . . . . . . . . 51 | 10.3. Signal Type Registration . . . . . . . . . . . . . . . . 52 | |||
| 11.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 52 | 10.4. DLEP Data Item Registrations . . . . . . . . . . . . . . 53 | |||
| 11.5. DLEP Status Code Registrations . . . . . . . . . . . . . 53 | 10.5. DLEP Status Code Registrations . . . . . . . . . . . . . 54 | |||
| 11.6. DLEP Extensions Registrations . . . . . . . . . . . . . 53 | 10.6. DLEP Extensions Registrations . . . . . . . . . . . . . 54 | |||
| 11.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 54 | 10.7. DLEP Well-known Port . . . . . . . . . . . . . . . . . . 55 | |||
| 11.8. DLEP Multicast Address . . . . . . . . . . . . . . . . . 54 | 10.8. DLEP Multicast Address . . . . . . . . . . . . . . . . . 55 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 54 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 54 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 54 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 55 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 54 | 12.2. Informative References . . . . . . . . . . . . . . . . . 55 | |||
| Appendix A. Peer Level Signal Flows . . . . . . . . . . . . . . 54 | Appendix A. Peer Level Signal Flows . . . . . . . . . . . . . . 55 | |||
| A.1. Router Device Restarts Discovery . . . . . . . . . . . . 54 | A.1. Discovery . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
| A.2. Router Device Detects Peer Offer Timeout . . . . . . . . 55 | A.2. Session Initialization . . . . . . . . . . . . . . . . . 56 | |||
| A.3. Router Peer Offer Lost . . . . . . . . . . . . . . . . . 55 | A.3. Session Initialization - Refused . . . . . . . . . . . . 57 | |||
| A.4. Discovery Success . . . . . . . . . . . . . . . . . . . . 56 | A.4. Router Changes IP Addresses . . . . . . . . . . . . . . . 57 | |||
| A.5. Router Detects a Heartbeat timeout . . . . . . . . . . . 57 | A.5. Modem Changes Session-wide Metrics . . . . . . . . . . . 57 | |||
| A.6. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 57 | A.6. Router Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| A.7. Peer Terminate (from Modem) Lost . . . . . . . . . . . . 58 | A.7. Modem Terminates Session . . . . . . . . . . . . . . . . 58 | |||
| A.8. Peer Terminate (from Router) Lost . . . . . . . . . . . . 58 | A.8. Session Heartbeats . . . . . . . . . . . . . . . . . . . 59 | |||
| Appendix B. Destination Specific Signal Flows . . . . . . . . . 59 | A.9. Router Detects a Heartbeat timeout . . . . . . . . . . . 60 | |||
| B.1. Modem Destination Up Lost . . . . . . . . . . . . . . . . 59 | A.10. Modem Detects a Heartbeat timeout . . . . . . . . . . . . 61 | |||
| B.2. Router Detects Duplicate Destination Ups . . . . . . . . 59 | Appendix B. Destination Specific Signal Flows . . . . . . . . . 61 | |||
| B.3. Destination Up, No Layer 3 Addresses . . . . . . . . . . 60 | B.1. Common Destination Signaling . . . . . . . . . . . . . . 61 | |||
| B.4. Destination Up with IPv4, No IPv6 . . . . . . . . . . . . 60 | B.2. Multicast Destination Signaling . . . . . . . . . . . . . 62 | |||
| B.5. Destination Up with IPv4 and IPv6 . . . . . . . . . . . . 61 | B.3. Link Characteristics Request . . . . . . . . . . . . . . 62 | |||
| B.6. Destination Session Success . . . . . . . . . . . . . . . 61 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 63 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 62 | ||||
| 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 (in the case of cable/DSL | links can occur due to configuration (in the case of cable/DSL | |||
| modems), or on a moment-to-moment basis, due to physical phenomena | modems), or on a moment-to-moment basis, due to physical phenomena | |||
| like multipath interference, obstructions, rain fade, etc. It is | like multipath interference, obstructions, rain fade, etc. It is | |||
| skipping to change at page 5, line 32 ¶ | skipping to change at page 5, line 32 ¶ | |||
| difficult to establish and properly maintain. This is especially | difficult to establish and properly maintain. This is especially | |||
| true of demand-based access schemes such as Demand Assigned Multiple | true of demand-based access schemes such as Demand Assigned Multiple | |||
| Access (DAMA) implementations used on some satellite systems. With a | Access (DAMA) implementations used on some satellite systems. With a | |||
| DAMA-based system, additional datarate may be available, but will not | DAMA-based system, additional datarate may be available, but will not | |||
| be used unless the network devices emit traffic at a rate higher than | be used unless the network devices emit traffic at a rate higher than | |||
| the currently established rate. Increasing the traffic rate does not | the currently established rate. Increasing the traffic rate does not | |||
| guarantee additional datarate will be allocated; rather, it may | guarantee additional datarate will be allocated; rather, it may | |||
| result in data loss and additional retransmissions on the link. | result in data loss and additional retransmissions on the link. | |||
| Addressing the challenges listed above, the authors have developed | Addressing the challenges listed above, the authors have developed | |||
| the Data Link Exchange Protocol, or DLEP. The DLEP protocol runs | the Dynamic Link Exchange Protocol, or DLEP. The DLEP protocol runs | |||
| between a router and its attached modem devices, allowing the modem | between a router and its attached modem devices, allowing the modem | |||
| to communicate link characteristics as they change, and convergence | to communicate link characteristics as they change, and convergence | |||
| events (acquisition and loss of potential routing destinations). The | events (acquisition and loss of potential routing destinations). The | |||
| following diagrams are used to illustrate the scope of DLEP packets. | following diagrams are used to illustrate the scope of DLEP packets. | |||
| |-------Local Node-------| |-------Remote Node------| | |-------Local Node-------| |-------Remote Node------| | |||
| | | | | | | | | | | |||
| +--------+ +-------+ +-------+ +--------+ | +--------+ +-------+ +-------+ +--------+ | |||
| | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | | | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | | |||
| | | | Device| | Device| | | | | | | Device| | Device| | | | |||
| skipping to change at page 6, line 11 ¶ | skipping to change at page 6, line 11 ¶ | |||
| | | | 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 signal to its router via the DLEP | |||
| protocol. Upon receipt of the signal, the local router may take | protocol. Upon receipt of the signal, the local router may take | |||
| whatever action it deems appropriate, such as initiating discovery | whatever action it deems appropriate, such as initiating discovery | |||
| protocols, and/or issuing HELLO messages to converge the network. On | protocols, and/or issuing HELLO messages to converge the network. On | |||
| a continuing, as-needed basis, the modem devices utilize DLEP to | a continuing, as-needed basis, the modem devices utilize DLEP to | |||
| report any characteristics of the link (datarate, latency, etc) that | report any characteristics of the link (datarate, latency, etc.) that | |||
| have changed. DLEP is independent of the link type and topology | have changed. DLEP is independent of the link type and topology | |||
| supported by the modem. Note that the DLEP protocol is specified to | supported by the modem. Note that the DLEP protocol is specified to | |||
| run only on the local link between router and modem. Some over the | run only on the local link between router and modem. Some over the | |||
| air signaling may be necessary between the local and remote modem in | air signaling may be necessary between the local and remote modem in | |||
| order to provide some parameters in DLEP signals between the local | order to provide some parameters in DLEP signals between the local | |||
| modem and local router, but DLEP does not specify how such over the | modem and local router, but DLEP does not specify how such over the | |||
| air signaling is carried out. Over the air signaling is purely a | air signaling is carried out. Over the air signaling is purely a | |||
| matter for the modem implementer. | 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 | |||
| skipping to change at page 7, line 35 ¶ | skipping to change at page 7, line 35 ¶ | |||
| +---+----+ | +---+----+ | |||
| | | | | |||
| | | | | |||
| +---+----+ | +---+----+ | |||
| | Router | | | Router | | |||
| | | | | | | |||
| +--------+ | +--------+ | |||
| Figure 2: DLEP Network with Multiple Modem Devices | Figure 2: DLEP Network with Multiple Modem Devices | |||
| 1.1. Protocol Overview | ||||
| DLEP defines a set of signals used by modems and their attached | DLEP defines a set of signals used by modems and their attached | |||
| routers. The signals are used to communicate events that occur on | routers. The signals are used to communicate events that occur on | |||
| the physical link(s) managed by the modem: for example, a remote node | the physical link(s) managed by the modem: for example, a remote node | |||
| entering or leaving the network, or that the link has changed. | entering or leaving the network, or that the link has changed. | |||
| Associated with these signals are a set of data items - information | Associated with these signals are a set of data items - information | |||
| that describes the remote node (e.g., address information), and/or | that describes the remote node (e.g., address information), and/or | |||
| the characteristics of the link to the remote node. | the characteristics of the link to the remote 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 signals 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 signal. | |||
| This document specifies transport of DLEP signals and data items via | This document specifies transport of DLEP signals 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), a separate DLEP session MUST exist for each | router (as in Figure 2), or the modem supports multiple connections | |||
| modem. If a modem device supports multiple connections to a router | (via multiple logical or physical interfaces), then separate DLEP | |||
| (via multiple logical or physical interfaces), or supports | sessions exist for each modem or connection. This router/modem | |||
| connections to multiple routers, a separate DLEP session MUST exist | session provides a carrier for information exchange concerning | |||
| for each connection. This router/modem session provides a carrier | 'destinations' that are available via the modem device. A | |||
| for information exchange concerning 'destinations' that are available | 'destination' can be either physical (as in the case of a specific | |||
| via the modem device. A 'destination' can be either physical (as in | far-end router), or a logical destination (as in a Multicast group). | |||
| the case of a specific far-end router), or a logical destination (as | As such, all of the destination-level exchanges in DLEP can be | |||
| in a Multicast group). As such, all of the destination-level | envisioned as building an information base concerning the remote | |||
| exchanges in DLEP can be envisioned as building an information base | nodes, and the link characteristics to those nodes. | |||
| concerning the remote nodes, and the link characteristics to those | ||||
| nodes. | ||||
| Any DLEP signal that is NOT understood by a receiver MUST result in | ||||
| an error indication being sent to the originator, and also MUST | ||||
| result in termination of the session between the DLEP peers. Any | ||||
| data item that is NOT understood by a receiver MUST be ignored. | ||||
| Multicast traffic destined for the variable-quality network (the | Multicast traffic destined for the variable-quality network (the | |||
| network accessed via the DLEP modem) is handled in IP networks by | network accessed via the DLEP modem) is handled in IP networks by | |||
| deriving a Layer 2 MAC address based on the Layer 3 address. | deriving a Layer 2 MAC address based on the Layer 3 address. | |||
| Leveraging on this scheme, Multicast traffic is supported in DLEP | Leveraging on this scheme, multicast traffic is supported in DLEP | |||
| simply by treating the derived MAC address as any other 'destination' | simply by treating the derived MAC address as any other 'destination' | |||
| (albeit a logical one) in the network. To support these logical | (albeit a logical one) in the network. To support these logical | |||
| destinations, one of the DLEP participants (typically, the router) | destinations, one of the DLEP participants (typically, the router) | |||
| informs the other as to the existence of the logical neighbor. The | informs the other as to the existence of the logical destination. | |||
| modem, once it is aware of the existence of this logical neighbor, | The modem, once it is aware of the existence of this logical | |||
| reports link characteristics just as it would for any other | destination, reports link characteristics just as it would for any | |||
| destination in the network. The specific algorithms a modem would | other destination in the network. The specific algorithms a modem | |||
| use to report metrics on multicast (or logical) destinations is | would use to derive metrics on multicast (or logical) destinations is | |||
| outside the scope of this specification, and is left to specific | outside the scope of this specification, and is left to specific | |||
| implementations to decide. | implementations to decide. | |||
| 1.1. Requirements | 1.2. Requirements | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in BCP 14, RFC 2119 | document are to be interpreted as described in BCP 14, RFC 2119 | |||
| [RFC2119]. | [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 utilize a discovery technique to locate | are locally connected) can utilize a discovery technique to locate | |||
| each other, thus avoiding a-priori configuration. The router is | each 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 6.1). | |||
| DLEP utilizes a session-oriented paradigm. A router and modem form a | DLEP utilizes a session-oriented paradigm. A router and modem form a | |||
| session by completing the discovery process. This router-modem | session by completing the discovery and initialization process. This | |||
| session persists unless or until it either (1) times out, based on | router-modem session persists unless or until it either (1) times | |||
| the timeout values supplied, or (2) is explicitly torn down by one of | out, based on the timeout values supplied, or (2) is explicitly torn | |||
| the participants. Note that while use of timers in DLEP is OPTIONAL, | down by one of the participants. Note that while use of timers in | |||
| it is strongly recommended that implementations choose to run with | DLEP is OPTIONAL, it is strongly recommended that implementations | |||
| 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 signal (Section 6.9). No | |||
| manipulation or or substitution is performed; the MAC address | manipulation or substitution is performed; the MAC address supplied | |||
| supplied in Destination Up is used as the OSI Layer 2 Destination MAC | in Destination Up is used as the OSI Layer 2 Destination MAC address. | |||
| address. DLEP also assumes that MAC addresses MUST be unique within | DLEP also assumes that MAC addresses MUST be unique within the | |||
| the context of a router-modem session. | context of a router-modem session. | |||
| DLEP utilizes UDP multicast for single-hop discovery, and TCP for | DLEP utilizes UDP multicast for single-hop discovery, and TCP for | |||
| transport of the control signals. Therefore, DLEP assumes that the | transport of the control signals. Therefore, DLEP assumes that the | |||
| modem and router have topologically consistent IP addresses assigned. | modem and router have topologically consistent IP addresses assigned. | |||
| It is recommended that DLEP implementations utilize IPv6 link-local | It is recommended that DLEP implementations utilize IPv6 link-local | |||
| addresses to reduce the administrative burden of address assignment. | addresses to reduce the administrative burden of address assignment. | |||
| This document refers to a remote node as a 'Destination'. | ||||
| 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 to 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. Changes in link | destinations accessible via the modem. | |||
| characteristics are then reported as being 'modem-wide' (effecting | ||||
| ALL destinations accessed via the modem, reported via the Peer Update | ||||
| signal, Section 7.5) or reported for a specific neighbor (via the | ||||
| Destination Update signal, Section 7.13). | ||||
| The DLEP signals concerning destinations thus become the way for | The DLEP signals 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 | ||||
| in an error indication being sent to the originator, and also MUST | ||||
| result in termination of the session between the DLEP peers. Any | ||||
| data item that is not understood by a receiver MUST be ignored. | ||||
| 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 signals and | |||
| data items running over the TCP transport. It is assumed that DLEP | data items running over the TCP transport. It is assumed that DLEP | |||
| running over other transport mechanisms would be documented | running over other transport mechanisms would be documented | |||
| separately. | separately. | |||
| skipping to change at page 10, line 27 ¶ | skipping to change at page 10, line 22 ¶ | |||
| core signals and data items might not be used during the lifetime of | core signals and data items might not be used during the lifetime of | |||
| a single DLEP session, but a compliant implementation MUST support | a single DLEP session, but a compliant implementation MUST support | |||
| them. | them. | |||
| While this document represents the best efforts of the co-authors, | While this document represents the best efforts of the co-authors, | |||
| and the working group, to be functionally complete, it is recognized | and the working group, to be functionally complete, it is recognized | |||
| that extensions to DLEP will in all likelihood be necessary as more | that extensions to DLEP will in all likelihood be necessary as more | |||
| link types are utilized. To support future extension of DLEP, this | link types are utilized. To support future extension of DLEP, this | |||
| document describes an extension negotiation capability to be used | document describes an extension negotiation capability to be used | |||
| during session initialization via the Extensions Supported data item, | during session initialization via the Extensions Supported data item, | |||
| documented in Section 8.6 of this document. | documented in Section 7.7 of this document. | |||
| All extensions are considered OPTIONAL. Only the DLEP functionality | All extensions are considered OPTIONAL. Only the DLEP functionality | |||
| listed as 'mandatory' is required by implementation in order to be | listed as 'mandatory' is required by implementation in order to be | |||
| DLEP compliant. | DLEP compliant. | |||
| This specification defines one extension, Credit processing, exposed | This specification defines one extension, Credit windowing, exposed | |||
| via the Extensions Supported mechanism that implementations MAY chose | via the Extensions Supported mechanism that implementations MAY | |||
| to implement, or to omit. | choose to implement, or to omit. | |||
| 3.1. Negotiation of Optional Extensions | 3.1. Negotiation of Optional Extensions | |||
| Optional extensions supported by an implementation MUST be declared | Optional extensions supported by an implementation MUST be declared | |||
| to potential DLEP peers using the Extensions Supported data item | to potential DLEP peers using the Extensions Supported data item | |||
| (Section 8.6) during the session initialization sequence. Once both | (Section 7.7) during the session initialization sequence. Once both | |||
| peers have exchanged initialization signals, an implementation MUST | peers have exchanged initialization signals, an implementation MUST | |||
| NOT emit any signal or data item associated with an optional | NOT emit any signal or data item associated with an optional | |||
| extension that was not specified in the received initialization | extension that was not specified in the received initialization | |||
| signal from its peer. | signal from its peer. | |||
| 3.2. Protocol Extensions | 3.2. Protocol Extensions | |||
| If/when protocol extensions are required, they should be standardized | If/when protocol extensions are required, they should be standardized | |||
| either as an update to this document, or as an additional stand-alone | either as an update to this document, or as an additional stand-alone | |||
| specification. The requests for IANA-controlled registries in this | specification. The requests for IANA-controlled registries in this | |||
| document contain sufficient reserved space, both in terms of DLEP | document contain sufficient reserved space, both in terms of DLEP | |||
| signals and DLEP data items, to accomodate future extensions to the | signals and DLEP data items, to accommodate future extensions to the | |||
| protocol and the data transferred. | protocol and the data transferred. | |||
| 3.3. Experimental Signals and Data Items | 3.3. Experimental Signals and Data Items | |||
| This document requests numbering space in both the DLEP signal and | This document requests numbering space in both the DLEP signal and | |||
| data item registries for experimental items. The intent is to allow | data item registries for experimental items. The intent is to allow | |||
| for experimentation with new signals and/or data items, while still | for experimentation with new signals and/or data items, while still | |||
| retaining the documented DLEP behavior. If a given experiment proves | retaining the documented DLEP behavior. If a given experiment proves | |||
| successful, it SHOULD be documented as an update to this document, or | successful, it SHOULD be documented as an update to this document, or | |||
| as a stand-alone specification. | as a stand-alone specification. | |||
| Use of the experimental signals or data items MUST be announced by | Use of the experimental signals, data items, or behaviors MUST be | |||
| inclusion of an Experimental Definition data item (Section 8.7) with | announced by inclusion of an Experimental Definition data item | |||
| a value agreed upon (a-priori) between the participating peers. The | (Section 7.8) with a value agreed upon (a-priori) between the | |||
| exact mechanism for a-priori communication of the experimental | participating peers. The exact mechanism for a-priori communication | |||
| definition formats is beyond the scope of this document. | of the experimental definition formats is beyond the scope of this | |||
| document. | ||||
| Multiple Experimental Definition data items MAY appear in the Peer | Multiple Experimental Definition data items MAY appear in the Peer | |||
| Initialization/Peer Initialization ACK sequence. However, use of | Initialization/Peer Initialization ACK sequence. However, use of | |||
| multiple experiments in a single peer session could lead to | multiple experiments in a single peer session could lead to | |||
| interoperability issues or unexpected results (e.g., redefinition of | interoperability issues or unexpected results (e.g., redefinition of | |||
| experimental signals and/or data items), and is therefore | experimental signals and/or data items), and is therefore | |||
| discouraged. It is left to implementations to determine the correct | discouraged. It is left to implementations to determine the correct | |||
| processing path (e.g., a decision on whether to terminate the peer | processing path (e.g., a decision on whether to terminate the peer | |||
| session, or to establish a precedence of the conflicting definitions) | session, or to establish a 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. | |||
| As mentioned in the introduction section of this document, metrics | As mentioned in the introduction section of this document, DLEP | |||
| have to be used within a context - for example, metrics to a unicast | allows for metrics to be sent within two contexts - metrics for a | |||
| address in the network. DLEP allows for metrics to be sent within | specific destination within the network (e.g., a specific router), | |||
| two contexts - metrics for a specific destination within the network | and 'modem-wide' (those that apply to all destinations accessed via | |||
| (e.g., a specific router), and 'modem-wide' (those that apply to all | the modem). Most metrics can be further subdivided into transmit and | |||
| destinations accessed via the modem). Metrics can be further | receive metrics. Metrics supplied on DLEP Peer signals are, by | |||
| subdivided into transmit and receive metrics. Metrics supplied on | definition, modem-wide; metrics supplied on Destination signals are, | |||
| DLEP Peer signals are, by definition, modem-wide; metrics supplied on | by definition, used for the specific logical destination only. | |||
| Destination signals are, by definition, used for the specific | ||||
| neighbor only. | ||||
| DLEP modem implementations MUST announce all supported metric items, | DLEP modem implementations MUST announce all supported metric items, | |||
| and provide default values for those metrics, in the Peer | and provide default values for those metrics, in the Peer | |||
| Initialization signal (Section 7.3). In order to introduce a new | Initialization ACK signal (Section 6.4). In order to introduce a new | |||
| metric type, DLEP modem implementations MUST terminate the session | metric type, DLEP modem implementations MUST terminate the session | |||
| with the router (via the Peer Terminate signal, Section 7.7), and re- | with the router (via the Peer Terminate signal (Section 6.7)), and | |||
| establish the session. | re-establish the 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 neighbor (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 | The approach of allowing for different contexts for metric data | |||
| increases both the flexibility and the complexity of using metric | increases both the flexibility and the complexity of using metric | |||
| data. This document details the mechanism whereby the data is | data. This document details the mechanism whereby the data is | |||
| transmitted, however, the specific algorithms (precedence, etc) for | transmitted, however, the specific algorithms (precedence, etc.) for | |||
| utilizing the dual-context metrics is out of scope and not addressed | utilizing the dual-context metrics is out of scope and not addressed | |||
| by this document. | 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 session initialization. However, an | |||
| implementation MUST include the following list of metrics: | implementation MUST include the following list of metrics: | |||
| o Maximum Data Rate (Receive) (Section 8.13) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Maximum Data Rate (Transmit) (Section 8.14) | ||||
| o Current Data Rate (Receive) (Section 8.15) | ||||
| o Current Data Rate (Transmit) (Section 8.16) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Latency (Section 8.17) | o Current Data Rate (Receive) (Section 7.16) | |||
| 5. Normal Session Flow | o Current Data Rate (Transmit) (Section 7.17) | |||
| Normal session flow for a DLEP router has two sub-cases, depending on | o Latency (Section 7.18) | |||
| whether the implementation supports the discovery process. Modem | ||||
| implementations MUST support the Discovery case; router | ||||
| implementations MAY support discovery, or rely on a-priori | ||||
| configuration to define the address(es) of attached modems. | ||||
| 5.1. DLEP Router session flow - Discovery case | 4.2. DLEP Router session flow - Discovery case | |||
| If the DLEP router implementation is utilizing the optional discovery | If the DLEP router implementation is utilizing the optional discovery | |||
| mechanism, then the implementation will initialize a UDP socket, | mechanism, then the implementation will initialize a UDP socket, | |||
| binding it to an arbitrary port. This UDP socket is used to send the | 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 | Peer Discovery signal (Section 6.1) to the DLEP link-local multicast | |||
| address and port (TBD). The implementation then waits on receipt of | address and port (TBD). The implementation then waits on receipt of | |||
| a Peer Offer signal (Section 7.2), which MUST contain the unicast | a Peer Offer signal (Section 6.2), which MAY contain the unicast | |||
| address and port for TCP-based communication with a DLEP modem. The | address and port for TCP-based communication with a DLEP modem, via | |||
| Peer Offer signal MAY contain multiple address/port combinations. If | the IPv4 Connection Point data item (Section 7.3) or the IPv6 | |||
| more than one address/port combination is in the Peer Offer, the DLEP | Connection Point data item (Section 7.4). The Peer Offer signal MAY | |||
| router implementation SHOULD consider the list to be in priority | contain multiple IP Connection Point data items. If more than one IP | |||
| sequence, with the 'most desired' address/port combination listed | Connection Point data items is in the Peer Offer, router | |||
| first. However, router implementations MAY use their own heuristics | implementations MAY use their own heuristics to determine the best | |||
| to determine the best address/port combination. At this point, the | address/port combination. If no IP Connection Point data items are | |||
| router implementation MAY either destroy the UDP socket, or continue | included in the Peer Offer signal, the receiver MUST use the origin | |||
| to issue Peer Discovery signals to the link-local address/port | address of the signal as the IP address, and the DLEP well-known port | |||
| combination. In either case, the TCP session initialization occurs | number (Section 10.7) to establish the TCP connection. At this | |||
| as in the configured case. | 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 | 4.3. DLEP Router session flow - Configured case | |||
| When a DLEP router implementation has the address and port | When a DLEP router implementation has the address and port | |||
| information for a TCP connection to a modem (obtained either via | information for a TCP connection to a modem (obtained either via | |||
| configuration or via the discovery process described above), the | configuration or via the discovery process described above), the | |||
| router will initialize and bind a TCP socket. This socket is used to | router will initialize and bind a TCP socket. This socket is used to | |||
| connect to the DLEP modem software. After a successful TCP connect, | connect to the DLEP modem software. After a successful TCP connect, | |||
| the modem implementation MUST issue a Peer Initialization signal | the router implementation MUST issue a Peer Initialization signal | |||
| (Section 7.3) to the DLEP router. The Peer Initialization signal | (Section 6.3) to the DLEP modem. After sending the Peer | |||
| MUST contain data items for ALL supported metrics from this modem, | Initialization, the router implementation MUST wait for receipt of a | |||
| along with the default values of those metrics. After sending the | Peer Initialization ACK signal (Section 6.4) from the modem. Receipt | |||
| Peer Initialization, the modem implementation MUST wait for receipt | of the Peer Initialization ACK signal containing a Status data item | |||
| of a Peer Initialization ACK signal (Section 7.4) from the router. | (Section 7.2) with value 'Success', indicates that the modem has | |||
| Receipt of the Peer Initialization ACK signal indicates that the | received and processed the Peer Initialization, and the session MUST | |||
| router has received and processed the Peer Initialization, and the | transition to the 'in session' state. At this point, signals | |||
| session MUST transition to the 'in session' state. At this point, | regarding destinations in the network, and/or Peer Update signals | |||
| signals regarding destinations in the network, and/or Peer Update | (Section 6.5), can flow on the DLEP session between modem and router, | |||
| signals (Section 7.5), can flow on the DLEP session between modem and | and Heartbeat signals can begin to flow, if Heartbeats are used. The | |||
| router. The 'in session' state is maintained until one of the | 'in session' state is maintained until one of the following | |||
| following conditions occur: | conditions occur: | |||
| o The session is explicitly terminated (using Peer Termination), or | o The session is explicitly terminated (using Peer Termination), or | |||
| o The session times out, based on supplied timeout values. | o The session times out, based on supplied timeout values. | |||
| 5.3. DLEP Modem session flow | 4.4. DLEP Modem session flow | |||
| DLEP modem implementations MUST support the discovery mechanism. | DLEP modem implementations MUST support the discovery mechanism. | |||
| Therefore, the normal flow is as follows: | Therefore, the normal flow is as follows: | |||
| The implementation will initialize a UDP socket, binding that socket | The implementation will initialize a UDP socket, binding that socket | |||
| to the DLEP link-local multicast address (TBD) and the DLEP well- | to the DLEP link-local multicast address (TBD) and the DLEP well- | |||
| known port number (also TBD). The implementation will then | known port number (also TBD). The implementation will then | |||
| initialize a TCP socket, on a unicast address and port. This socket | initialize a TCP socket, on a unicast address and port. This socket | |||
| is used to listen for incoming TCP connection requests. | is used to listen for incoming TCP connection requests. | |||
| When the modem implementation receives a Peer Discovery signal | When the modem implementation receives a Peer Discovery signal | |||
| (Section 7.1) on the UDP socket, it responds by issuing a Peer Offer | (Section 6.1) on the UDP socket, it responds by issuing a Peer Offer | |||
| signal (Section 7.2) to the sender of the Peer Discovery signal. The | signal (Section 6.2) to the sender of the Peer Discovery signal. The | |||
| Peer Offer signal MUST contain the unicast address and port of the | Peer Offer signal MAY contain the unicast address and port of the | |||
| TCP listen socket, described above. A DLEP modem implementation MAY | listening TCP socket, as described above. A DLEP modem | |||
| respond with ALL address/port combinations that have an active TCP | implementation MAY respond with ALL address/port combinations that | |||
| listen posted. If multiple address/port combinations are listed, the | have an active TCP listen posted. Anything other than Peer Discovery | |||
| receiver of the Peer Offer signal MAY connect on any available | signals received on the UDP socket MUST be silently dropped. | |||
| address/port pair. 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 | When the DLEP modem implementation accepts a connection via TCP, it | |||
| MUST send a Peer Initialization signal (Section 7.3). The Peer | MUST wait for receipt of a Peer Initialization signal (Section 6.3), | |||
| Initialization signal MUST contain metric data items for ALL | sent by the router. Upon receipt and successful parsing of a Peer | |||
| supported metrics. If an additional metric is to be introduced, the | Initialization signal, the modem MUST respond with a Peer | |||
| DLEP session between router and modem MUST be terminated and | Initialization ACK signal (Section 6.4). The Peer Initialization ACK | |||
| restarted, and the new metric described in a Peer Initialization | signal MUST contain metric data items for ALL supported metrics. If | |||
| signal. | an additional metric is to be introduced, the DLEP session between | |||
| router and modem MUST be terminated and restarted, and the new metric | ||||
| described in a Peer Initialization ACK signal. Once the Peer | ||||
| Initialization signal (Section 6.3) and Peer Initialization ACK | ||||
| signal (Section 6.4) have been exchanged, the session is transitioned | ||||
| 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 6.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 | 4.5. Common Session Flow | |||
| In order to maintain the session between router and modem, periodic | In order to maintain the session between router and modem, periodic | |||
| Heartbeat signals (Section 7.14) MAY be exchanged. These signals are | Heartbeat signals (Section 6.14) MAY be exchanged. These signals are | |||
| intended to keep the session alive, and to verify bidirectional | intended to keep the session alive, and to verify bidirectional | |||
| connectivity between the two participants. DLEP also provides a Peer | connectivity between the two participants. If [Heartbeat | |||
| Update signal (Section 7.5), intended to communicate some change in | signals]#(sig_heartbeat) are exchanged, they do not begin until the | |||
| status (e.g., a change of layer 3 address parameters, or a modem-wide | DLEP peer session has entered the 'in session' state. Each DLEP peer | |||
| link change). | is responsible for the creation of Heartbeat signals (Section 6.14). | |||
| Receipt of any DLEP signal SHOULD reset the heartbeat interval timer | ||||
| (e.g., valid DLEP signals take the place of, and obviate the need | ||||
| for, Heartbeat signals). | ||||
| DLEP also provides a Peer Update signal (Section 6.5), intended to | ||||
| communicate some change in status (e.g., a change of layer 3 address | ||||
| parameters, or a modem-wide link change). | ||||
| In addition to the local (Peer level) signals above, the participants | In addition to the local (Peer level) signals above, the participants | |||
| will transmit DLEP signals concerning destinations in the network. | will transmit DLEP signals concerning destinations in the network. | |||
| These signals trigger creation/maintenance/deletion of destinations | These signals trigger creation/maintenance/deletion of destinations | |||
| in the information base of the recipient. For example, a modem will | in the information base of the recipient. For example, a modem will | |||
| inform its attached router of the presence of a new destination via | inform its attached router of the presence of a new destination via | |||
| the Destination Up signal (Section 7.9). Receipt of a Destination Up | the Destination Up signal (Section 6.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 neighbor. The loss of a destination | Latency, Data Rate, etc.) of the destination. The loss of a | |||
| is communicated via the Destination Down signal (Section 7.11), and | destination is communicated via the Destination Down signal | |||
| changes in status to the destination (e.g., varying link quality, or | (Section 6.11), and changes in status to the destination (e.g., | |||
| addressing changes) are communicated via the Destination Update | varying link quality, or addressing changes) are communicated via the | |||
| signal (Section 7.13). The information on a given neighbor will | Destination Update signal (Section 6.13). The information on a given | |||
| persist in the router's information base until (1) a Destination Down | destination will persist in the router's information base until (1) a | |||
| signal is received, indicating that the modem has lost contact with | Destination Down signal is received, indicating that the modem has | |||
| the remote node, or (2) the router/modem session terminates, | lost contact with the remote node, or (2) the router/modem session | |||
| indicating that the router has lost contact with its own local modem. | terminates, indicating that the router has lost contact with its own | |||
| local modem. | ||||
| Metrics can be expressed within the context of a specific neighbor | Metrics can be expressed within the context of a specific destination | |||
| via the Destination Update signal, or on a modem-wide basis via the | via the Destination Update signal, or on a modem-wide basis via the | |||
| Peer Update signal. In cases where metrics are provided on the | Peer Update signal. In cases where metrics are provided at peer | |||
| router/modem session, the receiver MUST propagate the metrics to all | level, the receiver MUST propagate the metrics to all destinations in | |||
| destinations in its information base that are accessed via the | its information base that are accessed via the originator. A DLEP | |||
| originator. A DLEP participant MAY send metrics both in a router/ | participant MAY send metrics both in a router/modem session context | |||
| modem session context (via the Peer Update signal) and a specific | (via the Peer Update signal) and a specific destination context (via | |||
| neighbor context (via Destination Update) at any time. The | Destination Update) at any time. The heuristics for applying | |||
| heuristics for applying received metrics is left to implementations. | 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, | signal allowing a router to request a different datarate, or latency, | |||
| from the modem. This signal is referred to as the Link | from the modem. This signal is referred to as the Link | |||
| Characteristics Request signal (Section 7.15), and gives the router | Characteristics Request signal (Section 6.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 Message Processing | 5. DLEP Message Processing | |||
| Communication between DLEP peers consists of a bidirectional stream | Communication between DLEP peers consists of a bidirectional stream | |||
| of signals, each signal consisting of a signal header and an | of signals, each signal consisting of a signal header and an | |||
| unordered list of data items. Both signal headers and data items are | unordered list of data items. Both signal headers and data items are | |||
| encoded as TLV (Type-Length-Value) structures. In this document, the | encoded as TLV (Type-Length-Value) structures. In this document, the | |||
| data items following the signal header are described as being | data items following the signal header are described as being | |||
| 'contained in' the signal. | 'contained in' the signal. | |||
| All integer values in all TLV structures MUST be in network byte- | All integer values in all TLV structures MUST be in network byte- | |||
| order. | order. | |||
| 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 | signal, 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 declared by the type in the signal | |||
| header. | header. | |||
| If an unrecognized, or unexpected signal is received, or a received | If an unrecognized, or unexpected signal is received, or a received | |||
| signal contains unrecognized, invalid or disallowed duplicate data | signal contains unrecognized, invalid or disallowed duplicate data | |||
| items, the receiving peer MUST terminate the session by issuing a | items, the receiving peer MUST terminate the session by issuing a | |||
| Peer Termination signal (Section 7.7) with a Status data item | Peer Termination signal (Section 6.7) with a Status data item | |||
| (Section 8.2) containing the most relevant status code, and then | (Section 7.2) containing the most relevant status code, and then | |||
| close the TCP connection: | close the TCP connection. | |||
| 6.1. DLEP Signal Header | 5.1. DLEP Signal Header | |||
| The DLEP signal header contains the following fields: | The DLEP signal header contains the following fields: | |||
| 0 1 2 3 | 0 1 2 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Signal Type | Length | Data Items... | | Signal Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 3: DLEP Signal Header | Figure 3: DLEP Signal Header | |||
| Signal Type: One of the DLEP Signal Type values defined in this | Signal Type: One of the DLEP Signal Type values defined in this | |||
| document. | document. | |||
| Length: The length, expressed as a 16-bit unsigned integer, of all | Length: The length, expressed as a 16-bit unsigned integer, of all | |||
| of the DLEP data items associated with this signal. This length | of the DLEP data items associated with this signal. This length | |||
| does not include the length of the header itself | does not include the length of the header itself | |||
| Data Items: One or more DLEP data items, encoded in TLVs, as defined | The DLEP Signal Header is immediately followed bu one or more DLEP | |||
| in this document. | data items, encoded in TLVs, as defined in this document. | |||
| 6.2. DLEP Generic Data Item | 5.2. 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 4: DLEP Generic Data Item | |||
| Data Item Type: An 8-bit unsigned integer field specifying the data | Data Item Type: An 8-bit unsigned integer field specifying the data | |||
| item being sent. | item being sent. | |||
| Length: An 8-bit length of the value field of the data item. | Length: The length, expressed as an 8-bit unsigned integer, of the | |||
| value field of the data item. | ||||
| Value: A field of length <Length> which contains data specific to a | Value: A field of length <Length> which contains data specific to a | |||
| particular data item. | particular data item. | |||
| 7. DLEP Signals | 6. DLEP Signals | |||
| 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 structure. Therefore, in the following descriptions of | |||
| specific signals, this header structure is assumed, and will not be | specific signals, this header structure is assumed, and will not be | |||
| replicated. | replicated. | |||
| Following is the set of MANDATORY signals that must be recognized by | Following is the set of MANDATORY signals that must be recognized by | |||
| a DLEP compliant implementation. As mentioned before, not all | a DLEP compliant implementation. As mentioned before, not all | |||
| signals may be used during a session, but an implementation MUST | signals may be used during a session, but an implementation MUST | |||
| correctly process these signals when received. | correctly process these signals when received. | |||
| The mandatory DLEP signals are: | The mandatory DLEP signals are: | |||
| +---------+-------------------------------+---------------+ | +---------+-------------------------------+---------------+ | |||
| | Signal | Description | Section | | | Signal | Description | Section | | |||
| +---------+-------------------------------+---------------+ | +---------+-------------------------------+---------------+ | |||
| | TBD | Peer Discovery | Section 7.1 | | | TBD | Peer Discovery | Section 6.1 | | |||
| | TBD | Peer Offer | Section 7.2 | | | TBD | Peer Offer | Section 6.2 | | |||
| | TBD | Peer Initialization | Section 7.3 | | | TBD | Peer Initialization | Section 6.3 | | |||
| | TBD | Peer Initialization ACK | Section 7.4 | | | TBD | Peer Initialization ACK | Section 6.4 | | |||
| | TBD | Peer Update | Section 7.5 | | | TBD | Peer Update | Section 6.5 | | |||
| | TBD | Peer Update ACK | Section 7.6 | | | TBD | Peer Update ACK | Section 6.6 | | |||
| | TBD | Peer Termination | Section 7.7 | | | TBD | Peer Termination | Section 6.7 | | |||
| | TBD | Peer Termination ACK | Section 7.8 | | | TBD | Peer Termination ACK | Section 6.8 | | |||
| | TBD | Destination Up | Section 7.9 | | | TBD | Destination Up | Section 6.9 | | |||
| | TBD | Destination Up ACK | Section 7.10 | | | TBD | Destination Up ACK | Section 6.10 | | |||
| | TBD | Destination Down | Section 7.11 | | | TBD | Destination Down | Section 6.11 | | |||
| | TBD | Destination Down ACK | Section 7.12 | | | TBD | Destination Down ACK | Section 6.12 | | |||
| | TBD | Destination Update | Section 7.13 | | | TBD | Destination Update | Section 6.13 | | |||
| | TBD | Heartbeat | Section 7.14 | | | TBD | Heartbeat | Section 6.14 | | |||
| | TBD | Link Characteristics Request | Section 7.15 | | | TBD | Link Characteristics Request | Section 6.15 | | |||
| | TBD | Link Characteristics ACK | Section 7.16 | | | TBD | Link Characteristics ACK | Section 6.16 | | |||
| +---------+-------------------------------+---------------+ | +---------+-------------------------------+---------------+ | |||
| 7.1. Peer Discovery Signal | 6.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 | |||
| routers in the network. The Peer Offer signal (Section 7.2) is | modems in the network. The Peer Offer signal (Section 6.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 (value TBD). | signal header is set to DLEP_PEER_DISCOVERY (value TBD). | |||
| The Peer Discovery signal MUST contain one of each of the following | The Peer Discovery signal MUST contain the following data item: | |||
| data items: | ||||
| o DLEP Version (Section 8.1) | o DLEP Version (Section 7.1) | |||
| o Heartbeat Interval (Section 8.5) | The Peer Discovery signal MAY contain the following data item: | |||
| 7.2. Peer Offer Signal | o Peer Type (Section 7.5) | |||
| 6.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 | |||
| Peer Discovery signal (Section 7.1). Upon receipt, and processing, | valid Peer Discovery signal (Section 6.1). | |||
| of a Peer Offer signal, the router responds by issuing a TCP connect | ||||
| to the address/port combination specified in the received Peer Offer. | ||||
| 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 Peer Discovery. | 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 (value TBD). | header is set to DLEP_PEER_OFFER (value TBD). | |||
| The Peer Offer signal MUST contain one of each of the following data | The Peer Offer signal MUST contain the following data item: | |||
| items: | ||||
| o DLEP Version (Section 8.1) | ||||
| o Heartbeat Interval (Section 8.5) | ||||
| The Peer Offer signal MAY contain one of each of the following data | o DLEP Version (Section 7.1) | |||
| items: | ||||
| o Peer Type (Section 8.4) | The Peer Offer signal MAY contain the following data item: | |||
| o DLEP Port (Section 8.3) | o Peer Type (Section 7.5) | |||
| 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 Address (Section 8.9), with Add/Drop indicator = 1 | o IPv4 Connection Point (Section 7.3) | |||
| o IPv6 Address (Section 8.10), with Add/Drop indicator = 1 | ||||
| If the Peer Offer signal includes a DLEP Port data item, the port | o IPv6 Connection Point (Section 7.4) | |||
| number specified MUST be used to establish the TCP session. If the | ||||
| DLEP Port number is omitted, the receiver MUST use the DLEP well- | ||||
| known port number (Section 11.7) to establish the TCP connection. | ||||
| The IP Address data items indicate the unicast address the receiver | The IP Connection Point data items indicate the unicast address the | |||
| of Peer Offer MUST use when connecting the DLEP TCP session. If | receiver of Peer Offer MUST use when connecting the DLEP TCP session. | |||
| multiple IP Address items are present in the Peer Offer signal, | If multiple IP Connection Point data items are present in the Peer | |||
| implementations MAY use their own heuristics to select the address to | Offer signal, implementations MAY use their own heuristics to select | |||
| connect to. If no IP Address data items are included in the Peer | the address to connect to. If no IP Connection Point data items are | |||
| Offer signal, the receiver MUST use the origin address of the signal | included in the Peer Offer signal, the receiver MUST use the origin | |||
| as the IP address to establish the TCP connection. | address of the signal as the IP address, and the DLEP well-known port | |||
| number (Section 10.7) to establish the TCP connection. | ||||
| 7.3. Peer Initialization Signal | 6.3. Peer Initialization Signal | |||
| A Peer Initialization signal MUST be sent by a router as the first | A Peer Initialization signal MUST be sent by a router as the first | |||
| signal of the DLEP TCP session. It is sent by the router after a TCP | signal of the DLEP TCP session. It is sent by the router after a TCP | |||
| connect to an address/port combination that was obtained either via | connect to an address/port combination that was obtained either via | |||
| receipt of a Peer Offer, or from a-priori configuration. | 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 Peer | |||
| Initialization signal, the receiver of the signal MUST conclude that | Initialization signal, the receiver of the signal MUST conclude that | |||
| skipping to change at page 19, line 33 ¶ | skipping to change at page 19, line 24 ¶ | |||
| items in a Peer Initialization signal, the receiver of the signal | items in a Peer Initialization signal, the receiver of the signal | |||
| MUST conclude that NO experimental definitions are in use by the | MUST conclude that NO experimental definitions are in use by the | |||
| sender. | sender. | |||
| To construct a Peer Initialization signal, the Signal Type value in | To construct a Peer Initialization signal, the Signal Type value in | |||
| the signal header is set to DLEP_PEER_INITIALIZATION (value TBD). | the signal header is set to DLEP_PEER_INITIALIZATION (value TBD). | |||
| The Peer Initialization signal MUST contain one of each of the | The Peer Initialization signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o DLEP Version (Section 8.1) | o DLEP Version (Section 7.1) | |||
| o Heartbeat Interval (Section 8.5) | o Heartbeat Interval (Section 7.6) | |||
| The Peer Initialization signal MAY contain one of each of the | The Peer Initialization signal MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Peer Type (Section 8.4) | o Peer Type (Section 7.5) | |||
| o Extensions Supported (Section 8.6) | o Extensions Supported (Section 7.7) | |||
| The Peer Initialization signal MAY contain one or more of any of the | The Peer Initialization signal MAY contain one or more of any of the | |||
| following data items, with different values: | following data items, with different values: | |||
| o Experimental Definition (Section 8.7) | o Experimental Definition (Section 7.8) | |||
| 7.4. Peer Initialization ACK Signal | A Peer Initialization signal MUST be acknowledged by the receiver | |||
| issuing a Peer Initialization ACK signal (Section 6.4). | ||||
| 6.4. Peer Initialization ACK Signal | ||||
| A Peer Initialization ACK signal MUST be sent in response to a | A Peer Initialization ACK signal MUST be sent in response to a | |||
| received Peer Initialization signal (Section 7.3). The Peer | received Peer Initialization signal (Section 6.3). The Peer | |||
| Initialization ACK signal completes the TCP-level DLEP session | Initialization ACK signal completes the DLEP session establishment; | |||
| establishment; the sender of the signal should transition to an 'in- | the sender of the signal should transition to an 'in- session' state | |||
| session' state when the signal is sent, and the receiver should | when the signal is sent, and the receiver should transition to the | |||
| transition to the 'in-session' state upon receipt (and successful | 'in-session' state upon receipt (and successful parsing) of an | |||
| parsing) of a Peer Initialization ACK signal. | acceptable Peer Initialization ACK signal. | |||
| All supported metric data items MUST be included in the Peer | All supported metric data items MUST be included in the Peer | |||
| Initialization ACK signal, with default values to be used on a | Initialization ACK signal, 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 signal containing a metric data item NOT included in the Peer | |||
| Initialization ACK signal MUST be treated as an error, resulting in | Initialization ACK signal MUST be treated as an error, resulting in | |||
| the termination of the DLEP session between router and modem. | 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 | |||
| skipping to change at page 20, line 47 ¶ | skipping to change at page 20, line 37 ¶ | |||
| been successfully exchanged, implementations MUST only utilize | been successfully exchanged, implementations MUST only utilize | |||
| extensions and experimental definitions that are supported by BOTH | extensions and experimental definitions that are supported by BOTH | |||
| peers. | peers. | |||
| To construct a Peer Initialization ACK signal, the Signal Type value | To construct a Peer Initialization ACK signal, the Signal Type value | |||
| in the signal header is set to DLEP_PEER_INIT_ACK (value TBD). | in the signal header is set to DLEP_PEER_INIT_ACK (value TBD). | |||
| The Peer Initialization ACK signal MUST contain one of each of the | The Peer Initialization ACK signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o DLEP Version (Section 8.1) | o DLEP Version (Section 7.1) | |||
| o Heartbeat Interval (Section 8.5) | o Heartbeat Interval (Section 7.6) | |||
| o Maximum Data Rate (Receive) (Section 8.13) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Maximum Data Rate (Transmit) (Section 8.14) | ||||
| o Current Data Rate (Receive) (Section 8.15) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Current Data Rate (Receive) (Section 7.16) | |||
| o Latency (Section 8.17) | o Current Data Rate (Transmit) (Section 7.17) | |||
| The Peer Initialization ACK signal MAY contain one of each of the | o Latency (Section 7.18) | |||
| following data items: | The Peer Initialization ACK signal MUST contain one of each of the | |||
| following data items, if the data item will be used during the | ||||
| lifetime of the session: | ||||
| o Status (Section 8.2) | o Resources (Receive) (Section 7.19) | |||
| o Peer Type (Section 8.4) | o Resources (Transmit) (Section 7.20) | |||
| o Resources (Receive) (Section 8.18) | o Relative Link Quality (Receive) (Section 7.21) | |||
| o Resources (Transmit) (Section 8.19) | o Relative Link Quality (Transmit) (Section 7.22) | |||
| o Relative Link Quality (Receive) (Section 8.20) | The Peer Initialization ACK signal MAY contain one of each of the | |||
| following data items: | ||||
| o Relative Link Quality (Transmit) (Section 8.21) | o Status (Section 7.2) | |||
| o Extensions Supported (Section 8.6) | o Peer Type (Section 7.5) | |||
| o Extensions Supported (Section 7.7) | ||||
| The Peer Initialization ACK signal MAY contain one or more of any of | The Peer Initialization ACK signal MAY contain one or more of any of | |||
| the following data items, with different values: | the following data items, with different values: | |||
| o Experimental Definition (Section 8.7) | o Experimental Definition (Section 7.8) | |||
| 7.5. Peer Update Signal | 6.5. Peer Update Signal | |||
| A Peer Update signal MAY be sent by a DLEP peer to indicate local | A Peer Update signal MAY be sent by a DLEP peer to indicate local | |||
| Layer 3 address changes, or for 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, a modem that | Peer Update signal to its attached DLEP modems. Also, for example, a | |||
| changes its Maximum Data Rate for all destinations MAY reflect that | modem that changes its Maximum Data Rate (Receive) for all | |||
| change via a Peer Update signal to its attached router(s). | destinations MAY reflect that change via a Peer Update signal to 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 | signal (Section 6.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 the Peer Update signal. Modems that | SHOULD silently parse and ignore the Peer Update signal. Modems that | |||
| track Layer 3 addresses MUST acknowledge the Peer Update with a Peer | track Layer 3 addresses MUST acknowledge the Peer Update with a Peer | |||
| Update ACK signal (Section 7.6). Routers receiving a Peer Update | Update ACK signal (Section 6.6). | |||
| with metric changes MUST apply the new metric to all destinations | ||||
| (remote nodes) accessible via the modem. Supporting implementations | ||||
| are free to employ heuristics to retransmit Peer Update signals. The | ||||
| sending of Peer Update signals for Layer 3 address changes SHOULD | ||||
| cease when a either participant (router or modem) determines that the | ||||
| other implementation does NOT support Layer 3 address tracking. | ||||
| If metrics are supplied with the Peer Update signal (e.g., Maximum | If metrics are supplied with the Peer Update signal (e.g., Maximum | |||
| Data Rate), these metrics are considered to be modem-wide, and | Data Rate), these metrics are considered to be modem-wide, and | |||
| therefore MUST be applied to all destinations in the information base | therefore MUST be applied to all destinations in the information base | |||
| associated with the router/modem session. | associated with the router/modem session. | |||
| Supporting implementations are free to employ heuristics to | ||||
| retransmit Peer Update signals. The sending of Peer Update signals | ||||
| for Layer 3 address changes SHOULD cease when either participant | ||||
| (router or modem) determines that the other implementation does NOT | ||||
| support Layer 3 address tracking. | ||||
| To construct a Peer Update signal, the Signal Type value in the | To construct a Peer Update signal, the Signal Type value in the | |||
| signal header is set to DLEP_PEER_UPDATE (value TBD). | signal header is set to DLEP_PEER_UPDATE (value TBD). | |||
| The Peer Update signal MAY contain one of each of the following data | The Peer Update signal MAY contain one of each of the following data | |||
| items: | items: | |||
| o Maximum Data Rate (Receive) (Section 8.13) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Maximum Data Rate (Transmit) (Section 8.14) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Current Data Rate (Receive) (Section 8.15) | o Current Data Rate (Receive) (Section 7.16) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Current Data Rate (Transmit) (Section 7.17) | |||
| o Latency (Section 8.17) | o Latency (Section 7.18) | |||
| o Resources (Receive) (Section 8.18) | o Resources (Receive) (Section 7.19) | |||
| o Resources (Transmit) (Section 8.19) | o Resources (Transmit) (Section 7.20) | |||
| o Relative Link Quality (Receive) (Section 8.20) | o Relative Link Quality (Receive) (Section 7.21) | |||
| o Relative Link Quality (Transmit) (Section 8.21) | o Relative Link Quality (Transmit) (Section 7.22) | |||
| The Peer Update signal MAY contain one or more of the following data | The Peer Update signal MAY contain one or more of the following data | |||
| items, with different values: | items, with different values: | |||
| o IPv4 Address (Section 8.9) | o IPv4 Address (Section 7.10) | |||
| o IPv6 Address (Section 8.10) | o IPv6 Address (Section 7.11) | |||
| 7.6. Peer Update ACK Signal | A Peer Update signal MUST be acknowledged by the receiver issuing a | |||
| Peer Update ACK signal (Section 6.6). | ||||
| A Peer Update ACK signal MUST be sent by implementations supporting | 6.6. Peer Update ACK Signal | |||
| Layer 3 address tracking and/or modem-wide metrics to indicate | ||||
| whether a Peer Update signal (Section 7.5) was successfully | A Peer Update ACK signal MUST be sent by implementations to indicate | |||
| processed. If the Peer Update ACK is issued, it MUST contain a | whether a Peer Update signal (Section 6.5) was successfully received. | |||
| Status data item, indicating the success or failure of processing the | ||||
| received Peer Update. | ||||
| To construct a Peer Update ACK signal, the Signal Type value in the | To construct a Peer Update ACK signal, the Signal Type value in the | |||
| signal header is set to DLEP_PEER_UPDATE_ACK (value TBD). | signal header is set to DLEP_PEER_UPDATE_ACK (value TBD). | |||
| The Peer Update ACK signal MAY contain one of each of the following | The Peer Update ACK signal MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Status (Section 8.2) | o Status (Section 7.2) | |||
| A receiver of a Peer Update ACK signal without a Status data item | A receiver of a Peer Update ACK signal without a Status data item | |||
| MUST behave as if a Status data item with code 'Success' had been | MUST behave as if a Status data item with code 'Success' had been | |||
| received. | received. | |||
| 7.7. Peer Termination Signal | 6.7. Peer Termination Signal | |||
| A Peer Termination signal MUST be sent by a DLEP participant when the | A Peer Termination signal MUST be sent by a DLEP participant when the | |||
| router/modem session needs to be terminated. Implementations | router/modem session needs to be terminated. Implementations | |||
| receiving a Peer Termination signal MUST send a Peer Termination ACK | receiving a Peer Termination signal MUST send a Peer Termination ACK | |||
| signal (Section 7.8) to confirm the termination process. The sender | signal (Section 6.8) to confirm the termination process. | |||
| of a Peer Termination signal is free to define its heuristics in | ||||
| event of a timeout. The receiver of a Peer Termination signal MUST | The receiver of a Peer Termination signal MUST release all resources | |||
| release all resources allocated for the router/modem session, and | allocated for the router/modem session, and MUST eliminate all | |||
| MUST eliminate all destinations in the information base accessible | destinations in the information base accessible via the router/modem | |||
| via the router/modem pair represented by the session. Router and | pair represented by the session. Router and modem state machines are | |||
| modem state machines are returned to the 'discovery' state. No | returned to the 'discovery' state. No Destination Down signals | |||
| Destination Down signals (Section 7.11) are sent. | (Section 6.11) are sent. | |||
| The sender of a Peer Termination signal is free to define its | ||||
| heuristics in event of a timeout. It may resend the Peer Termination | ||||
| or free resources and return to the 'discovery' state. | ||||
| To construct a Peer Termination signal, the Signal Type value in the | To construct a Peer Termination signal, the Signal Type value in the | |||
| signal header is set to DLEP_PEER_TERMINATION (value TBD). | signal header is set to DLEP_PEER_TERMINATION (value TBD). | |||
| The Peer Termination signal MAY contain one of each of the following | The Peer Termination signal MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Status (Section 8.2) | o Status (Section 7.2) | |||
| A receiver of a Peer Termination signal without a Status data item | A receiver of a Peer Termination signal without a Status data item | |||
| MUST behave as if a Status data item with status code 'Success' had | MUST behave as if a Status data item with status code 'Success', | |||
| been received. | implying graceful termination, had been received. | |||
| 7.8. Peer Termination ACK Signal | A Peer Termination signal MUST be acknowledged by the receiver | |||
| issuing a Peer Termination ACK signal (Section 6.8). | ||||
| 6.8. Peer Termination ACK Signal | ||||
| A Peer Termination ACK signal MUST be sent by a DLEP peer in response | A Peer Termination ACK signal MUST be sent by a DLEP peer in response | |||
| to a received Peer Termination signal (Section 7.7). Receipt of a | to a received Peer Termination signal (Section 6.7). Receipt of a | |||
| Peer Termination ACK signal completes the teardown of the router/ | Peer Termination ACK signal completes the teardown of the router/ | |||
| modem session. | modem session. | |||
| To construct a Peer Termination ACK signal, the Signal Type value in | To construct a Peer Termination ACK signal, the Signal Type value in | |||
| the signal header is set to DLEP_PEER_TERMINATION_ACK (value TBD). | the signal header is set to DLEP_PEER_TERMINATION_ACK (value TBD). | |||
| The Peer Termination ACK signal MAY contain one of each of the | The Peer Termination ACK signal MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 8.2) | o Status (Section 7.2) | |||
| A receiver of a Peer Termination ACK signal without a Status data | A receiver of a Peer Termination ACK signal without a Status data | |||
| item MUST behave as if a Status data item with status code 'Success' | item MUST behave as if a Status data item with status code 'Success', | |||
| had been received. | implying graceful termination, had been received. | |||
| 7.9. Destination Up Signal | 6.9. Destination Up Signal | |||
| A DLEP participant MUST send a Destination Up signal to report that a | A Destination Up signal can be sent either by the modem, to indicate | |||
| new destination has been detected. A Destination Up ACK signal | ||||
| (Section 7.10) is required to confirm a received Destination Up. A | ||||
| Destination Up signal 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) exists in the network. | group) in the network. | |||
| The sender of the Destination Up signal is free to define its retry | A Destination Up signal MUST be acknowledged by the receiver issuing | |||
| heuristics in event of a timeout. When a Destination Up signal is | a Destination Up ACK signal (Section 6.10). The sender of the | |||
| received and successfully processed, the receiver should add | Destination Up signal is free to define its retry heuristics in event | |||
| knowledge of the new destination to its information base, indicating | of a timeout. When a Destination Up signal is received and | |||
| that the destination is accessible via the modem/router pair. | successfully processed, the receiver should add knowledge of the new | |||
| destination to its information base, indicating that the destination | ||||
| is accessible via the modem/router pair. | ||||
| To construct a Destination Up signal, the Signal Type value in the | To construct a Destination Up signal, the Signal Type value in the | |||
| signal header is set to DLEP_DESTINATION_UP (value TBD). | signal header is set to DLEP_DESTINATION_UP (value TBD). | |||
| The Destination Up signal MUST contain one of each of the following | The Destination Up signal MUST contain one of each of the following | |||
| data items: | data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Destination Up signal MAY contain one of each of the following | The Destination Up signal MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Maximum Data Rate (Receive) (Section 8.13) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Maximum Data Rate (Transmit) (Section 8.14) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Current Data Rate (Receive) (Section 7.16) | ||||
| o Current Data Rate (Receive) (Section 8.15) | o Current Data Rate (Transmit) (Section 7.17) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Latency (Section 7.18) | |||
| o Latency (Section 8.17) | o Resources (Receive) (Section 7.19) | |||
| o Resources (Receive) (Section 8.18) | ||||
| o Resources (Transmit) (Section 8.19) | o Resources (Transmit) (Section 7.20) | |||
| o Relative Link Quality (Receive) (Section 8.20) | o Relative Link Quality (Receive) (Section 7.21) | |||
| o Relative Link Quality (Transmit) (Section 8.21) | o Relative Link Quality (Transmit) (Section 7.22) | |||
| The Destination Up signal MAY contain one or more of the following | The Destination Up signal MAY contain one or more of the following | |||
| data items, with different values: | data items, with different values: | |||
| o IPv4 Address (Section 8.9) | o IPv4 Address (Section 7.10) | |||
| o IPv6 Address (Section 8.10) | o IPv6 Address (Section 7.11) | |||
| o IPv4 Attached Subnet (Section 8.11) | o IPv4 Attached Subnet (Section 7.12) | |||
| o IPv6 Attached Subnet (Section 8.12) | o IPv6 Attached Subnet (Section 7.13) | |||
| 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 signal, reducing the need for the receiver to probe | |||
| for any address. | for any address. | |||
| 7.10. Destination Up ACK Signal | 6.10. Destination Up ACK Signal | |||
| A DLEP participant MUST send a Destination Up ACK signal to indicate | A DLEP participant MUST send a Destination Up ACK signal to indicate | |||
| whether a Destination Up signal (Section 7.9) was successfully | whether a Destination Up signal (Section 6.9) was successfully | |||
| processed. | processed. | |||
| To construct a Destination Up ACK signal, the Signal Type value in | To construct a Destination Up ACK signal, the Signal Type value in | |||
| the signal header is set to DLEP_DESTINATION_UP_ACK (value TBD). | the signal header is set to DLEP_DESTINATION_UP_ACK (value TBD). | |||
| The Destination Up ACK signal MUST contain one of each of the | The Destination Up ACK signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Destination Up ACK signal MAY contain one of each of the | The Destination Up ACK signal MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Status (Section 8.2) | o Status (Section 7.2) | |||
| A receiver of a Destination Up ACK signal without a Status data item | 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 | MUST behave as if a Status data item with status code 'Success' had | |||
| been received. | been received. | |||
| 7.11. Destination Down Signal | 6.11. Destination Down Signal | |||
| A DLEP peer MUST send a Destination Down signal to report when a | A DLEP peer MUST send a Destination Down signal 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 ACK signal (Section 6.12) MUST be sent | |||
| by the recipient of a Destination Down signal to confirm that the | by the recipient of a Destination Down signal to confirm that the | |||
| relevant data has been removed from the information base. The sender | relevant data has been removed from the information base. The sender | |||
| of the Destination Down signal is free to define its retry heuristics | of the Destination Down signal is free to define its retry heuristics | |||
| in event of a timeout. | in event of a timeout. | |||
| To construct a Destination Down signal, the Signal Type value in the | To construct a Destination Down signal, the Signal Type value in the | |||
| signal header is set to DLEP_DESTINATION_DOWN (value TBD). | signal header is set to DLEP_DESTINATION_DOWN (value TBD). | |||
| The Destination Down signal MUST contain one of each of the following | The Destination Down signal MUST contain one of each of the following | |||
| data items: | data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| 7.12. Destination Down ACK Signal | 6.12. Destination Down ACK Signal | |||
| A DLEP participant MUST send a Destination Down ACK signal to | A DLEP participant MUST send a Destination Down ACK signal to | |||
| indicate whether a received Destination Down signal (Section 7.11) | indicate whether a received Destination Down signal (Section 6.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 ACK MUST have removed all entries in the information base that | |||
| pertain to the referenced destination. | pertain to the referenced destination. | |||
| To construct a Destination Down ACK signal, the Signal Type value in | To construct a Destination Down ACK signal, the Signal Type value in | |||
| the signal header is set to DLEP_DESTINATION_DOWN_ACK (value TBD). | the signal header is set to DLEP_DESTINATION_DOWN_ACK (value TBD). | |||
| The Destination Down ACK signal MUST contain one of each of the | The Destination Down ACK signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Destination Down ACK signal 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 7.2) | |||
| A receiver of a Destination Down ACK signal without a Status data | A receiver of a Destination Down ACK signal without a Status data | |||
| item MUST behave as if a Status data item with status code 'Success' | item MUST behave as if a Status data item with status code 'Success' | |||
| had been received. | had been received. | |||
| 7.13. Destination Update Signal | 6.13. Destination Update Signal | |||
| A DLEP participant SHOULD send the Destination Update signal when it | A DLEP participant SHOULD send the Destination Update signal 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 signal are: | |||
| o Change in link metrics (e.g., Data Rates) | o Change in link metrics (e.g., Data Rates) | |||
| o Layer 3 addressing change (for implementations that support it) | o Layer 3 addressing change | |||
| To construct a Destination Update signal, the Signal Type value in | To construct a Destination Update signal, the Signal Type value in | |||
| the signal header is set to DLEP_DESTINATION_UPDATE (value TBD). | the signal header is set to DLEP_DESTINATION_UPDATE (value TBD). | |||
| The Destination Update signal MUST contain one of each of the | The Destination Update signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Destination Update signal MAY contain one of each of the | The Destination Update signal MAY contain one of each of the | |||
| following data items: | following data items: | |||
| o Maximum Data Rate (Receive) (Section 8.13) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Maximum Data Rate (Transmit) (Section 8.14) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Current Data Rate (Receive) (Section 8.15) | o Current Data Rate (Receive) (Section 7.16) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Current Data Rate (Transmit) (Section 7.17) | |||
| o Latency (Section 8.17) | o Latency (Section 7.18) | |||
| o Resources (Receive) (Section 8.18) | o Resources (Receive) (Section 7.19) | |||
| o Resources (Transmit) (Section 8.19) | o Resources (Transmit) (Section 7.20) | |||
| o Relative Link Quality (Receive) (Section 8.20) | o Relative Link Quality (Receive) (Section 7.21) | |||
| o Relative Link Quality (Transmit) (Section 8.21) | o Relative Link Quality (Transmit) (Section 7.22) | |||
| The Destination Update signal MAY contain one or more of the | The Destination Update signal MAY contain one or more of the | |||
| following data items, with different values: | following data items, with different values: | |||
| o IPv4 Address (Section 8.9) | o IPv4 Address (Section 7.10) | |||
| o IPv6 Address (Section 8.10) | ||||
| o IPv4 Attached Subnet (Section 8.11) | o IPv6 Address (Section 7.11) | |||
| o IPv6 Attached Subnet (Section 8.12) | o IPv4 Attached Subnet (Section 7.12) | |||
| o IPv6 Attached Subnet (Section 7.13) | ||||
| 7.14. Heartbeat Signal | 6.14. Heartbeat Signal | |||
| A Heartbeat signal SHOULD be sent by a DLEP participant every N | A Heartbeat signal SHOULD be sent by a DLEP participant every N | |||
| seconds, where N is defined in the Heartbeat Interval field of the | seconds, where N is defined in the Heartbeat Interval data item of | |||
| Peer Initialization signal (Section 7.3) or Peer Initialization ACK | the Peer Initialization signal (Section 6.3) or Peer Initialization | |||
| signal (Section 7.4). Note that implementations setting the | ACK signal (Section 6.4). Note that implementations setting the | |||
| Heartbeat Interval to 0 effectively set the interval to an infinite | Heartbeat Interval to 0 effectively set the interval to an infinite | |||
| value, therefore, in those cases, this signal SHOULD NOT be sent. | value, therefore, in those cases, this signal SHOULD NOT be sent. | |||
| The signal is used by participants to detect when a DLEP session | The signal 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 signal, the Signal Type value in the signal | |||
| header is set to DLEP_PEER_HEARTBEAT (value TBD). | header is set to DLEP_PEER_HEARTBEAT (value TBD). | |||
| There are no valid data items for the Heartbeat signal. | There are no valid data items for the Heartbeat signal. | |||
| 7.15. Link Characteristics Request Signal | 6.15. Link Characteristics Request Signal | |||
| The Link Characteristics Request signal MAY be sent by the router to | The Link Characteristics Request signal 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 (e.g., a remote | of the link. The request can reference either a real destination | |||
| node), or a logical (e.g., a multicast group) destination within the | (e.g., a remote node), or a logical destination (e.g., a multicast | |||
| network. | group) within the network. | |||
| The Link Characteristics Request signal contains either a Current | The Link Characteristics Request signal contains 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 ACK signal (Section 6.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 ACK) from its partner. | |||
| The sender of a Link Characteristics Request signal MAY attach a | The sender of a Link Characteristics Request signal MAY attach a | |||
| timer to the request using the Link Characteristics ACK Timer data | timer to the request using the Link Characteristics ACK Timer data | |||
| item. If a Link Characteristics ACK signal is received after the | item. If a Link Characteristics ACK signal is received after the | |||
| timer expires, the sender MUST assume that the request failed. | timer expires, the sender MUST NOT assume that the request succeeded. | |||
| Implementations are free to define their retry heuristics in event of | Implementations are free to define their retry heuristics in event of | |||
| a timeout. | a timeout. | |||
| To construct a Link Characteristics Request signal, the Signal Type | To construct a Link Characteristics Request signal, the Signal Type | |||
| value in the signal header is set to DLEP_LINK_CHAR_REQ (value TBD). | value in the signal header is set to DLEP_LINK_CHAR_REQ (value TBD). | |||
| The Link Characteristics Request signal MUST contain one of each of | The Link Characteristics Request signal MUST contain one of each of | |||
| the following data items: | the following data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Link Characteristics Request signal MAY contain one of each of | The Link Characteristics Request signal MAY contain one of each of | |||
| the following data items: | the following data items: | |||
| o Link Characteristics ACK Timer (Section 8.22) | o Link Characteristics ACK Timer (Section 7.23) | |||
| o Current Data Rate (Receive) (Section 8.15) | o Current Data Rate (Receive) (Section 7.16) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Current Data Rate (Transmit) (Section 7.17) | |||
| o Latency (Section 8.17) | o Latency (Section 7.18) | |||
| 7.16. Link Characteristics ACK Signal | 6.16. Link Characteristics ACK Signal | |||
| A DLEP participant MUST send a Link Characteristics ACK signal to | A DLEP participant MUST send a Link Characteristics ACK signal to | |||
| indicate whether a received Link Characteristics Request signal | indicate whether a received Link Characteristics Request signal | |||
| (Section 7.15) was successfully processed. The Link Characteristics | (Section 6.15) was successfully processed. The Link Characteristics | |||
| ACK signal SHOULD contain a complete set of metric data items. It | ACK signal SHOULD contain a complete set of metric data items, and | |||
| MUST contain the same metric types as the request. The values in the | MUST contain a full set (i.e. those declared in the Peer | |||
| metric data items in the Link Characteristics ACK signal MUST reflect | Initialization ACK signal (Section 6.4)), if metrics were requested | |||
| the link characteristics after the request has been processed. | by only including a MAC address data item. It MUST contain the same | |||
| metric types as the request. The values in the metric data items in | ||||
| the Link Characteristics ACK signal MUST reflect the 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' MUST be added to the signal. | |||
| To construct a Link Characteristics Request ACK signal, the Signal | To construct a Link Characteristics Request ACK signal, the Signal | |||
| Type value in the signal header is set to DLEP_LINK_CHAR_ACK (value | Type value in the signal header is set to DLEP_LINK_CHAR_ACK (value | |||
| TBD). | TBD). | |||
| The Link Characteristics ACK signal MUST contain one of each of the | The Link Characteristics ACK signal MUST contain one of each of the | |||
| following data items: | following data items: | |||
| o MAC Address (Section 8.8) | o MAC Address (Section 7.9) | |||
| The Link Characteristics ACK signal MAY contain one of each of the | The Link Characteristics ACK signal SHOULD contain one of each of the | |||
| following data items: | following data items: | |||
| o Current Data Rate (Receive) (Section 8.15) | o Maximum Data Rate (Receive) (Section 7.14) | |||
| o Current Data Rate (Transmit) (Section 8.16) | o Maximum Data Rate (Transmit) (Section 7.15) | |||
| o Current Data Rate (Receive) (Section 7.16) | ||||
| o Latency (Section 8.17) | o Current Data Rate (Transmit) (Section 7.17) | |||
| o Resources (Receive) (Section 8.18) | ||||
| o Resources (Transmit) (Section 8.19) | o Latency (Section 7.18) | |||
| o Relative Link Quality (Receive) (Section 8.20) | The Link Characteristics ACK signal MAY contain one of each of the | |||
| following data items: | ||||
| o Relative Link Quality (Transmit) (Section 8.21) | o Resources (Receive) (Section 7.19) | |||
| o Status (Section 8.2) | o Resources (Transmit) (Section 7.20) | |||
| o Relative Link Quality (Receive) (Section 7.21) | ||||
| o Relative Link Quality (Transmit) (Section 7.22) | ||||
| o Status (Section 7.2) | ||||
| A receiver of a Link Characteristics ACK signal without a Status data | A receiver of a Link Characteristics ACK signal without a Status data | |||
| item MUST behave as if a Status data item with status code 'Success' | item MUST behave as if a Status data item with status code 'Success' | |||
| had been received. | had been received. | |||
| 8. DLEP Data Items | 7. DLEP Data Items | |||
| Following is the list of MANDATORY data items that must be recognized | Following is the list of MANDATORY data items that must be recognized | |||
| by a DLEP compliant implementation. As mentioned before, not all | by a DLEP compliant implementation. As mentioned before, not all | |||
| data items need be used during a session, but an implementation MUST | data items need be used during a session, but an implementation MUST | |||
| correctly process these data items when correctly associated with a | correctly process these data items when correctly associated with a | |||
| signal. | signal. | |||
| The mandatory DLEP data items are: | The DLEP data items are: | |||
| +------------+--------------------------------------+---------------+ | +------------+--------------------------------------+---------------+ | |||
| | Data Item | Description | Section | | | Data Item | Description | Section | | |||
| +------------+--------------------------------------+---------------+ | +------------+--------------------------------------+---------------+ | |||
| | TBD | DLEP Version | Section 8.1 | | | TBD | DLEP Version | Section 7.1 | | |||
| | TBD | Status | Section 8.2 | | | TBD | Status | Section 7.2 | | |||
| | TBD | DLEP Port | Section 8.3 | | | TBD | IPv4 Connection Point | Section 7.3 | | |||
| | TBD | Peer Type | Section 8.4 | | | TBD | IPv6 Connection Point | Section 7.4 | | |||
| | TBD | Heartbeat Interval | Section 8.5 | | | TBD | Peer Type | Section 7.5 | | |||
| | TBD | Extensions Supported | Section 8.6 | | | TBD | Heartbeat Interval | Section 7.6 | | |||
| | TBD | Experimental Definition | Section 8.7 | | | TBD | Extensions Supported | Section 7.7 | | |||
| | TBD | MAC Address | Section 8.8 | | | TBD | Experimental Definition | Section 7.8 | | |||
| | TBD | IPv4 Address | Section 8.9 | | | TBD | MAC Address | Section 7.9 | | |||
| | TBD | IPv6 Address | Section 8.10 | | | TBD | IPv4 Address | Section 7.10 | | |||
| | TBD | IPv4 Attached Subnet | Section 8.11 | | | TBD | IPv6 Address | Section 7.11 | | |||
| | TBD | IPv6 Attached Subnet | Section 8.12 | | | TBD | IPv4 Attached Subnet | Section 7.12 | | |||
| | TBD | Maximum Data Rate (Receive) MDRR) | Section 8.13 | | | TBD | IPv6 Attached Subnet | Section 7.13 | | |||
| | TBD | Maximum Data Rate (Transmit) (MDRT) | Section 8.14 | | | TBD | Maximum Data Rate (Receive) MDRR) | Section 7.14 | | |||
| | TBD | Current Data Rate (Receive) (CDRR) | Section 8.15 | | | TBD | Maximum Data Rate (Transmit) (MDRT) | Section 7.15 | | |||
| | TBD | Current Data Rate (Transmit) (CDRT) | Section 8.16 | | | TBD | Current Data Rate (Receive) (CDRR) | Section 7.16 | | |||
| | TBD | Latency | Section 8.17 | | | TBD | Current Data Rate (Transmit) (CDRT) | Section 7.17 | | |||
| | TBD | Resources (Receive) (RESR) | Section 8.18 | | | TBD | Latency | Section 7.18 | | |||
| | TBD | Resources (Transmit) (REST) | Section 8.19 | | | TBD | Resources (Receive) (RESR) | Section 7.19 | | |||
| | TBD | Relative Link Quality (Receive) | Section 8.20 | | | TBD | Resources (Transmit) (REST) | Section 7.20 | | |||
| | TBD | Relative Link Quality (Receive) | Section 7.21 | | ||||
| | | (RLQR) | | | | | (RLQR) | | | |||
| | TBD | Relative Link Quality (Transmit) | Section 8.21 | | | TBD | Relative Link Quality (Transmit) | Section 7.22 | | |||
| | | (RLQT) | | | | | (RLQT) | | | |||
| | TBD | Link Characteristics ACK Timer | Section 8.22 | | | TBD | Link Characteristics ACK Timer | Section 7.23 | | |||
| +------------+--------------------------------------+---------------+ | +------------+--------------------------------------+---------------+ | |||
| 8.1. DLEP Version | 7.1. DLEP Version | |||
| The DLEP Version data item MUST appear in the Peer Discovery | The DLEP Version data item MUST appear in the Peer Discovery | |||
| (Section 7.1), Peer Offer (Section 7.2), Peer Initialization | (Section 6.1), Peer Offer (Section 6.2), Peer Initialization | |||
| (Section 7.3) and Peer Initialization ACK (Section 7.4) signals The | (Section 6.3) and Peer Initialization ACK (Section 6.4) signals The | |||
| Version data item is used to indicate the version of the protocol | Version data item is used to indicate the version of the protocol | |||
| running in the originator. A DLEP implementation MAY use this | running in the originator. A DLEP implementation SHOULD use this | |||
| information to decide if the potential session partner is running at | information to decide if the potential session partner is running at | |||
| a supported level. | a supported level. | |||
| The DLEP Version data item contains the following fields: | The DLEP Version 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 = 4 | Major Version | | | Data Item Type| Length | Major Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Minor Version | | | Minor Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 4 | Length: 4 | |||
| Major Version: Major version of the DLEP protocol. | Major Version: The major version of the DLEP protocol, expressed as | |||
| an 16-bit unsigned integer. | ||||
| Minor Version: Minor version of the DLEP protocol. | Minor Version: The minor version of the DLEP protocol, expressed as | |||
| an 16-bit unsigned integer. | ||||
| Support of this draft is indicated by setting the Major Version to | Support of this draft is indicated by setting the Major Version to | |||
| '0', and the Minor Version to '8' (i.e., Version 0.8). | '0', and the Minor Version to '9' (i.e. Version 0.9). | |||
| 8.2. Status | 7.2. Status | |||
| The Status data item is MAY appear in the Peer Initialization ACK | The Status data item MAY appear in the Peer Initialization ACK | |||
| (Section 7.4), Peer Termination (Section 7.7), Peer Termination ACK | (Section 6.4), Peer Termination (Section 6.7), Peer Termination ACK | |||
| (Section 7.8), Peer Update ACK (Section 7.6), Destination Up ACK | (Section 6.8), Peer Update ACK (Section 6.6), Destination Up ACK | |||
| (Section 7.10), Destination Down ACK (Section 7.12) and Link | (Section 6.10), Destination Down ACK (Section 6.12) and Link | |||
| Characteristics ACK (Section 7.16) signals as part of an | Characteristics ACK (Section 6.16) signals as part of an | |||
| acknowledgement from either the modem or the router, to indicate the | acknowledgement from either the modem or the router, to indicate the | |||
| success or failure of the previously received signal. | success or failure of the previously received signal. | |||
| 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 | ||||
| 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 | ||||
| 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 | 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 = 1 | Code | | | Data Item Type| Length | Code | Text... | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 1 + Length of text | |||
| Status Code: One of the codes defined below. | Status Code: One of the codes defined below. | |||
| +-------------------+-----------------------------------------------+ | Text: UTF-8 encoded string, describing an problem, used for | |||
| | Status Code | Reason | | implementation defined purposes. | |||
| +-------------------+-----------------------------------------------+ | ||||
| | Success | The signal was processed successfully. | | ||||
| | Unknown Signal | The signal was not recognized by the | | ||||
| | | implementation. | | ||||
| | Invalid Signal | One or more data items in the signal are | | ||||
| | | invalid, unexpected or duplicated. | | ||||
| | Unexpected Signal | The signal was not expected while the machine | | ||||
| | | was in this state, e.g., a Peer | | ||||
| | | Initialization signal after session | | ||||
| | | establishment. | | ||||
| | Request Denied | The receiver has not completed the request. | | ||||
| | Timed Out | The request could not be completed in the | | ||||
| | | time allowed. | | ||||
| +-------------------+-----------------------------------------------+ | ||||
| 8.3. DLEP Port | An implementation MUST NOT assume the Text field is NUL-terminated. | |||
| The DLEP Port data item MAY appear in the Peer Offer signal | +----------------+-------+------------------------------------------+ | |||
| (Section 7.2). The DLEP Port data item indicates the TCP Port number | | Status Code | Value | Reason | | |||
| on the DLEP server available for connections. If provided, the | +----------------+-------+------------------------------------------+ | |||
| receiver MUST use this information to perform the TCP connect to the | | Success | 0 | The signal was processed successfully. | | |||
| DLEP server. | | Unknown Signal | TBD | The signal was not recognized by the | | |||
| | | | implementation. | | ||||
| | Invalid Data | TBD | One or more data items in the signal are | | ||||
| | | | invalid, unexpected or duplicated. | | ||||
| | Unexpected | TBD | The signal was not expected while the | | ||||
| | Signal | | machine was in this state, e.g., a Peer | | ||||
| | | | Initialization signal after session | | ||||
| | | | establishment. | | ||||
| | Request Denied | TBD | The receiver has not completed the | | ||||
| | | | request. | | ||||
| | Timed Out | TBD | The request could not be completed in | | ||||
| | | | the time allowed. | | ||||
| | Invalid | TBD | The destination provided in the signal | | ||||
| | Destination | | does not match a previously announced | | ||||
| | | | destination. For example, in the Link | | ||||
| | | | Characteristic Request ACK signal | | ||||
| | | | (Section 6.16). | | ||||
| +----------------+-------+------------------------------------------+ | ||||
| The DLEP Port data item contains the following fields: | 7.3. IPv4 Connection Point | |||
| The IPv4 Connection Point data item MAY appear in the Peer Offer | ||||
| signal (Section 6.2). The IPv4 Connection Point data item indicates | ||||
| the IPv4 address and, 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: | ||||
| 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 = 2 | TCP Port Number | | | Data Item Type| Length | IPv4 Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv4 Address | TCP Port Number (optional) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | ||||
| Length: 4 (or 6 if TCP Port included) | ||||
| IPv4 Address: The IPv4 address listening 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 | ||||
| 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 | ||||
| number (Section 10.7) to establish the TCP connection. | ||||
| 7.4. IPv6 Connection Point | ||||
| The IPv6 Connection Point data item MAY appear in the Peer Offer | ||||
| signal (Section 6.2). The IPv6 Connection Point data item indicates | ||||
| the IPv6 address and, 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: | ||||
| 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 | IPv6 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Address | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | IPv6 Address | TCP Port Number (optional) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 2 | Length: 16 (or 18 if TCP Port included) | |||
| TCP Port Number: TCP Port number on the DLEP server. | IPv6 Address: The IPv6 address listening on the DLEP modem. | |||
| 8.4. Peer Type | TCP Port Number: TCP Port number on the DLEP modem. | |||
| The Peer Type data item MAY appear in both the Peer Discovery | If the Length field is 18, the port number specified MUST be used to | |||
| (Section 7.1) and Peer Offer (Section 7.2) signals. The Peer Type | establish the TCP session. If the TCP Port Number is omitted, i.e. | |||
| data item is used by the router and modem to give additional | ||||
| information as to its type. The peer type is a string and is | the Length field is 16, the receiver MUST use the DLEP well-known | |||
| envisioned to be used for informational purposes (e.g., as output in | port number (Section 10.7) to establish the TCP connection. | |||
| a display command). | ||||
| 7.5. Peer Type | ||||
| The Peer Type data item MAY appear in the Peer Discovery | ||||
| (Section 6.1), Peer Offer (Section 6.2), Peer Initialization | ||||
| (Section 6.3) and Peer Initialization ACK (Section 6.4) signals. 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 | ||||
| is envisioned to be used for informational purposes (e.g., as output | ||||
| 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 | Peer Type | | | Data Item Type| Length | Peer Type | | |||
| | | type len | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: Length of peer type string. | Length: Length of peer type string. | |||
| 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". | might set this variable to "Satellite terminal". | |||
| An implementation MUST NOT assume the Peer Type is NUL-terminated. | An implementation MUST NOT assume the Peer Type field is NUL- | |||
| terminated. | ||||
| 8.5. Heartbeat Interval | 7.6. Heartbeat Interval | |||
| The Heartbeat Interval data item MUST appear in the Peer Discovery | The Heartbeat Interval data item MUST appear in both the Peer | |||
| (Section 7.1), Peer Offer (Section 7.2), Peer Initialization | Initialization (Section 6.3) and Peer Initialization ACK | |||
| (Section 7.3) and Peer Initialization ACK (Section 7.4) signals to | (Section 6.4) signals to indicate the Heartbeat timeout window to be | |||
| indicate the desired Heartbeat timeout window. The receiver MUST | used by the sender. | |||
| either accept the timeout interval supplied by the sender, or reject | ||||
| the Peer Initialization, and close the socket. Implementations MUST | ||||
| implement heuristics such that DLEP signals sent/received reset the | ||||
| timer interval. | ||||
| 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, | signals (Section 6.14). By specifying an Interval value of 0, | |||
| implementations MAY indicates the desire to disable Heartbeat signals | implementations MAY indicates the desire to disable Heartbeat signals | |||
| 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 strongly 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, by | A DLEP session will be considered inactive, and MUST be torn down, | |||
| an implementation detecting that two (2) Heartbeat intervals have | via the Peer Termination procedure, by an implementation detecting | |||
| transpired without receipt of any DLEP signals. | 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 = 2 | 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 peer-to-peer session. | Interval: 0 = Do NOT use heartbeats on this DLEP session. Non-zero | |||
| Non-zero = Interval, in seconds, for heartbeat signals. | = Interval, in seconds, for heartbeat signals. | |||
| 8.6. Extensions Supported | 7.7. Extensions Supported | |||
| The Extensions Supported data item MAY be used in both the Peer | The Extensions Supported data item MAY be used in both the Peer | |||
| Initialization and Peer Initialization ACK signals. The Extensions | Initialization and Peer Initialization ACK signals. The Extensions | |||
| Supported data item is used by the router and modem to negotiate | Supported data item is used by the router and modem to negotiate | |||
| additional optional functionality they are willing to support. The | additional optional functionality they are willing to support. The | |||
| Extensions List is a concatenation of the types of each supported | Extensions List is a concatenation of the types of each supported | |||
| extension, found in the IANA DLEP Extensions repository. | extension, found in the IANA DLEP Extensions repository. | |||
| 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 = No. | Extensions List | | | Data Item Type| Length | Extensions List | | |||
| | | of values | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: Number of Extensions supported. | Length: Number of Extensions supported. | |||
| 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. | 1-octet value as listed in the extensions registry. | |||
| 8.7. Experimental Definition | 7.8. Experimental Definition | |||
| The Experimental Definition data item MAY be used in both the Peer | The Experimental Definition data item MAY be used in both the Peer | |||
| Initialization and Peer Initialization ACK signals. The Experimental | Initialization and Peer Initialization ACK signals. The Experimental | |||
| Definition data item is used by the router and modem to indicate the | Definition data item is used by the router and modem to indicate the | |||
| formats to be used for experimental signals and data items for the | formats to be used for experimental signals and data items for the | |||
| given peer session. The formats are identified by using a string | given peer session. The formats are identified by using a string | |||
| that matches the 'name' given to the experiment. | that matches the 'name' given to the experiment. | |||
| The Experimental Definition item contains the following fields: | The Experimental Definition 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 = len. | Experiment Name | | | Data Item Type| Length | Experiment Name | | |||
| | | of Experiment | | | ||||
| | | name | | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: Length of the name string for the Experiment. | Length: Length of the name string for the Experiment. | |||
| Experiment Name: UTF-8 encoded string, containing the name of the | Experiment Name: UTF-8 encoded string, containing the name of the | |||
| experiment being utilized. | experiment being utilized. | |||
| An implementation receiving this data item MUST compare the received | An implementation receiving this data item MUST compare the received | |||
| string to a list of experiments that it supports. An implementation | string to a list of experiments that it supports. | |||
| MUST NOT assume the Experiment Name is NUL-terminated. | ||||
| 8.8. MAC Address | An implementation MUST NOT assume the Experiment Name field is NUL- | |||
| terminated. | ||||
| 7.9. MAC Address | ||||
| The MAC address data item MUST appear in all destination-oriented | The MAC address data item MUST appear in all destination-oriented | |||
| signals (i.e., Destination Up (Section 7.9), Destination Up ACK | signals (i.e., Destination Up (Section 6.9), Destination Up ACK | |||
| (Section 7.10), Destination Down (Section 7.11), Destination Down ACK | (Section 6.10), Destination Down (Section 6.11), Destination Down ACK | |||
| (Section 7.12), Destination Update (Section 7.13), Link | (Section 6.12), Destination Update (Section 6.13), Link | |||
| Characteristics Request (Section 7.15), and Link Characteristics ACK | Characteristics Request (Section 6.15), and Link Characteristics ACK | |||
| (Section 7.16)). The MAC Address data item contains the address of | (Section 6.16)). The MAC Address data item contains the address of | |||
| the destination on the remote node. The MAC address MAY be either a | the destination on the remote node. The MAC address MAY be either a | |||
| physical or a virtual destination. Examples of a virtual destination | physical or a virtual destination. Examples of a virtual destination | |||
| would be a multicast MAC address, or the broadcast MAC | would be a multicast MAC address, or the broadcast MAC | |||
| (FF:FF:FF:FF:FF:FF). | (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 = 6 | MAC Address | | | Data Item Type| Length | MAC Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address | | | MAC Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 6 | Length: 6 | |||
| MAC Address: MAC Address of the destination. | ||||
| MAC Address: MAC Address of the destination (either physical or | 7.10. IPv4 Address | |||
| virtual). | ||||
| 8.9. IPv4 Address | ||||
| The IPv4 Address data item MUST appear in the Peer Offer signal | The IPv4 Address data item MAY appear in the Peer Update | |||
| (Section 7.2), and MAY appear in the Peer Update (Section 7.5), | (Section 6.5), Destination Up (Section 6.9) and Destination Update | |||
| Destination Up (Section 7.9) and Destination Update (Section 7.13) | (Section 6.13) signals. When included in Destination signals, this | |||
| signals. When included in Destination signals, this data item | data item contains the IPv4 address of the destination. When | |||
| contains the IPv4 address of the destination. In the Peer Offer | included in the Peer Update signal, this data item contains the IPv4 | |||
| signal, it contains the IPv4 address of the originating peer to be | address of the peer. In either case, the data item also contains an | |||
| used to establish a DLEP session. 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. When used in a Peer | ||||
| Offer signal the Add/Drop Indicator MUST be 1 (i.e. Add). | ||||
| 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 = 5 | Add/Drop | IPv4 Address | | | Data Item Type| Length | Add/Drop | IPv4 Address | | |||
| | | | Indicator | | | | | | Indicator | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Address | | | 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). | (1), or a withdrawal of an address (0). | |||
| IPv4 Address: The IPv4 address of the destination or peer. | IPv4 Address: The IPv4 address of the destination or peer. | |||
| 8.10. IPv6 Address | 7.11. IPv6 Address | |||
| The IPv6 Address data item MUST appear in the Peer Offer signal | The IPv6 Address data item MAY appear in the Peer Update | |||
| (Section 7.2), and MAY appear in the Peer Update (Section 7.5), | (Section 6.5), Destination Up (Section 6.9) and Destination Update | |||
| Destination Up (Section 7.9) and Destination Update (Section 7.13) | (Section 6.13) signals. When included in Destination signals, this | |||
| signals. When included in Destination signals, this data item | data item contains the IPv6 address of the destination. When | |||
| contains the IPv6 address of the destination. In the Peer Offer | included in the Peer Update signal, this data item contains the IPv4 | |||
| signal, it contains the IPv6 address of the originating peer to be | address of the peer. In either case, the data item also contains an | |||
| used to establish a DLEP session. 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. When used in a Peer | ||||
| Offer signal the Add/Drop Indicator MUST be 1 (i.e. Add). | ||||
| 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 = 17 | Add/Drop | IPv6 Address | | | Data Item Type| Length | Add/Drop | IPv6 Address | | |||
| | | | Indicator | | | | | | Indicator | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | | 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). | (1), or a withdrawal of an address (0). | |||
| IPv6 Address: IPv6 Address of the destination or peer. | IPv6 Address: IPv6 Address of the destination or peer. | |||
| 8.11. IPv4 Attached Subnet | 7.12. 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. Once an IPv4 Subnet | an IPv4 subnet (e.g., a stub network) attached, and MAY appear in the | |||
| has been declared on a device, the declaration can NOT be withdrawn | Destination Up (Section 6.9) and Destination Update (Section 6.13) | |||
| without terminating the destination (via the Destination Down signal) | signals. Once an IPv4 Subnet has been declared on a device, the | |||
| and re-issuing the Destination Up signal. | declaration can NOT be withdrawn without terminating the destination | |||
| (via the Destination Down signal (Section 6.11)) and re-issuing the | ||||
| Destination Up signal. | ||||
| The DLEP IPv4 Attached Subnet data item data item contains the | The DLEP IPv4 Attached Subnet data item contains the following | |||
| 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 = 5 | IPv4 Attached Subnet | | |Data Item Type | Length | IPv4 Attached Subnet | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Attached Subnet | Subnet Mask | | | IPv4 Attached Subnet | Subnet Mask | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| Subnet Mask: A subnet mask (0-32) to be applied to the IPv4 subnet. | Subnet Mask: A subnet mask (0-32) to be applied to the IPv4 subnet. | |||
| 8.12. IPv6 Attached Subnet | 7.13. 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. As in the case of | an IPv6 subnet (e.g., a stub network) attached, and MAY appear in the | |||
| the IPv4 attached Subnet data item above, once an IPv6 attached | Destination Up (Section 6.9) and Destination Update (Section 6.13) | |||
| subnet has been declared, it can NOT be withdrawn without terminating | signals. As in the case of the IPv4 attached Subnet data item above, | |||
| the destination (via Destination Down) and re-issuing the Destination | once an IPv6 attached subnet has been declared, it can NOT be | |||
| Up signal. | withdrawn without terminating the destination (via the Destination | |||
| Down signal (Section 6.11)) and re-issuing the Destination Up signal. | ||||
| The DLEP IPv6 Attached Subnet data item data item contains the | The DLEP IPv6 Attached Subnet data item contains the following | |||
| 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 = 17 | 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 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Attached Subnet | Subnet Mask | | | IPv6 Attached Subnet | Subnet Mask | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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. | |||
| Subnet Mask: A subnet mask (0-128) to be applied to the IPv6 subnet. | Subnet Mask: A subnet mask (0-128) to be applied to the IPv6 subnet. | |||
| 8.13. Maximum Data Rate (Receive) | 7.14. 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 | Peer Initialization ACK signal (Section 6.4), and MAY appear in the | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9) and | Peer Update (Section 6.5), Destination Up (Section 6.9), Destination | |||
| Destination Update (Section 7.13) signals to indicate the maximum | Update (Section 6.13) and Link Characteristics ACK (Section 6.16) | |||
| theoretical data rate, in bits per second, that can be achieved while | signals to indicate the maximum theoretical data rate, in bits per | |||
| receiving data on the link. | 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 = 8 | MDRR (bps) | | | Data Item Type| Length | MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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.14. Maximum Data Rate (Transmit) | 7.15. 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 | Peer Initialization ACK signal (Section 6.4), and MAY appear in the | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9) and | Peer Update (Section 6.5), Destination Up (Section 6.9), Destination | |||
| Destination Update (Section 7.13) signals to indicate the maximum | Update (Section 6.13) and Link Characteristics ACK (Section 6.16) | |||
| theoretical data rate, in bits per second, that can be achieved while | signals to indicate the maximum theoretical data rate, in bits per | |||
| transmitting data on the link. | 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 = 8 | MDRT (bps) | | | Data Item Type| Length | MDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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.15. Current Data Rate (Receive) | 7.16. 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 | Peer Initialization ACK signal (Section 6.4), and MAY appear in the | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | Peer Update (Section 6.5), Destination Up (Section 6.9), Destination | |||
| Update (Section 7.13), Link Characteristics Request (Section 7.15) | Update (Section 6.13) and Link Characteristics ACK (Section 6.16) | |||
| and Link Characteristics ACK (Section 7.16) signals to indicate the | signals to indicate the rate at which the link is currently operating | |||
| rate at which the link is currently operating for receiving traffic. | for receiving traffic. | |||
| When used in the Link Characteristics Request signal, CDRR represents | ||||
| the desired receive rate, in bits per second, on the link. | When used in the Link Characteristics Request signal (Section 6.15), | |||
| CDRR represents the desired receive rate, in bits per second, on the | ||||
| 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 = 8 | CDRR (bps) | | | Data Item Type| Length | CDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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 is 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.16. Current Data Rate (Transmit) | 7.17. Current Data Rate (Transmit) | |||
| The Current Data Rate Receive (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 | Peer Initialization ACK signal (Section 6.4), and MAY appear in the | |||
| Peer Update (Section 7.5), Destination Up (Section 7.9), Destination | Peer Update (Section 6.5), Destination Up (Section 6.9), Destination | |||
| Update (Section 7.13), Link Characteristics Request (Section 7.15) | Update (Section 6.13), and Link Characteristics ACK (Section 6.16) | |||
| and Link Characteristics ACK (Section 7.16) signals to indicate the | signals to indicate the rate at which the link is currently operating | |||
| rate at which the link is currently operating for transmitting | for transmitting traffic. | |||
| traffic. When used in the Link Characteristics Request signal, CDRT | ||||
| represents the desired transmit rate, in bits per second, on the | When used in the Link Characteristics Request signal (Section 6.15), | |||
| 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 = 8 | CDRT (bps) | | | Data Item Type| Length | CDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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 is | 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.17. Latency | 7.18. Latency | |||
| The Latency data item data item MUST appear in the Peer | The Latency data item data item MUST appear in the Peer | |||
| Initialization ACK signal (Section 7.4), and MAY appear in the Peer | Initialization ACK signal (Section 6.4), and MAY appear in the Peer | |||
| Update (Section 7.5), Destination Up (Section 7.9), Destination | Update (Section 6.5), Destination Up (Section 6.9), Destination | |||
| Update (Section 7.13), Link Characteristics Request (Section 7.15) | Update (Section 6.13), and Link Characteristics ACK (Section 6.16) | |||
| and Link Characteristics ACK (Section 7.16) signals to indicate the | signals to indicate the amount of latency, in microseconds, on the | |||
| amount of latency, in microseconds, on the link, or in the case of | link. | |||
| the Link Characteristics Request, to indicate the maximum latency | ||||
| required on the link. | When used in the Link Characteristics Request signal (Section 6.15), | |||
| 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 = 4 | Latency in microseconds | | | Data Item Type| Length | Latency | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Latency (cont.) microsecs | | | Latency (cont.) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 4 | Length: 4 | |||
| Latency: A 32-bit unsigned value, representing the transmission | Latency: A 32-bit unsigned integer, representing the transmission | |||
| delay that a packet encounters as it is transmitted over the link. | delay, in microseconds, that a packet encounters as it is | |||
| transmitted over the link. | ||||
| 8.18. Resources (Receive) | 7.19. Resources (Receive) | |||
| The Resources (Receive) (RESR) data item MAY appear in the Peer | The Resources (Receive) (RESR) data item MAY appear in the Peer | |||
| Initialization ACK signal (Section 7.4), Peer Update (Section 7.5), | Initialization ACK signal (Section 6.4), Peer Update (Section 6.5), | |||
| Destination Up (Section 7.9), Destination Update (Section 7.13) and | Destination Up (Section 6.9), Destination Update (Section 6.13) and | |||
| Link Characteristics ACK (Section 7.16) signals to indicate the | Link Characteristics ACK (Section 6.16) signals to indicate the | |||
| amount of recources for reception (with 0 meaning 'no resources | amount of resources for reception (with 0 meaning 'no resources | |||
| available', and 100 meaning 'all resources available') at the | available', and 100 meaning 'all resources available') at the | |||
| destination. The list of resources that might be considered is | destination. The list of resources that might be considered is | |||
| beyond the scope of this document, and is left to implementations to | beyond the scope of this document, and is left to implementations to | |||
| decide. | 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 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | RESR | | | Data Item Type| Length | RESR | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 1 | |||
| Resources (Receive): A percentage, 0-100, representing the amount of | Resources (Receive): An 8-bit integer percentage, 0-100, | |||
| resources allocated to receiving data. | representing the amount of resources allocated to receiving data. | |||
| 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.19. Resources (Transmit) | 7.20. Resources (Transmit) | |||
| The Resources (Receive) (RESR) data item MAY appear in the Peer | The Resources (Transmit) (REST) data item MAY appear in the Peer | |||
| Initialization ACK signal (Section 7.4), Peer Update (Section 7.5), | Initialization ACK signal (Section 6.4), Peer Update (Section 6.5), | |||
| Destination Up (Section 7.9), Destination Update (Section 7.13) and | Destination Up (Section 6.9), Destination Update (Section 6.13) and | |||
| Link Characteristics ACK (Section 7.16) signals to indicate the | Link Characteristics ACK (Section 6.16) signals to indicate the | |||
| amount of recources for transmission (with 0 meaning 'no resources | amount of resources for transmission (with 0 meaning 'no resources | |||
| available', and 100 meaning 'all resources available') at the | available', and 100 meaning 'all resources available') at the | |||
| destination. The list of resources that might be considered is | destination. The list of resources that might be considered is | |||
| beyond the scope of this document, and is left to implementations to | beyond the scope of this document, and is left to implementations to | |||
| decide. | 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 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | REST | | | Data Item Type| Length | REST | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 1 | |||
| Resources (Transmit): A percentage, 0-100, representing the amount | Resources (Transmit): An 8-bit integer percentage, 0-100, | |||
| of resources allocated to transmitting data. | representing the amount of resources allocated to transmitting | |||
| data. | ||||
| 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.20. Relative Link Quality (Receive) | 7.21. 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 Peer Initialization ACK signal (Section 6.4), Peer Update | |||
| (Section 7.5), Destination Up (Section 7.9), Destination Update | (Section 6.5), Destination Up (Section 6.9), Destination Update | |||
| (Section 7.13) and Link Characteristics ACK (Section 7.16) signals to | (Section 6.13) and Link Characteristics ACK (Section 6.16) signals to | |||
| indicate the quality of the link for receiving data as calculated by | indicate the quality of the link for receiving data. | |||
| the originating peer. | ||||
| 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 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | 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 integer, 1-100, | Relative Link Quality (Receive): A non-dimensional 8-bit integer, | |||
| representing relative link quality. A value of 100 represents a | 1-100, representing relative link quality. A value of 100 | |||
| link of the highest quality. | represents a link of the highest quality. | |||
| 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.21. Relative Link Quality (Transmit) | 7.22. 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 Peer Initialization ACK signal (Section 6.4), Peer Update | |||
| (Section 7.5), Destination Up (Section 7.9), Destination Update | (Section 6.5), Destination Up (Section 6.9), Destination Update | |||
| (Section 7.13) and Link Characteristics ACK (Section 7.16) signals to | (Section 6.13) and Link Characteristics ACK (Section 6.16) signals to | |||
| indicate the quality of the link for transmitting data as calculated | indicate the quality of the link for transmitting data. | |||
| by the originating peer. | ||||
| 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 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | 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 integer, 1-100, | Relative Link Quality (Transmit): A non-dimensional 8-bit integer, | |||
| representing relative link quality. A value of 100 represents a | 1-100, representing relative link quality. A value of 100 | |||
| link of the highest quality. | represents a link of the highest quality. | |||
| 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.22. Link Characteristics ACK Timer | 7.23. Link Characteristics ACK Timer | |||
| The Link Characteristics ACK Timer data item MAY appear in the Link | The Link Characteristics ACK Timer data item MAY appear in the Link | |||
| Characterisitics Request signal (Section 7.15) to indicate the | Characteristics Request signal (Section 6.15) to indicate the desired | |||
| desired number of seconds to the sender will wait for a response to | number of seconds to the sender will wait for a response to the | |||
| the request. If this data item is omitted, implementations | request. If this data item is omitted, implementations supporting | |||
| supporting the Link Characteristics Request SHOULD choose a default | the Link Characteristics Request SHOULD choose a default value. | |||
| value. | ||||
| The Link Characteristics ACK Timer data item contains the following | The Link Characteristics ACK Timer data item contains the following | |||
| fields: | fields: | |||
| 0 1 2 | 0 1 2 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | 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 Link Characteristics requests | Interval: 0 = Do NOT use timeouts for this Link Characteristics | |||
| on this router/modem session. Non-zero = Interval, in seconds, to | request. Non-zero = Interval, in seconds, to wait before | |||
| wait before considering a Link Characteristics Request has been | considering this Link Characteristics Request has been lost. | |||
| lost. | ||||
| 9. Credit-Windowing | 8. Credit-Windowing | |||
| DLEP includes an OPTIONAL credit-windowing scheme analogous to the | DLEP includes an OPTIONAL Protocol Extension for a credit-windowing | |||
| one documented in [RFC5578]. In this scheme, traffic between the | scheme analogous to the one documented in [RFC5578]. In this scheme, | |||
| router and modem is treated as two unidirectional windows. This | traffic between the router and modem is treated as two unidirectional | |||
| document identifies these windows as the 'Modem Receive Window', or | windows. This document identifies these windows as the 'Modem | |||
| MRW, and the 'Router Receive Window', or RRW. | Receive Window' (MRW), and the 'Router Receive Window' (RRW). | |||
| If the OPTIONAL credit-windowing scheme is used, credits MUST be | If the OPTIONAL credit-windowing extension is used, credits MUST be | |||
| granted by the receiver on a given window - that is, on the 'Modem | granted by the receiver on a given window - that is, on the 'Modem | |||
| Receive Window' (MRW), the modem is responsible for granting credits | Receive Window' (MRW), the modem is responsible for granting credits | |||
| to the router, allowing it (the router) to send data to the modem. | to the router, allowing it (the router) to send data to the modem. | |||
| Likewise, the router is responsible for granting credits on the RRW, | Likewise, the router is responsible for granting credits on the RRW, | |||
| which allows the modem to send data to the router. | which allows the modem to send data to the router. | |||
| DLEP expresses all credit data in number of octets. The total number | Credits are managed on a destination-specific basis; that is, | |||
| of credits on a window, and the increment to add to a grant, are | separate credit counts are maintained for each destination requiring | |||
| always expressed as a 64-bit unsigned integer quantity. | the service. Credits do not apply to the DLEP session that exists | |||
| If used, credits are managed on a neighbor-specific basis; that is, | ||||
| separate credit counts are maintained for each neighbor requiring the | ||||
| service. Credits do not apply to the DLEP session that exists | ||||
| between routers and modems. | between routers and modems. | |||
| If a peer is able to support the OPTIONAL credit-windowing scheme | If a peer is able to support the OPTIONAL credit-windowing extension | |||
| then it MUST include a Extensions Supported data item (Section 8.6) | then it MUST include a Extensions Supported data item (Section 7.7) | |||
| including the value DLEP_EXT_CREDITS (value TBD) in the appropriate | including the value DLEP_EXT_CREDITS (value TBD) in the appropriate | |||
| Peer Initialization or Peer Initialization ACK signal. | Peer Initialization or Peer Initialization ACK signal. | |||
| 9.1. Credit-Windowing Signals | 8.1. Credit-Windowing Signals | |||
| The credit-windowing scheme introduces no additional DLEP signals. | The credit-windowing extension introduces no additional DLEP signals. | |||
| However, if a peer has advertised during session initialization that | However, if a peer has advertised during session initialization that | |||
| it supports the credit-windowing scheme then the following DLEP | it supports the credit-windowing extension then the following DLEP | |||
| signals may contain additional credit-windowing data items: | signals MAY contain additional credit-windowing data items: | |||
| 9.1.1. Destination Up Signal | 8.1.1. Destination Up Signal | |||
| The Destination Up signal MAY contain one of each of the following | The Destination Up signal MAY contain one of each of the following | |||
| data items: | data items: | |||
| o Credit Grant (Section 9.2.2) | o Credit Grant (Section 8.2.1) | |||
| 9.1.2. Destination Up ACK Signal | If the Destination Up signal does not contain the Credit Grant data | |||
| item, credits MUST NOT be used for that destination. | ||||
| The Destination Up ACK signal MAY contain one of each of the | 8.1.2. Destination Up ACK Signal | |||
| following data items: | ||||
| o Credit Window Status (Section 9.2.1) | 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: | ||||
| 9.1.3. Destination Update Signal | o Credit Window Status (Section 8.2.2) | |||
| The Destination Update signal MAY contain one of each of the | 8.1.3. Destination Update Signal | |||
| following data items: | ||||
| o Credit Window Status (Section 9.2.1) | If the corresponding Destination Up signal contained the Credit Grant | |||
| data item, the Destination Update signal MUST contain one of each of | ||||
| the following data items: | ||||
| o Credit Grant (Section 9.2.2) | o Credit Window Status (Section 8.2.2) | |||
| o Credit Request (Section 9.2.3) | If the corresponding Destination Up signal contained the Credit Grant | |||
| data item, the Destination Update signal MAY contain one of each of | ||||
| the following data items: | ||||
| 9.2. Credit-Windowing Data Items | o Credit Grant (Section 8.2.1) | |||
| The credit-windowing scheme introduces 3 additional data items. If a | o Credit Request (Section 8.2.3) | |||
| peer has advertised during session initialization that it supports | ||||
| the credit-windowing scheme then it MUST correctly process the | 8.2. Credit-Windowing Data Items | |||
| following data items without error. | ||||
| The credit-windowing extension introduces 3 additional data items. | ||||
| If a peer has advertised during session initialization that it | ||||
| supports the credit-windowing extension then it MUST correctly | ||||
| process the following data items without error. | ||||
| +------------+-----------------------+----------------+ | +------------+-----------------------+----------------+ | |||
| | Data Item | Description | Section | | | Data Item | Description | Section | | |||
| +------------+-----------------------+----------------+ | +------------+-----------------------+----------------+ | |||
| | TBD | Credit Window Status | Section 9.2.1 | | | TBD | Credit Grant | Section 8.2.1 | | |||
| | TBD | Credit Grant | Section 9.2.2 | | | TBD | Credit Window Status | Section 8.2.2 | | |||
| | TBD | Credit Request | Section 9.2.3 | | | TBD | Credit Request | Section 8.2.3 | | |||
| +------------+-----------------------+----------------+ | +------------+-----------------------+----------------+ | |||
| 9.2.1. Credit Window Status | 8.2.1. Credit Grant | |||
| If the credit-window scheme is supported by the DLEP participants | ||||
| (both the router and the modem), the Credit Window Status data item | ||||
| MUST be sent by the participant receiving a Credit Grant for a given | ||||
| destination. | ||||
| The Credit Window Status data item contains the following fields: | ||||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type| Length = 16 | Modem Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Modem Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Modem Receive Window Value | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | ||||
| Length: 16 | ||||
| Modem Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current (or initial) number of credits available on the Modem | ||||
| Receive Window. | ||||
| Router Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current (or initial) number of credits available on the Router | ||||
| Receive Window. | ||||
| 9.2.2. 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) or Destination Update | appear in the Destination Up (Section 6.9) and Destination Update | |||
| (Section 7.13) signals. The value in a Credit Grant data item | (Section 6.13) signals. 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 signal containing a | |||
| Credit Window Status data item to report the updated aggregate values | Credit Window Status data item to report the updated aggregate values | |||
| for synchronization purposes. | for synchronization purposes, and if initializing a new credit | |||
| window, granting initial credits. | ||||
| In the Destination Up signal, when credits are desired, the | In the Destination Up signal, when credits are desired, the | |||
| originating peer MUST set the initial credit value of the window it | originating peer MUST set the initial credit value of the window it | |||
| controls (i.e., the Modem Receive Window, or Router Receive Window) | controls (i.e., the Modem Receive Window, or Router Receive Window) | |||
| to an initial, non-zero value. If the receiver of a Destination Up | to an initial, non-zero value. If the receiver of a Destination Up | |||
| signal with a Credit Grant data item supports credits, the receiver | signal with a Credit Grant data item supports credits, the receiver | |||
| MUST either reject the use of credits, via a Destination Up ACK | MUST either reject the use of credits for this destination, via a | |||
| response containing a Status data item (Section 8.2) with a status | Destination Up ACK response containing a Status data item | |||
| code of 'Request Denied', or set the initial value from the data | (Section 7.2) with a status code of 'Request Denied', or set the | |||
| contained in the Credit Window Status data item. If the | initial value from the data contained in the Credit Window Status | |||
| initialization completes successfully, the receiver MUST respond to | data item. If the initialization completes successfully, the | |||
| the Destination Up signal with a Destination Up ACK signal that | receiver MUST respond to the Destination Up signal with a Destination | |||
| contains a Credit Window Status data item, initializing its receive | Up ACK signal that contains a Credit Window Status data item, | |||
| window. | 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 = 8 | Credit Increment | | | Data Item Type| Length | Credit Increment | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | 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.3. Credit Request | 8.2.2. Credit Window Status | |||
| If the credit-window extension is supported by the DLEP participants | ||||
| (both the router and the modem), the Credit Window Status data item | ||||
| MUST be sent by the participant receiving a Credit Grant for a given | ||||
| destination. | ||||
| The Credit Window Status data item contains the following fields: | ||||
| 0 1 2 3 | ||||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Data Item Type| Length | Modem Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Modem Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Modem Receive Window Value | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Router Receive Window Value | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Data Item Type: TBD | ||||
| Length: 16 | ||||
| Modem Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current number of credits available on the Modem Receive | ||||
| Window, for the destination referred to by the signal. | ||||
| Router Receive Window Value: A 64-bit unsigned integer, indicating | ||||
| the current number of credits available on the Router Receive | ||||
| Window, for the destination referred to by the signal. | ||||
| 8.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 signal (Section 6.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 signal (Section 6.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 rejected by the receiver via a Destination Update ACK | item MUST be silently dropped by the receiver. | |||
| signal containing a Status data item (Section 8.2) with status code | ||||
| 'Request Denied'. | ||||
| The Credit Request data item contains the following fields: | The Credit Request data item contains the following fields: | |||
| 0 1 2 | 0 1 2 | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Data Item Type| Length = 1 | Reserved, MUST| | | Data Item Type| Length | Reserved, MUST| | |||
| | | | be set to 0 | | | | | be set to 0 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type: TBD | Data Item Type: TBD | |||
| Length: 1 | Length: 1 | |||
| Reserved: This field is currently unused and MUST be set to 0. | Reserved: This field is currently unused and MUST be set to 0. | |||
| 10. Security Considerations | 9. Security Considerations | |||
| The protocol does not contain any mechanisms for security (e.g., | The protocol does not contain any mechanisms for security (e.g., | |||
| authentication or encryption). The protocol assumes that any | authentication or encryption). The protocol assumes that any | |||
| security would be implemented in the underlying transport (for | security would be implemented in the underlying transport (for | |||
| example, by use of DTLS or some other mechanism), and is therefore | example, by use of DTLS or some other mechanism), and is therefore | |||
| outside the scope of this document. | outside the scope of this document. | |||
| 11. IANA Considerations | 10. IANA Considerations | |||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 11.1. Registrations | 10.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, with sixteen values currently | |||
| assigned. | assigned. | |||
| o Reservation of numbering space for Experimental DLEP signals. | o Reservation of numbering space for Experimental DLEP signals. | |||
| o A new repository for DLEP data items, with twenty-three values | o A new repository for DLEP data items, with twenty-six values | |||
| currently assigned. | currently assigned. | |||
| o Reservation of numbering space in the data items repository for | o Reservation of numbering space in the data items repository for | |||
| experimental data items. | experimental data items. | |||
| o A new repository for DLEP status codes. | o A new repository for DLEP status codes, with seven currently | |||
| assigned. | ||||
| o A new repository for DLEP extensions, with one value currently | o A new repository for DLEP extensions, with one value currently | |||
| assigned. | assigned. | |||
| o A request for allocation of a well-known port for DLEP | 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 address for DLEP | o A request for allocation of a multicast IP address for DLEP | |||
| discovery. | discovery. | |||
| 11.2. Expert Review: Evaluation Guidelines | 10.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 | 10.3. Signal Type Registration | |||
| A new repository must be created with the values of the DLEP signals. | A new repository must be created with the values of the DLEP signals. | |||
| All signal values are in the range [0..255]. | All signal values are in the range [0..255]. | |||
| Valid signals are: | Valid signals are: | |||
| o Peer Discovery | o Peer Discovery | |||
| o Peer Offer | o Peer Offer | |||
| skipping to change at page 51, line 47 ¶ | skipping to change at page 53, line 4 ¶ | |||
| o Destination Up ACK | o Destination Up ACK | |||
| o Destination Down | o Destination Down | |||
| o Destination Down ACK | o Destination Down ACK | |||
| o Destination Update | o Destination Update | |||
| o Heartbeat | o Heartbeat | |||
| o Link Characteristics Request | o Link Characteristics Request | |||
| o Link Characteristics ACK | o Link Characteristics ACK | |||
| It is also requested that the repository contain space for | It is also requested that the repository contain space for | |||
| experimental signal types. | experimental signal types. | |||
| 11.4. DLEP Data Item Registrations | 10.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..255]. | |||
| Valid data items are: | Valid data items are: | |||
| o DLEP Version | o DLEP Version | |||
| o Status | o Status | |||
| o DLEP Port | o IPv4 Connection Point | |||
| o IPv6 Connection Point | ||||
| o Peer Type | o Peer Type | |||
| o Heartbeat Interval | o Heartbeat Interval | |||
| o Extensions Supported | o Extensions Supported | |||
| o Experimental Definition | o Experimental Definition | |||
| o MAC Address | o MAC Address | |||
| skipping to change at page 52, line 46 ¶ | skipping to change at page 54, line 4 ¶ | |||
| o IPv6 Attached Subnet | o IPv6 Attached Subnet | |||
| o Maximum Data Rate (Receive) | o Maximum Data Rate (Receive) | |||
| o Maximum Data Rate (Transmit) | o Maximum Data Rate (Transmit) | |||
| o Current Data Rate (Receive) | o Current Data Rate (Receive) | |||
| o Current Data Rate (Transmit) | o Current Data Rate (Transmit) | |||
| o Latency | o Latency | |||
| o Resources (Receive) | o Resources (Receive) | |||
| o Resources (Transmit) | o Resources (Transmit) | |||
| o Relative Link Quality (Receive) | o Relative Link Quality (Receive) | |||
| o Relative Link Quality (Transmit) | o Relative Link Quality (Transmit) | |||
| o Link Characteristics ACK Timer | o Link Characteristics ACK Timer | |||
| o Credit Window Status | o Credit Window Status | |||
| o Credit Grant | o Credit Grant | |||
| o Credit Request | o Credit Request | |||
| It is also requested that the registry allocation contain space for | It is also requested that the registry allocation contain space for | |||
| experimental data items. | experimental data items. | |||
| 11.5. DLEP Status Code Registrations | 10.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]. | |||
| Valid status codes are: | Valid status codes are: | |||
| o Success (value 0) | o Success (value 0) | |||
| o Unknown Signal | o Unknown Signal | |||
| o Invalid Signal | o Invalid Data | |||
| o Unexpected Signal | o Unexpected Signal | |||
| o Request Denied | o Request Denied | |||
| o Timed Out | o Timed Out | |||
| 11.6. DLEP Extensions Registrations | o Invalid Destination | |||
| 10.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..255]. | |||
| Valid extensions are: | Valid extensions are: | |||
| o DLEP_EXT_CREDITS - Credit windowing | o DLEP_EXT_CREDITS - Credit windowing | |||
| 11.7. DLEP Well-known Port | 10.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 | 10.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 | 11. Acknowledgements | |||
| The authors would like to acknowledge and thank the members of the | The authors would like to acknowledge and thank the members of the | |||
| DLEP design team, who have provided invaluable insight. The members | DLEP design team, who have provided invaluable insight. The members | |||
| of the design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and | of the design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, and | |||
| Henning Rogge. | Henning Rogge. | |||
| The authors would also like to acknowledge the influence and | The authors would also like to acknowledge the influence and | |||
| contributions of Greg Harrison, Chris Olsen, Martin Duke, Subir Das, | contributions of Greg Harrison, Chris Olsen, Martin Duke, Subir Das, | |||
| Jaewon Kang, Vikram Kaul, and Nelson Powell. | Jaewon Kang, Vikram Kaul, Nelson Powell and Victoria Mercieca. | |||
| 13. References | 12. References | |||
| 13.1. Normative References | 12.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. | |||
| [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. | |||
| 13.2. Informative References | 12.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. | |||
| Appendix A. Peer Level Signal Flows | Appendix A. Peer Level Signal Flows | |||
| _NB_ The following diagrams are possibly out of date. If there is a | A.1. Discovery | |||
| discepancy with the text, then the text is correct. | ||||
| A.1. Router Device Restarts Discovery | ||||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ==================================================================== | ======================================================================== | |||
| <--------Peer Offer------------ Modem detects a problem, sends | ||||
| w/ Non-zero Status TLV Peer Offer w/Status TLV indicating | ||||
| the error. | ||||
| Router accepts failure, restarts | ||||
| discovery process. | ||||
| | Router initiates discovery, starts | ||||
| | a timer, send Peer Discovery | ||||
| |-------Peer Discovery---->|| signal. | ||||
| <--------Peer Offer------------ Modem accepts, sends Peer Offer | ~ ~ ~ ~ ~ ~ ~ Router discovery timer expires | |||
| w/Zero Status TLV indicating | without receiving Peer Offer. | |||
| success. | ||||
| Discovery completed. | | Router sends another Peer | |||
| |-------Peer Discovery---------->| Discovery signal. | ||||
| | | ||||
| | Modem receives Peer Discovery | ||||
| | signal. | ||||
| | | ||||
| | Modem sends Peer Offer with | ||||
| |<--------Peer Offer-------------| Connection Point information. | ||||
| : | ||||
| : Router MAY cancel discovery timer | ||||
| : and stop sending Peer Discovery | ||||
| : signals. | ||||
| A.2. Router Device Detects Peer Offer Timeout | A.2. Session Initialization | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ==================================================================== | ======================================================================== | |||
| --------Peer Discovery--------> Router initiates discovery, starts | ||||
| a guard timer. | ||||
| Router guard timer expires. Router | ||||
| restarts discovery process. | ||||
| --------Peer Discovery--------> Router initiates discovery, starts | ||||
| a guard timer. | ||||
| <--------Peer Offer------------ Modem accepts, sends Peer Offer | ||||
| w/Zero Status TLV indicating | ||||
| success. | ||||
| Discovery completed. | ||||
| A.3. Router Peer Offer Lost | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <-------Peer Discovery--------- Modem initiates discovery, starts | ||||
| a guard timer. | ||||
| ---------Peer Offer-------|| Router offers availability | ||||
| Modem times out on Peer Offer, | ||||
| restarts discovery process. | ||||
| <-------Peer Discovery--------- Modem initiates discovery | ||||
| ---------Peer Offer-----------> Router detects subsequent | ||||
| discovery, internally terminates | ||||
| the previous, accepts the new | ||||
| association, sends Peer Offer | ||||
| w/Status TLV indicating success. | ||||
| Discovery completed. | ||||
| A.4. Discovery Success | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <-------Peer Discovery--------- Modem initiates discovery | ||||
| ---------Peer Offer-----------> Router offers availability | ||||
| <-----Peer Initialization------ Modem Connects on TCP Port | ||||
| <------Peer Heartbeat---------- | ||||
| -------Peer Heartbeat---------> | ||||
| <==============================> Signal flow about destinations | ||||
| (i.e. Destination Up, Destination | ||||
| Down, Destination update) | ||||
| <-------Peer Heartbeat--------- | ||||
| -------Peer Heartbeat---------> | ||||
| --------Peer Term Req---------> Terminate Request | ||||
| <--------Peer Term Res--------- Terminate Response | | Router connects to discovered or | |||
| | pre-configured Modem Connection | ||||
| |---------TCP connect----------> Point. | ||||
| | | ||||
| | Router sends Peer Initialization | ||||
| |-------Peer Initialization----->| signal. | ||||
| | | ||||
| | Modem receives Peer Initialization | ||||
| | signal. | ||||
| | | ||||
| | Modem sends Peer Initialization | ||||
| | ACK, with compatible extensions, | ||||
| |<----Peer Initialization ACK----| and Success status data item. | ||||
| | | | ||||
| |<<============================>>| Session established. Heartbeats | ||||
| : : begin. | ||||
| A.5. Router Detects a Heartbeat timeout | A.3. Session Initialization - Refused | |||
| Router Modem Signal Description | Router Modem Signal Description | |||
| ==================================================================== | ======================================================================== | |||
| <-------Peer Heartbeat--------- | ||||
| -------Peer Heartbeat---------> | ||||
| ||---Peer Heartbeat--------- | ||||
| ~ ~ ~ ~ ~ ~ ~ | | Router connects to discovered or | |||
| | pre-configured Modem Connection | ||||
| |---------TCP connect----------> Point. | ||||
| | | ||||
| | Router sends Peer Initialization | ||||
| |-------Peer Initialization----->| signal. | ||||
| | | ||||
| | Modem receives Peer Initialization | ||||
| | signal, and will not support the | ||||
| | advertised version, experiment or | ||||
| | extensions. | ||||
| | | ||||
| | Modem sends Peer Initialization | ||||
| | ACK, with 'Request Denied' status | ||||
| |<----Peer Initialization ACK----| data item. | ||||
| | | | ||||
| | <---- TCP shutdown (send)-----| Modem closes TCP connection. | ||||
| | | ||||
| | Router receives negative Peer | ||||
| | Initialization ACK, closes | ||||
| |---------TCP close-----------> TCP connection. | ||||
| | | ||||
| ||------------------------------|| Session not started. | ||||
| -------Peer Heartbeat---------> | A.4. Router Changes IP Addresses | |||
| ||---Peer Heartbeat--------- | Router Modem Signal Description | |||
| Router Heartbeat Timer expires, | ======================================================================== | |||
| detects missing heartbeats. Router | ||||
| takes down all destination | ||||
| sessions and terminates the Peer | ||||
| association. | ||||
| | Router sends Peer Update signal to | ||||
| |--------Peer Update------------>| announce change of IP address | ||||
| | | ||||
| | Modem receives Peer Update signal | ||||
| | and updates internal state. | ||||
| | | ||||
| |<-------Peer Update ACK---------| Modem sends Peer Update ACK. | ||||
| Modem takes down all destination | A.5. Modem Changes Session-wide Metrics | |||
| sessions, then acknowledges the | Router Modem Signal Description | |||
| Peer Terminate | ======================================================================== | |||
| <----Peer Terminate ACK--------- Peer Terminate ACK | | Modem sends Peer Update signal to | |||
| | announce change of modem-wide | ||||
| |<--------Peer Update------------| metrics | ||||
| | | ||||
| | Router receives Peer Update signal | ||||
| | and updates internal state. | ||||
| | | ||||
| |-------Peer Update ACK--------->| Router sends Peer Update ACK. | ||||
| A.6. Modem Detects a Heartbeat timeout | A.6. Router Terminates Session | |||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <-------Peer Heartbeat--------- | Router Modem Signal Description | |||
| ======================================================================== | ||||
| -------Peer Heartbeat------|| | | Router sends Peer Termination | |||
| |-------Peer Termination-------->| signal with Status data item. | ||||
| | | | ||||
| |-------TCP shutdown (send)---> | Router stops sending signals. | ||||
| | | ||||
| | Modem receives Peer Termination, | ||||
| | stops counting received heartbeats | ||||
| | and stops sending heartbeats. | ||||
| | | ||||
| | Modem sends Peer Termination ACK | ||||
| |<-----Peer Termination ACK------| with Status 'Success'. | ||||
| | | | ||||
| | <----TCP shutdown (send)------| Modem stops sending signals. | ||||
| | | ||||
| ||------------------------------|| Session terminated. | ||||
| <-------Peer Heartbeat--------- | A.7. Modem Terminates Session | |||
| Router Modem Signal Description | ||||
| ======================================================================== | ||||
| ~ ~ ~ ~ ~ ~ ~ | | Modem sends Peer Termination | |||
| |<------Peer Termination---------| signal with Status data item. | ||||
| | | | ||||
| | <----TCP shutdown (send)------| Modem stops sending signals. | ||||
| | | ||||
| | Router receives Peer Termination, | ||||
| | stops counting received heartbeats | ||||
| | and stops sending heartbeats. | ||||
| | | ||||
| | Router sends Peer Termination ACK | ||||
| |------Peer Termination ACK----->| with Status 'Success'. | ||||
| | | | ||||
| |-------TCP shutdown (send)---> | Router stops sending signals. | ||||
| | | ||||
| ||------------------------------|| Session terminated. | ||||
| -------Peer Heartbeat------|| | A.8. Session Heartbeats | |||
| Router Modem Signal Description | ||||
| ======================================================================== | ||||
| <-------Peer Heartbeat--------- | |----------Heartbeat------------>| Router sends heartbeat signal | |||
| Modem Heartbeat Timer expires, | | | |||
| detects missing heartbeats. Modem | | Modem resets heartbeats missed | |||
| takes down all destination | | counter. | |||
| sessions | ||||
| <-------Peer Terminate-------- Peer Terminate Request | ~ ~ ~ ~ ~ ~ ~ | |||
| Router takes down all destination | |----------[Any signal]--------->| When the Modem receives any signal | |||
| sessions, then acknowledges the | | from the Router. | |||
| Peer Terminate | | | |||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| ------Peer Terminate ACK-----> Peer Terminate ACK | ~ ~ ~ ~ ~ ~ ~ | |||
| A.7. Peer Terminate (from Modem) Lost | |<---------Heartbeat-------------| Modem sends heartbeat signal | |||
| | | ||||
| | Router resets heartbeats missed | ||||
| | counter. | ||||
| Router Modem Signal Description | ~ ~ ~ ~ ~ ~ ~ | |||
| ==================================================================== | ||||
| ||------Peer Terminate-------- Modem Peer Terminate Request | |<---------[Any signal]----------| When the Router receives any | |||
| | signal from the Modem. | ||||
| | | ||||
| | Modem resets heartbeats missed | ||||
| | counter. | ||||
| Router Heartbeat times out, | A.9. Router Detects a Heartbeat timeout | |||
| terminates association. | ||||
| --------Peer Terminate-------> Router Peer Terminate | Router Modem Signal Description | |||
| ======================================================================== | ||||
| <-----Peer Terminate ACK------ Modem sends Peer Terminate ACK | ||<----------------------| Router misses a heartbeat | |||
| A.8. Peer Terminate (from Router) Lost | | ||<----------------------| Router misses too many heartbeats | |||
| Router Modem Signal Description | | | |||
| ==================================================================== | | | |||
| |-------Peer Termination-------->| Router sends Peer Termination | ||||
| | signal with 'Timeout' Status | ||||
| | data item. | ||||
| : | ||||
| : Termination proceeds as above. | ||||
| -------Peer Terminate--------> Router Peer Terminate Request | A.10. Modem Detects a Heartbeat timeout | |||
| Modem HB times out, | Router Modem Signal Description | |||
| terminates association. | ======================================================================== | |||
| <------Peer Terminate-------- Modem Peer Terminate | |---------------------->|| Modem misses a heartbeat | |||
| ------Peer Terminate ACK-----> Peer Terminate ACK | |---------------------->|| | Modem misses too many heartbeats | |||
| | | ||||
| | | ||||
| |<-------Peer Termination--------| Modem sends Peer Termination | ||||
| | signal with 'Timeout' Status | ||||
| | data item. | ||||
| : | ||||
| : Termination proceeds as above. | ||||
| Appendix B. Destination Specific Signal Flows | Appendix B. Destination Specific Signal Flows | |||
| B.1. Modem Destination Up Lost | B.1. Common Destination Signaling | |||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| ||-----Destination Up ------------ Modem sends Destination Up | ||||
| Modem timesout on ACK | ||||
| <------Destination Up ------------ Modem sends Destination Up | ||||
| ------Destination Up ACK---------> Router accepts the destination | ||||
| session | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| . . . . . . . . | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| B.2. Router Detects Duplicate Destination Ups | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <------Destination Up ------------ Modem sends Destination Up | ||||
| ------Destination Up ACK-------|| Router accepts the destination | ||||
| session | ||||
| Modem timesout on ACK | ||||
| <------Destination Up ------------ Modem resends Destination Up | ||||
| Router detects duplicate | ||||
| Destination, takes down the | ||||
| previous, accepts the new | ||||
| Destination. | ||||
| ------Destination Up ACK---------> Router accepts the destination | ||||
| session | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| . . . . . . . . | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| B.3. Destination Up, No Layer 3 Addresses | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <------Destination Up ------------ Modem sends Destination Up | ||||
| ------Destination Up ACK---------> Router accepts the destination | ||||
| session | ||||
| Router ARPs for IPv4 if defined. | ||||
| Router drives ND for IPv6 if | ||||
| defined. | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| . . . . . . . . | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| B.4. Destination Up with IPv4, No IPv6 | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <------Destination Up ------------ Modem sends Destination Up with | ||||
| the IPv4 TLV | ||||
| ------Destination Up ACK---------> Router accepts the destination | ||||
| session | ||||
| Router drives ND for IPv6 if | ||||
| defined. | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| . . . . . . . . | ||||
| <------Destination Update--------- Modem Destination Metrics | ||||
| B.5. Destination Up with IPv4 and IPv6 | ||||
| Router Modem Signal Description | ||||
| ==================================================================== | ||||
| <------Destination Up ------------ Modem sends Destination Up with | ||||
| the IPv4 and IPv6 TLVs | ||||
| ------Destination Up ACK---------> Router accepts the destination | ||||
| session | ||||
| <------Destination Update--------- Modem Destination Metrics | Router Modem Signal Description | |||
| . . . . . . . . | ======================================================================== | |||
| B.6. Destination Session Success | | Modem detects a new logical | |||
| Router Modem Signal Description | | destination is reachable, and | |||
| ==================================================================== | |<-------Destination Up----------| sends Destination Up signal. | |||
| | | ||||
| |--------Destination Up ACK----->| Router sends Destination Up ACK. | ||||
| ---------Peer Offer-----------> Router offers availability | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in logical | ||||
| | destination metrics, and sends | ||||
| |<-------Destination Update------| Destination Update signal. | ||||
| -------Peer Heartbeat---------> | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in logical | ||||
| | destination metrics, and sends | ||||
| |<-------Destination Update------| Destination Update signal. | ||||
| <------Destination Up ----------- Modem | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects logical destination | ||||
| | is no longer reachable, and sends | ||||
| |<-------Destination Down--------| Destination Down signal. | ||||
| | | ||||
| | Router receives Destination Down, | ||||
| | updates internal state, and sends | ||||
| |--------Destination Down ACK--->| Destination Down ACK signal. | ||||
| ------Destination Up ACK--------> Router | B.2. Multicast Destination Signaling | |||
| <------Destination Update--------- Modem | Router Modem Signal Description | |||
| . . . . . . . . | ======================================================================== | |||
| <------Destination Update--------- Modem | ||||
| Modem initiates the terminate | | Router detects a new multicast | |||
| | destination is in use, and sends | ||||
| |--------Destination Up--------->| Destination Up signal. | ||||
| | | ||||
| | Modem updates internal state to | ||||
| | monitor multicast destination, and | ||||
| |<-------Destination Up ACK------| sends Destination Up ACK. | ||||
| <------Destination Down ---------- Modem | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in multicast | ||||
| | destination metrics, and sends | ||||
| |<-------Destination Update------| Destination Update signal. | ||||
| ------Destination Down ACK-------> Router | ~ ~ ~ ~ ~ ~ ~ | |||
| | Modem detects change in multicast | ||||
| | destination metrics, and sends | ||||
| |<-------Destination Update------| Destination Update signal. | ||||
| or | ~ ~ ~ ~ ~ ~ ~ | |||
| | Router detects multicast | ||||
| | destination is no longer in use, | ||||
| |--------Destination Down------->| and sends Destination Down signal. | ||||
| | | ||||
| | Modem receives Destination Down, | ||||
| | updates internal state, and sends | ||||
| |<-------Destination Down ACK----| Destination Down ACK signal. | ||||
| Router initiates the terminate | B.3. Link Characteristics Request | |||
| Router Modem Signal Description | ||||
| ======================================================================== | ||||
| ------Destination Down ----------> Router | Destination has already been | |||
| ~ ~ ~ ~ ~ ~ ~ announced by either peer. | ||||
| <------Destination Down ACK------- Modem | | Router requires different | |||
| | Characteristics for the | ||||
| | destination, and sends Link | ||||
| |--Link Characteristics Request->| Characteristics Request signal. | ||||
| | | ||||
| | Modem attempts to adjust link | ||||
| | status to meet the received | ||||
| | request, and sends a Link | ||||
| | Characteristics Request ACK | ||||
| |<---Link Char. Request ACK------| signal 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. 405 change blocks. | ||||
| 1096 lines changed or deleted | 1174 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/ | ||||