| < draft-ietf-manet-dlep-04.txt | draft-ietf-manet-dlep-05.txt > | |||
|---|---|---|---|---|
| Mobile Ad hoc Networks Working S. Ratliff | Mobile Ad hoc Networks Working S. Ratliff | |||
| Group B. Berry | Group B. Berry | |||
| Internet-Draft G. Harrison | Internet-Draft G. Harrison | |||
| Intended status: Standards Track Cisco Systems | Intended status: Standards Track S. Jury | |||
| Expires: September 22, 2013 D. Satterwhite | Expires: August 14, 2014 Cisco Systems | |||
| D. Satterwhite | ||||
| Broadcom | Broadcom | |||
| S. Jury | Febuary 10, 2014 | |||
| NetApp | ||||
| March 25, 2013 | ||||
| Dynamic Link Exchange Protocol (DLEP) | Dynamic Link Exchange Protocol (DLEP) | |||
| draft-ietf-manet-dlep-04 | draft-ietf-manet-dlep-05 | |||
| 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 49 ¶ | skipping to change at page 1, line 48 ¶ | |||
| 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." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
| This Internet-Draft will expire on February 21, 2013. | This Internet-Draft will expire on August 14, 2014. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 7 | 1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3. Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3. Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5. Extensions to DLEP . . . . . . . . . . . . . . . . . . . . . . 10 | 5. Extensions to DLEP . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . . 10 | 6. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. Mandatory Signals and Data Items . . . . . . . . . . . . . . . 12 | 6.1 DLEP Modem session flow - Discovery case . . . . . . . . . . 11 | |||
| 8. Generic DLEP Packet Definition . . . . . . . . . . . . . . . . 13 | 6.2 DLEP Modem session flow - Configured case . . . . . . . . . 11 | |||
| 9. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . . 13 | 6.3 DLEP Router session flow . . . . . . . . . . . . . . . . . 12 | |||
| 9.1 DLEP Version . . . . . . . . . . . . . . . . . . . . . . . 14 | 6.4 Common Session Flow . . . . . . . . . . . . . . . . . . . . 12 | |||
| 9.2 Peer Type . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 7. Mandatory Signals and Data Items . . . . . . . . . . . . . . . 13 | |||
| 9.3 MAC Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | 8. Generic DLEP Message Definition . . . . . . . . . . . . . . . . 14 | |||
| 9.4 IPv4 Address . . . . . . . . . . . . . . . . . . . . . . . 16 | 9. DLEP Data Items . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 9.5 IPv6 Address . . . . . . . . . . . . . . . . . . . . . . . 17 | 9.1 DLEP Version . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 9.6 Maximum Data Rate (Receive) . . . . . . . . . . . . . . . . 17 | 9.2 DLEP Port . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 9.7 Maximum Data Rate (Transmit) . . . . . . . . . . . . . . . 18 | 9.3 Peer Type . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 9.8 Current Data Rate (Receive) . . . . . . . . . . . . . . . . 19 | 9.4 MAC Address . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 9.9 Current Data Rate (Transmit) . . . . . . . . . . . . . . . 20 | 9.5 IPv4 Address . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 9.10 Expected Forwarding Time . . . . . . . . . . . . . . . . . 21 | 9.6 IPv6 Address . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 9.11 Latency . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 9.7 Maximum Data Rate (Receive) . . . . . . . . . . . . . . . . 20 | |||
| 9.12 Resources (Receive) . . . . . . . . . . . . . . . . . . . 22 | 9.8 Maximum Data Rate (Transmit) . . . . . . . . . . . . . . . 20 | |||
| 9.13 Resources (Transmit) . . . . . . . . . . . . . . . . . . . 22 | 9.9 Current Data Rate (Receive) . . . . . . . . . . . . . . . . 21 | |||
| 9.14 Relative Link Quality (Receive) . . . . . . . . . . . . . 23 | 9.10 Current Data Rate (Transmit) . . . . . . . . . . . . . . . 22 | |||
| 9.15 Relative Link Quality (Transmit) . . . . . . . . . . . . . 24 | 9.11 Expected Forwarding Time . . . . . . . . . . . . . . . . . 23 | |||
| 9.16 Status . . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 9.12 Latency . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 9.17 Heartbeat Interval/Threshold . . . . . . . . . . . . . . . 25 | 9.13 Resources (Receive) . . . . . . . . . . . . . . . . . . . 24 | |||
| 9.18 Link Characteristics ACK Timer . . . . . . . . . . . . . . 26 | 9.14 Resources (Transmit) . . . . . . . . . . . . . . . . . . . 25 | |||
| 9.19 Credit Window Status . . . . . . . . . . . . . . . . . . . 26 | 9.15 Relative Link Quality (Receive) . . . . . . . . . . . . . 25 | |||
| 9.20 Credit Grant Request . . . . . . . . . . . . . . . . . . . 27 | 9.16 Relative Link Quality (Transmit) . . . . . . . . . . . . . 26 | |||
| 9.21 Credit Request . . . . . . . . . . . . . . . . . . . . . . 28 | 9.17 Status . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 9.18 Heartbeat Interval . . . . . . . . . . . . . . . . . . . . 27 | ||||
| 9.19 Link Characteristics ACK Timer . . . . . . . . . . . . . . 28 | ||||
| 9.20 Credit Window Status . . . . . . . . . . . . . . . . . . . 28 | ||||
| 9.21 Credit Grant Request . . . . . . . . . . . . . . . . . . . 29 | ||||
| 9.22 Credit Request . . . . . . . . . . . . . . . . . . . . . . 30 | ||||
| 10. DLEP Protocol Messages . . . . . . . . . . . . . . . . . . . . 31 | ||||
| 10.1 Signal TLV Values . . . . . . . . . . . . . . . . . . . . 31 | ||||
| 10.2 Peer Discovery Message . . . . . . . . . . . . . . . . . . 32 | ||||
| 10.3 Peer Offer Message . . . . . . . . . . . . . . . . . . . . 32 | ||||
| 10.4 Peer Initialization Message . . . . . . . . . . . . . . . . 33 | ||||
| 10.5 Peer Initialization ACK Message . . . . . . . . . . . . . . 33 | ||||
| 10.6 Peer Update Message . . . . . . . . . . . . . . . . . . . . 34 | ||||
| 10.7 Peer Update ACK Message . . . . . . . . . . . . . . . . . . 35 | ||||
| 10.8 Peer Termination Message . . . . . . . . . . . . . . . . . 35 | ||||
| 10.9 Peer Termination ACK Message . . . . . . . . . . . . . . . 36 | ||||
| 10.10 Destination Up Message . . . . . . . . . . . . . . . . . . 36 | ||||
| 10.11 Destination Up ACK Message . . . . . . . . . . . . . . . . 37 | ||||
| 10.12 Destination Down Message . . . . . . . . . . . . . . . . . 37 | ||||
| 10.13 Destination Down ACK Message . . . . . . . . . . . . . . . 37 | ||||
| 10.14 Destination Update Message . . . . . . . . . . . . . . . . 38 | ||||
| 10.15 Heartbeat Message . . . . . . . . . . . . . . . . . . . . 38 | ||||
| 10.16 Link Characteristics Request Message . . . . . . . . . . . 39 | ||||
| 10.17 Link Characteristics ACK Message . . . . . . . . . . . . . 40 | ||||
| 11. Security Considerations . . . . . . . . . . . . . . . . . . . 40 | ||||
| 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 40 | ||||
| 12.1 Registrations . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| 12.2 Expert Review: Evaluation Guidelines . . . . . . . . . . . 41 | ||||
| 12.3 Message (Signal) TLV Type Registration . . . . . . . . . . 41 | ||||
| 12.4 DLEP Data Item Registrations . . . . . . . . . . . . . . . 42 | ||||
| 12.5 DLEP Well-known Port . . . . . . . . . . . . . . . . . . . 42 | ||||
| 12.6 DLEP Multicast Address . . . . . . . . . . . . . . . . . . 42 | ||||
| 13. Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . 42 | ||||
| 13.1 Peer Level Message Flows . . . . . . . . . . . . . . . . . 42 | ||||
| 13.1.1 Modem Device Restarts Discovery . . . . . . . . . . . 43 | ||||
| 13.1.2 Modem Device Detects Peer Offer Timeout . . . . . . . 43 | ||||
| 13.1.3 Router Peer Offer Lost . . . . . . . . . . . . . . . . 44 | ||||
| 13.1.4 Discovery Success . . . . . . . . . . . . . . . . . . 44 | ||||
| 29.1.5 Router Detects a Heartbeat timeout . . . . . . . . . . 45 | ||||
| 29.1.6 Modem Detects a Heartbeat timeout . . . . . . . . . . 45 | ||||
| 29.1.7 Peer Terminate (from Modem) Lost . . . . . . . . . . . 46 | ||||
| 29.1.8 Peer Terminate (from Router) Lost . . . . . . . . . . 46 | ||||
| 29.2 Destination Specific Message Flows . . . . . . . . . . . . 46 | ||||
| 29.2.1 Modem Destination Up Lost . . . . . . . . . . . . . . 47 | ||||
| 29.2.2 Router Detects Duplicate Destination Ups . . . . . . . 47 | ||||
| 29.2.3 Destination Up, No Layer 3 Addresses . . . . . . . . . 48 | ||||
| 29.2.4 Destination Up with IPv4, No IPv6 . . . . . . . . . . 48 | ||||
| 29.2.5 Destination Up with IPv4 and IPv6 . . . . . . . . . . 48 | ||||
| 29.2.6 Destination Session Success . . . . . . . . . . . . . 49 | ||||
| 10. DLEP Protocol Messages . . . . . . . . . . . . . . . . . . . . 29 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 49 | |||
| 10.1 Signal TLV Values . . . . . . . . . . . . . . . . . . . . 29 | Normative References . . . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 11. Peer Discovery Message . . . . . . . . . . . . . . . . . . . . 30 | Informative References . . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 12. Peer Offer Message . . . . . . . . . . . . . . . . . . . . . . 31 | Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . . 50 | |||
| 13. Peer Offer ACK Message . . . . . . . . . . . . . . . . . . . . 31 | ||||
| 14. Peer Update Message . . . . . . . . . . . . . . . . . . . . . 32 | ||||
| 15. Peer Update ACK Message . . . . . . . . . . . . . . . . . . . 33 | ||||
| 16. Peer Termination Message . . . . . . . . . . . . . . . . . . . 33 | ||||
| 17. Peer Termination ACK Message . . . . . . . . . . . . . . . . . 33 | ||||
| 18. Neighbor Up Message . . . . . . . . . . . . . . . . . . . . . 34 | ||||
| 19. Neighbor Up ACK Message . . . . . . . . . . . . . . . . . . . 35 | ||||
| 20. Neighbor Down Message . . . . . . . . . . . . . . . . . . . . 35 | ||||
| 21. Neighbor Down ACK Message . . . . . . . . . . . . . . . . . . 35 | ||||
| 22. Neighbor Update Message . . . . . . . . . . . . . . . . . . . 36 | ||||
| 23. Heartbeat Message . . . . . . . . . . . . . . . . . . . . . . 36 | ||||
| 24. Link Characteristics Request Message . . . . . . . . . . . . . 37 | ||||
| 25. Link Characteristics ACK Message . . . . . . . . . . . . . . . 37 | ||||
| 26. Security Considerations . . . . . . . . . . . . . . . . . . . 38 | ||||
| 27. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 | ||||
| 27.1 Registrations . . . . . . . . . . . . . . . . . . . . . . 38 | ||||
| 27.2 Expert Review: Evaluation Guidelines . . . . . . . . . . . 39 | ||||
| 27.3 Signal (Message) TLV Type Registration . . . . . . . . . . 39 | ||||
| 27.4 DLEP Data Item Registrations . . . . . . . . . . . . . . . 39 | ||||
| 27.5 DLEP Well-known Port . . . . . . . . . . . . . . . . . . . 40 | ||||
| 27.6 DLEP Multicast Address . . . . . . . . . . . . . . . . . . 40 | ||||
| 30. Appendix A. . . . . . . . . . . . . . . . . . . . . . . . . . 40 | ||||
| 30.1 Peer Level Message Flows . . . . . . . . . . . . . . . . . 40 | ||||
| 30.1.1 Modem Device Restarts Discovery . . . . . . . . . . . 40 | ||||
| 30.1.2 Modem Device Detects Peer Offer Timeout . . . . . . . 41 | ||||
| 30.1.3 Router Peer Offer Lost . . . . . . . . . . . . . . . . 42 | ||||
| 30.1.4 Discovery Success . . . . . . . . . . . . . . . . . . 42 | ||||
| 30.1.5 Router Detects a Heartbeat timeout . . . . . . . . . . 43 | ||||
| 30.1.6 Modem Detects a Heartbeat timeout . . . . . . . . . . 43 | ||||
| 30.1.7 Peer Terminate (from Modem) Lost . . . . . . . . . . . 44 | ||||
| 30.1.8 Peer Terminate (from Router) Lost . . . . . . . . . . 44 | ||||
| 30.2 Neighbor Specific Message Flows . . . . . . . . . . . . . 44 | ||||
| 30.2.1 Modem Neighbor Up Lost . . . . . . . . . . . . . . . . 45 | ||||
| 30.2.2 Router Detects Duplicate Neighbor Ups . . . . . . . . 45 | ||||
| 30.2.3 Neighbor Up, No Layer 3 Addresses . . . . . . . . . . 46 | ||||
| 30.2.4 Neighbor Up with IPv4, No IPv6 . . . . . . . . . . . . 46 | ||||
| 30.2.5 Neighbor Up with IPv4 and IPv6 . . . . . . . . . . . . 46 | ||||
| 30.2.6 Neighbor Session Success . . . . . . . . . . . . . . . 47 | ||||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 47 | ||||
| Normative References . . . . . . . . . . . . . . . . . . . . . . . 47 | ||||
| Informative References . . . . . . . . . . . . . . . . . . . . . . 48 | ||||
| Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . . 48 | ||||
| 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 bandwidth and quality. Examples of these types of links | variable datarate and quality. Examples of these types of links | |||
| include line-of-sight (LOS) radios, satellite terminals, and | include line-of-sight (LOS) radios, satellite terminals, and | |||
| cable/DSL modems. Fluctuations in speed and quality of these links | cable/DSL modems. Fluctuations in speed and quality of these links | |||
| can occur due to configuration (in the case of cable/DSL modems), or | can occur due to configuration (in the case of cable/DSL modems), or | |||
| on a moment-to-moment basis, due to physical phenomena like multipath | on a moment-to-moment basis, due to physical phenomena like multipath | |||
| interference, obstructions, rain fade, etc. It is also quite possible | interference, obstructions, rain fade, etc. It is also quite possible | |||
| that link quality and bandwidth varies with respect to individual | that link quality and datarate varies with respect to individual | |||
| neighbors on a link, and with the type of traffic being sent. As an | destinations on a link, and with the type of traffic being sent. As | |||
| example, consider the case of an 802.11g access point, serving 2 | an example, consider the case of an 802.11g access point, serving 2 | |||
| associated laptop computers. In this environment, the answer to the | associated laptop computers. In this environment, the answer to the | |||
| question "What is the bandwidth on the 802.11g link?" is "It depends | question "What is the datarate on the 802.11g link?" is "It depends | |||
| on which associated laptop we're talking about, and on what kind of | on which associated laptop we're talking about, and on what kind of | |||
| traffic is being sent." While the first laptop, being physically | traffic is being sent." While the first laptop, being physically | |||
| close to the access point, may have a bandwidth of 54Mbps for unicast | close to the access point, may have a datarate of 54Mbps for unicast | |||
| traffic, the other laptop, being relatively far away, or obstructed | traffic, the other laptop, being relatively far away, or obstructed | |||
| by some object, can simultaneously have a bandwidth of only 32Mbps | by some object, can simultaneously have a datarate of only 32Mbps for | |||
| for unicast. However, for multicast traffic sent from the access | unicast. However, for multicast traffic sent from the access point, | |||
| point, all traffic is sent at the base transmission rate (which is | all traffic is sent at the base transmission rate (which is | |||
| configurable, but depending on the model of the access point, is | configurable, but depending on the model of the access point, is | |||
| usually 24Mbps or less). | usually 24Mbps or less). | |||
| In addition to utilizing variable bandwidth links, mobile networks | In addition to utilizing variable datarate links, mobile networks are | |||
| are challenged by the notion that link connectivity will come and go | challenged by the notion that link connectivity will come and go over | |||
| over time. Effectively utilizing a relatively short-lived connection | time. Effectively utilizing a relatively short-lived connection is | |||
| is problematic in IP routed networks, as routing protocols tend to | problematic in IP routed networks, as routing protocols tend to rely | |||
| rely on independent timers at OSI Layer 3 to maintain network | on independent timers at OSI Layer 3 to maintain network convergence | |||
| convergence (e.g. HELLO messages and/or recognition of DEAD routing | (e.g. HELLO messages and/or recognition of DEAD routing adjacencies). | |||
| adjacencies). These short-lived connections can be better utilized | These short-lived connections can be better utilized with an event- | |||
| with an event-driven paradigm, where acquisition of a new neighbor | driven paradigm, where acquisition of a new neighbor (or loss of an | |||
| (or loss of an existing one) is signaled, as opposed to a timer- | existing one) is signaled, as opposed to a timer-driven paradigm. | |||
| driven paradigm. | ||||
| Another complicating factor for mobile networks are the different | Another complicating factor for mobile networks are the different | |||
| methods of physically connecting the modem devices to the router. | methods of physically connecting the modem devices to the router. | |||
| Modems can be deployed as an interface card in a router's chassis, or | Modems can be deployed as an interface card in a router's chassis, or | |||
| as a standalone device connected to the router via Ethernet, USB, or | as a standalone device connected to the router via Ethernet, USB, or | |||
| even a serial link. In the case of Ethernet or serial attachment, | even a serial link. In the case of Ethernet or serial attachment, | |||
| with existing protocols and techniques, routing software cannot be | with existing protocols and techniques, routing software cannot be | |||
| aware of convergence events occurring on the radio link (e.g. | aware of convergence events occurring on the radio link (e.g. | |||
| acquisition or loss of a potential routing neighbor), nor can the | acquisition or loss of a potential routing neighbor), nor can the | |||
| router be aware of the actual capacity of the link. This lack of | router be aware of the actual capacity of the link. This lack of | |||
| awareness, along with the variability in bandwidth, leads to a | awareness, along with the variability in datarate, leads to a | |||
| situation where quality of service (QoS) profiles are extremely | situation where quality of service (QoS) profiles are extremely | |||
| difficult to establish and properly maintain. This is especially true | difficult to establish and properly maintain. This is especially true | |||
| of demand-based access schemes such as Demand Assigned Multiple | 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 bandwidth may be available, but will | DAMA-based system, additional datarate may be available, but will not | |||
| not be used unless the network devices emit traffic at rate higher | be used unless the network devices emit traffic at rate higher than | |||
| than the currently established rate. Increasing the traffic rate does | the currently established rate. Increasing the traffic rate does not | |||
| not guarantee additional bandwidth 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 Data 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 neighbors). 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| | | | |||
| +--------+ +-------+ +-------+ +--------+ | +--------+ +-------+ +-------+ +--------+ | |||
| | | | Link | | | | | | | Link | | | | |||
| |-DLEP--| | Protocol | |-DLEP--| | |-DLEP--| | Protocol | |-DLEP--| | |||
| skipping to change at page 5, line 35 ¶ | skipping to change at page 5, line 41 ¶ | |||
| | | | 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 (bandwidth, 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. | 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 | ||||
| air signaling may be necessary between the local and remote modem in | ||||
| order to provide some parameters in DLEP messages between the local | ||||
| 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 | ||||
| matter for the modem implementer. | ||||
| Figure 2 shows how DLEP can support a configuration where routers are | Figure 2 shows how DLEP can support a configuration where routers are | |||
| connected with different link types. In this example, Modem A | connected with different link types. In this example, Modem A | |||
| implements a point-to-point link, and Modem B is connected via a | implements a point-to-point link, and Modem B is connected via a | |||
| shared medium. In both cases, the DLEP protocol is used to report the | shared medium. In both cases, the DLEP protocol is used to report the | |||
| characteristics of the link (bandwidth, latency, etc.) to routers. | characteristics of the link (datarate, latency, etc.) to routers. The | |||
| The modem is also able to use the DLEP session to notify the router | modem is also able to use the DLEP session to notify the router when | |||
| when the remote node is lost, shortening the time required to re- | the remote node is lost, shortening the time required to re-converge | |||
| converge the network. | the network. | |||
| +--------+ +--------+ | +--------+ +--------+ | |||
| +----+ Modem A| | Modem A+---+ | +----+ Modem A| | Modem A+---+ | |||
| | | Device | <===== // ======> | Device | | | | | Device | <===== // ======> | Device | | | |||
| | +--------+ P-2-P Link +--------+ | | | +--------+ P-2-P Link +--------+ | | |||
| +---+----+ +---+----+ | +---+----+ +---+----+ | |||
| | Router | | Router | | | Router | | Router | | |||
| | | | | | | | | | | |||
| +---+----+ +---+----+ | +---+----+ +---+----+ | |||
| | +--------+ +--------+ | | | +--------+ +--------+ | | |||
| skipping to change at page 6, line 35 ¶ | skipping to change at page 6, line 42 ¶ | |||
| +---+----+ | +---+----+ | |||
| | | | | |||
| | | | | |||
| +---+----+ | +---+----+ | |||
| | Router | | | Router | | |||
| | | | | | | |||
| +--------+ | +--------+ | |||
| Figure 2: DLEP Network with Multiple Modem Devices | Figure 2: DLEP Network with Multiple Modem Devices | |||
| DLEP defines a set of logical signals used by modems and their | DLEP defines a set of messages used by modems and their attached | |||
| attached routers. The signals are used to communicate events that | routers. The messages are used to communicate events that occur on | |||
| occur on the physical link(s) managed by the modem: for example, a | the physical link(s) managed by the modem: for example, a remote node | |||
| remote node entering or leaving the network, or that the link has | entering or leaving the network, or that the link has changed. | |||
| changed. Associated with these signals are a set of data items - | Associated with these messages are a set of data items - information | |||
| information that describes the remote node (e.g., address | that describes the remote node (e.g., address information), and/or | |||
| information), and/or the characteristics of the link to the remote | the characteristics of the link to the remote node. | |||
| node. | ||||
| The protocol is defined as a collection of type-length-value (TLV) | The protocol is defined as a collection of type-length-value (TLV) | |||
| based messages, specifying the signals that are exchanged between a | based messages, 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 UDP transport. Other transports for the protocol are possible, | the TCP transport, with a UDP-based discovery mechanism. Other | |||
| but are outside the scope of this document. | transports for the protocol are possible, but are outside the scope | |||
| of this document. | ||||
| DLEP signals are further defined as mandatory or optional. Signals | DLEP signals are further defined as mandatory or optional. Signals | |||
| will additionally have mandatory and optional data items. | will additionally have mandatory and optional data items. | |||
| Implementations MUST support all mandatory messages and their | ||||
| Implementations MUST support all mandatory signals and their | ||||
| mandatory data items to be considered compliant. Implementations MAY | mandatory data items to be considered compliant. Implementations MAY | |||
| also support some, or all, of the optional signals and data items. | also support some, or all, of the optional messages and data items. | |||
| 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), a separate DLEP session MUST exist for each | |||
| modem. If a modem device supports multiple connections to a router | modem. If a modem device supports multiple connections to a router | |||
| (via multiple logical or physical interfaces), or supports | (via multiple logical or physical interfaces), or supports | |||
| connections to multiple routers, a separate DLEP session MUST exist | connections to multiple routers, a separate DLEP session MUST exist | |||
| for each connection. This router/modem session provides a carrier for | for each connection. This router/modem session provides a carrier for | |||
| information exchange concerning neighbors (remote nodes) that are | information exchange concerning "destinations" that are available via | |||
| accessible via the modem device. As such, all of the neighbor-level | the modem device. A "destination" can be either physical (as in the | |||
| exchanges in DLEP can be envisioned as building an information base | case of a specific far-end router), or a logical destination (as in a | |||
| concerning the remote nodes, and the link characteristics to those | Multicast group). As such, all of the destination-level exchanges in | |||
| nodes. | DLEP can be envisioned as building an information base concerning the | |||
| remote nodes, and the link characteristics to those nodes. | ||||
| Multicast traffic is handled in IP networks by deriving a Layer 2 MAC | Multicast traffic destined for the variable-quality network (the | |||
| address based on the Layer 3 address. Leveraging on this scheme, | network accessed via the DLEP modem) is handled in IP networks by | |||
| Multicast traffic is supported in DLEP simply by treating the derived | deriving a Layer 2 MAC address based on the Layer 3 address. | |||
| MAC address as any other destination in the network. To support these | Leveraging on this scheme, Multicast traffic is supported in DLEP | |||
| logical destinations, one of the DLEP participants (typically, the | simply by treating the derived MAC address as any other "destination" | |||
| router) informs the other as to the existence of the logical | (albeit a logical one) in the network. To support these logical | |||
| neighbor. The modem, once it is aware of the existence of this | destinations, one of the DLEP participants (typically, the router) | |||
| logical neighbor, reports link characteristics just as it would for | informs the other as to the existence of the logical neighbor. The | |||
| any other destination in the network. The specific algorithms a modem | modem, once it is aware of the existence of this logical neighbor, | |||
| would use to report metrics on multicast (or logical) destinations is | reports link characteristics just as it would for any other | |||
| outside the scope of this specification, and is left to specific | destination in the network. The specific algorithms a modem would use | |||
| to report metrics on multicast (or logical) destinations is outside | ||||
| the scope of this specification, and is left to specific | ||||
| implementations to decide. | implementations to decide. | |||
| 1.1 Requirements | 1.1 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 | |||
| skipping to change at page 8, line 5 ¶ | skipping to change at page 8, line 24 ¶ | |||
| 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 modem is | each other, thus avoiding a-priori configuration. The modem is | |||
| responsible for initialing the discovery process, using the Peer | responsible for initialing the discovery process, using the Peer | |||
| Discovery message. | Discovery message. | |||
| 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 process. This router-modem | |||
| session persists unless or until it either (1) times out, based on | session persists unless or until it either (1) times out, based on | |||
| the timeout values supplied, or (2) is explicitly torn down by one of | the timeout values supplied, or (2) is explicitly torn down by one of | |||
| the participants. Note that use of timers in DLEP is OPTIONAL; that | the participants. Note that while use of timers in DLEP is OPTIONAL, | |||
| is, implementations can choose to run with no timers (or effectively, | it is strongly recommended that implementations choose to run with | |||
| timers set to an infinite value). | timers enabled. | |||
| DLEP assumes that participating modems, and their physical links, act | DLEP assumes that participating modems, and their physical links, act | |||
| as a transparent bridge. Specifically, the assumption is that the | as a transparent bridge. Specifically, the assumption is that the | |||
| destination MAC address for data traffic in any frame emitted by the | destination MAC address for data traffic in any frame emitted by the | |||
| router should be the MAC address of a device in the remote node. DLEP | router should be the MAC address of a device in the remote node. DLEP | |||
| also assumes that MAC addresses are unique within the context of the | also assumes that MAC addresses are unique within the context of the | |||
| router-modem session. | router-modem session. | |||
| This document refers to a remote node as a "Neighbor". Neighbors can | This document refers to a remote node as a "Destination". | |||
| be identified by either the router or the modem, and represent a | Destinations can be identified by either the router or the modem, and | |||
| specific destination (e.g., an address) that exists on the link(s) | represent a specific destination (e.g., an address) that exists on | |||
| managed by the modem. Examples of a destination include a MAC | the link(s) managed by the modem. A destination MUST contain a MAC | |||
| address, a unicast Layer 3 address, or a multicast Layer 3 address. | address, it MAY optionally include a Layer 3 address (or addresses). | |||
| As "neighbors" are discovered, DLEP routers and modems build an | Destinations MAY refer either to physical devices in the network, or | |||
| information base on destinations accessible via the modem. Changes in | to logical destinations, as in a multicast group. As "destinations" | |||
| link characteristics MAY then be reported as being "modem-wide" | are discovered, DLEP routers and modems build an information base on | |||
| (effecting ALL neighbors accessed via the modem) or MAY be neighbor | destinations accessible via the modem. Changes in link | |||
| characteristics MAY then be reported as being "modem-wide" (effecting | ||||
| ALL destinations accessed via the modem) or MAY be neighbor | ||||
| (destination) specific. | (destination) specific. | |||
| The DLEP signals concerning neighbors thus become the way for routers | The DLEP messages concerning destinations thus become the way for | |||
| and modems to maintain, and notify each other about, an information | routers and modems to maintain, and notify each other about, an | |||
| base representing the physical and logical (e.g., multicast) | information base representing the physical and logical (e.g., | |||
| destinations accessible via the modem device. The information base | multicast) destinations accessible via the modem device. The | |||
| would contain addressing information (e.g., MAC address, and | information base would contain addressing information (e.g., MAC | |||
| OPTIONALLY, Layer 3 addresses), link characteristics (metrics), and | address, and OPTIONALLY, Layer 3 addresses), link characteristics | |||
| OPTIONALLY, flow control information (credits). | (metrics), and OPTIONALLY, flow control information (credits). | |||
| 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 DTLS [DTLS]). | as TLS [TLS]). | |||
| Sequence Numbers for DLEP messages start at 0 and are incremented by | ||||
| one for each original and retransmitted message. The unsigned 16-bit | ||||
| Sequence Number rolls over at 65535 to 0. Sequence Numbers are unique | ||||
| within the context of a DLEP session. Sequence numbers are used in | ||||
| DLEP to correlate a response to a request. | ||||
| This document specifies an implementation of the DLEP signals and | This document specifies an implementation of the DLEP messages and | |||
| data items running over the UDP transport, utilizing a well-known UDP | data items running over the TCP transport, utilizing a well-known TCP | |||
| Port number. It is assumed that DLEP running over other transport | Port number. It is assumed that DLEP running over other transport | |||
| mechanisms would be documented separately. | mechanisms would be documented separately. | |||
| 3. Credits | 3. Credits | |||
| DLEP includes an OPTIONAL credit-windowing scheme analogous to the | DLEP includes an OPTIONAL credit-windowing scheme analogous to the | |||
| one documented in [RFC5578]. In this scheme, traffic between the | one documented in [RFC5578]. In this scheme, traffic between the | |||
| router and modem is treated as two unidirectional windows. This | router and modem is treated as two unidirectional windows. This | |||
| document identifies these windows as the "Modem Receive Window", or | document identifies these windows as the "Modem Receive Window", or | |||
| MRW, and the "Router Receive Window", or RRW. | MRW, and the "Router Receive Window", or RRW. | |||
| skipping to change at page 9, line 32 ¶ | skipping to change at page 9, line 44 ¶ | |||
| always expressed as a 64-bit unsigned quantity. | always expressed as a 64-bit unsigned quantity. | |||
| If used, credits are managed on a neighbor-specific basis; that is, | If used, credits are managed on a neighbor-specific basis; that is, | |||
| separate credit counts are maintained for each neighbor requiring the | separate credit counts are maintained for each neighbor requiring the | |||
| service. Credits do not apply to the DLEP session that exists between | service. Credits do not apply to the DLEP session that exists between | |||
| routers and modems. | routers and modems. | |||
| 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. bandwidth, latency) of | metrics that reflect the characteristics (e.g. datarate, latency) of | |||
| the variable-quality link in use. As mentioned in the introduction | the variable-quality link in use. DLEP does NOT specify how a given | |||
| section of this document, metrics have to be used within a context - | metric value is to be calculated, rather, the protocol assumes that | |||
| for example, metrics to a unicast address in the network. DLEP allows | metrics have been calculated with a "best effort", incorporating all | |||
| for metrics to be sent within two contexts - metrics for a specific | pertinent data that is available to the modem device. | |||
| neighbor (those for a given destination within the network), and | ||||
| "modem-wide" (those that apply to all destinations accessed via the | ||||
| modem). Metrics supplied on DLEP Peer signals are, by definition, | ||||
| modem-wide; metrics supplied on Neighbor signals are, by definition, | ||||
| used for the specific neighbor only. | ||||
| Metrics are further subdivided into transmit and receive metrics. | As mentioned in the introduction section of this document, metrics | |||
| have to be used within a context - for example, metrics to a unicast | ||||
| address in the network. DLEP allows for metrics to be sent within two | ||||
| contexts - metrics for a specific destination within the network | ||||
| (e.g., a specific router), and "modem-wide" (those that apply to all | ||||
| destinations accessed via the modem). Metrics are further subdivided | ||||
| into transmit and receive metrics. Metrics supplied on DLEP Peer | ||||
| signals are, by definition, modem-wide; metrics supplied on | ||||
| Destination messages signals are, by definition, used for the | ||||
| specific neighbor only. | ||||
| DLEP modem implementations MUST announce all supported metric items, | ||||
| and provide default values for those metrics, in the Peer | ||||
| Initialization message. In order to introduce a new metric type, DLEP | ||||
| modem implementations MUST terminate the session with the router (via | ||||
| the Peer Terminate message), and 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. Additionally, this mechanism | on their specific characteristics. Modems having static (non- | |||
| (either at a modem-wide or specific neighbor context) MAY be used to | changing) link metric characteristics MAY report metrics only once | |||
| report non-changing, or static, metrics. Modems having static link | for a given neighbor (or once on a modem-wide basis, if all | |||
| metric characteristics MAY report metrics only once for a given | connections via the modem are of this static nature). | |||
| neighbor (or once on a modem-wide basis, if all 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. | |||
| 5. Extensions to DLEP | 5. Extensions to DLEP | |||
| While this draft represents the best efforts of the co-authors, and | While this draft represents the best efforts of the co-authors, and | |||
| the working group, to be functionally complete, it is recognized that | the working group, to be functionally complete, it is recognized that | |||
| extensions to DLEP will in all likelihood be necessary as more link | extensions to DLEP will in all likelihood be necessary as more link | |||
| types are utilized. To allow for future innovation, the draft | types are utilized. To allow for future innovation, the draft | |||
| allocates numbering space for experimental implementations of both | allocates numbering space for experimental implementations of both | |||
| signals and data items. | signals and data items. | |||
| DLEP implementations MUST be capable of parsing and acting on the | DLEP implementations MUST be capable of parsing and acting on the | |||
| mandatory signals and data items as documented in this specification. | mandatory messages and data items as documented in this | |||
| DLEP signals/data items that are optional, or are in the experimental | specification. DLEP messages/data items that are optional, or are in | |||
| numbering range SHOULD be silently dropped by an implementation if | the experimental numbering range SHOULD be silently dropped by an | |||
| they are not understood. | implementation if they are not understood. | |||
| The intent of the optional signals and data items, as well as the | The intent of the optional messages and data items, as well as the | |||
| experimental numbering space, is to allow for further development of | experimental numbering space, is to allow for further development of | |||
| DLEP protocol features and function. Having experimental space | DLEP protocol features and function. Having experimental space | |||
| reserved for both signals and data items gives maximum flexibility | reserved for both signals and data items gives maximum flexibility | |||
| for extending the protocol as conditions warrant. For example, | for extending the protocol as conditions warrant. For example, | |||
| experimental data items could be used by implementations to send | experimental data items could be used by implementations to send | |||
| additional metrics. A combination of experimental signals, and | additional metrics. A combination of experimental messages, and | |||
| associated data items, could be used to implement new flow control | associated data items, could be used to implement new flow control | |||
| schemes. If subsequent research and development define new features | schemes. If subsequent research and development define new features | |||
| and function, then it should be standardized either as an update to | and function, then it should be standardized either as an update to | |||
| this document, or as an additional stand-alone specification. | this document, or as an additional stand-alone specification. | |||
| 6. Normal Session Flow | 6. Normal Session Flow | |||
| At the start of a run, DLEP implementations (both router and modem) | Normal session flow is slightly different, depending on whether the | |||
| initialize the communications path. In a UDP implementation, this | implementation represents a modem or a router, and whether discovery | |||
| includes opening a socket and binding to the well-known port address | techniques are used. The normal flow by DLEP partner type is: | |||
| (TBD). Once the communications path is established, modem | ||||
| implementations are free to issue a "Peer Discovery" message. The | ||||
| Peer Discovery MAY be sent either to the multicast address allocated | ||||
| for DLEP (TBD), or to a unicast address, obtained via a-priori | ||||
| configuration. | ||||
| Routers receiving a Peer Discovery message respond with a "Peer | 6.1 DLEP Modem session flow - Discovery case | |||
| Offer" signal to indicate readiness to participate in the DLEP | ||||
| session. The receiver of a Peer Offer message responds with a "Peer | ||||
| Offer ACK" message, completing discovery. While the Peer Discovery | ||||
| message MAY be sent to the DLEP multicast address (TBD), the Peer | ||||
| Offer, and all subsequent traffic, is sent to the unicast address | ||||
| that originated the Peer Discovery. Once the Peer Offer signal is | ||||
| acknowledged, both participants (router and modem) transition to the | ||||
| "in session" state, creating a logical, stateful session between the | ||||
| modem and the router. Subsequent DLEP signals are then processed | ||||
| within the context of this router/modem session. In the UDP-based | ||||
| implementation, traffic between DLEP modems and routers is correlated | ||||
| using the UDP 4-tuple (Source Address, Source Port, Destination | ||||
| Address, Destination Port). DLEP partners use these signals to build | ||||
| their respective information bases regarding destinations that are | ||||
| accessible via the modem, and link characteristics associated with | ||||
| those destinations. | ||||
| The "in session" state created by the discovery signals is maintained | If the DLEP modem implementation is utilizing the optional discovery | |||
| until one of the following conditions occur: | mechanism, then the implementation will initialize a UDP socket, | |||
| binding it to an arbitrary port. This UDP socket is used to send the | ||||
| Peer Discovery message to the DLEP link-local multicast address and | ||||
| port (TBD). The implementation then waits on receipt of a Peer Offer | ||||
| message, which MUST contain the unicast address and port for TCP- | ||||
| based communication with a DLEP router. The Peer Offer message MAY | ||||
| contain multiple address/port combinations. If more than one | ||||
| address/port combination is in the Peer Offer, the DLEP modem | ||||
| implementation SHOULD consider the list to be in priority sequence, | ||||
| with the "most desired" address/port combination listed first. | ||||
| However, modem implementations MAY use their own heuristics to | ||||
| determine the best address/port combination. At this point, the modem | ||||
| implementation MAY either destroy the UDP socket, or continue to | ||||
| issue Peer Discovery messages to the link-local address/port | ||||
| combination. In either case, the TCP session initialization occurs as | ||||
| in the configured case. | ||||
| 6.2 DLEP Modem session flow - Configured case | ||||
| When a DLEP modem implementation has the address and port information | ||||
| for a TCP connection to the router (obtained either via configuration | ||||
| or via the discovery process described above), the modem will | ||||
| initialize and bind a TCP socket. This socket is used to connect to | ||||
| the DLEP router software. After a successful TCP connect, the modem | ||||
| implementation MUST issue a Peer Initialization message to the DLEP | ||||
| router. The Peer Initialization message MUST contain TLVs for ALL | ||||
| supported metrics from this modem (e.g. all MANDATORY metrics plus | ||||
| all OPTIONAL metrics supported by the implementation), along with the | ||||
| default values of those metrics. After sending the Peer | ||||
| Initialization, the modem implementation should wait for receipt of a | ||||
| Peer Initialization ACK message from the router. Receipt of the Peer | ||||
| Initialization ACK indicates that the router has received and | ||||
| processed the Peer Initialization, and the session MUST transition to | ||||
| the "in session" state. At this point, messages regarding | ||||
| destinations in the network, and/or Peer Update messages, can flow on | ||||
| the DLEP session between modem and router. The "in session" state is | ||||
| maintained until one of the following 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. | |||
| In order to maintain the session between router and modem, OPTIONAL | 6.3 DLEP Router session flow | |||
| periodic "Heartbeat" messages MAY be exchanged. These messages are | ||||
| intended to keep the session alive, and to verify bidirectional | DLEP router implementations MUST support the discovery mechanism. | |||
| connectivity between the two participants. DLEP also provides for an | Therefore, the normal flow is as follows: | |||
| OPTIONAL Peer Update message, intended to communicate some change in | ||||
| status (e.g., a change of layer 3 address parameters, or a modem-wide | The implementation will initialize a UDP socket, binding that socket | |||
| link change). | to the DLEP link-local multicast address (TBD) and the DLEP well- | |||
| known port number (also TBD). The implementation will then initialize | ||||
| a TCP socket, on a unicast address and port. This socket is used to | ||||
| listen for incoming TCP connection requests. | ||||
| When the router implementation receives a Peer Discovery message on | ||||
| the UDP socket, it responds by issuing a Peer Offer message to the | ||||
| sender of the Peer Discovery. The Peer Offer message MUST contain the | ||||
| unicast address and port of the TCP listen socket, described above. A | ||||
| DLEP router implementation MAY respond with ALL address/port | ||||
| combinations that have an active TCP listen posted. If multiple | ||||
| address/port combinations are listed, the receiver of the Peer Offer | ||||
| MAY connect on any available address/port pair. Anything other than | ||||
| Peer Discovery messages received on the UDP socket MUST be silently | ||||
| dropped. | ||||
| When the DLEP router implementation accepts a connection via TCP, it | ||||
| will wait for receipt of a Peer Initialization message. The received | ||||
| Peer Initialization MUST contain metric TLVs for ALL mandatory | ||||
| metrics, and MUST contain metric TLVs for ANY optional metrics | ||||
| supported by the modem. If a new 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 message. | ||||
| 6.4 Common Session Flow | ||||
| In order to maintain the session between router and modem, periodic | ||||
| "Heartbeat" messages SHOULD be exchanged. These messages are intended | ||||
| to keep the session alive, and to verify bidirectional connectivity | ||||
| between the two participants. DLEP also provides for an OPTIONAL Peer | ||||
| Update message, 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 messages above, the participants will transmit | In addition to the messages above, the participants will transmit | |||
| DLEP messages concerning destinations in the network. These messages | DLEP messages concerning destinations in the network. These messages | |||
| trigger creation/maintenance/deletion of "neighbors" in the | trigger creation/maintenance/deletion of destinations in the | |||
| information base of the recipient. For example, a modem will inform | information base of the recipient. For example, a modem will inform | |||
| its attached router of the presence of a new destination via the | its attached router of the presence of a new destination via the | |||
| "Neighbor Up" signal. Receipt of a Neighbor Up causes the router to | "Destination Up" signal. Receipt of a Destination Up causes the | |||
| allocate the necessary resources, creating an entry in the | router to allocate the necessary resources, creating an entry in the | |||
| information base with the specifics (e.g., MAC Address, Latency, Data | information base with the specifics (e.g., MAC Address, Latency, Data | |||
| Rate, etc) of the neighbor. The loss of a destination is communicated | Rate, etc) of the neighbor. The loss of a destination is communicated | |||
| via the "Neighbor Down" signal, and changes in status to the | via the "Neighbor Down" signal, and changes in status to the | |||
| destination (e.g. varying link quality, or addressing changes) are | destination (e.g. varying link quality, or addressing changes) are | |||
| communicated via the "Neighbor Update" signal. The information on a | communicated via the "Neighbor Update" signal. The information on a | |||
| given neighbor will persist in the router's information base until | given neighbor will persist in the router's information base until | |||
| (1) a "Neighbor Down" is received, indicating that the modem has lost | (1) a "Neighbor Down" is received, indicating that the modem has lost | |||
| contact with the remote node, or (2) the router/modem session | contact with the remote node, or (2) the router/modem session | |||
| terminates, indicating that the router has lost contact with its own | terminates, indicating that the router has lost contact with its own | |||
| local modem. | local modem. | |||
| Again, metrics can be expressed within the context of a specific | Again, metrics can be expressed within the context of a specific | |||
| neighbor via the Neighbor Update message, or on a modem-wide basis | neighbor via the Neighbor Update message, or on a modem-wide basis | |||
| via the Peer Update message. In cases where metrics are provided on | via the Peer Update message. In cases where metrics are provided on | |||
| the router/modem session, the receiver MUST propagate the metrics to | the router/modem session, the receiver MUST propagate the metrics to | |||
| all neighbors in its information base that are accessed via the | all destinations in its information base that are accessed via the | |||
| originator. A DLEP participant MAY send metrics both in a | originator. A DLEP participant MAY send metrics both in a | |||
| router/modem session context (via the Peer Update message) and a | router/modem session context (via the Peer Update message) and a | |||
| specific neighbor context (via Neighbor Update) at any time. The | specific neighbor context (via Neighbor Update) at any time. The | |||
| heuristics for applying received metrics is left to implementations. | heuristics for applying received metrics is left to implementations. | |||
| In addition to receiving metrics about the link, DLEP provides an | In addition to receiving metrics about the link, DLEP provides an | |||
| OPTIONAL signal allowing a router to request a different amount of | OPTIONAL signal allowing a router to request a different datarate, or | |||
| bandwidth, or latency, from the modem. This signal is referred to as | latency, from the modem. This signal is referred to as the Link | |||
| the Link Characteristics Message, and gives the router the ability to | Characteristics Message, and gives the router the ability to deal | |||
| deal with requisite increases (or decreases) of allocated | with requisite increases (or decreases) of allocated datarate/latency | |||
| bandwidth/latency in demand-based schemes in a more deterministic | in demand-based schemes in a more deterministic manner. | |||
| manner. | ||||
| 7. Mandatory Signals and Data Items | 7. Mandatory Signals and Data Items | |||
| The following DLEP signals are considered core to the specification; | The following DLEP signals are considered core to the specification; | |||
| implementations MUST support these signals, and the associated data | implementations MUST support these signals, and the associated data | |||
| items, in order to be considered compliant: | items, in order to be considered compliant: | |||
| Signal Data Items | Signal Data Items | |||
| ====== ========== | ====== ========== | |||
| Peer Discovery None | Peer Discovery (Modem Only) DLEP Version | |||
| Peer Offer (Router Only) DLEP Version | ||||
| IPv4 or IPv6 address(es) | ||||
| DLEP Port | ||||
| Peer Offer None | Peer Initialization DLEP Version | |||
| Maximum Data Rate (Receive) | ||||
| Maximum Data Rate (Transmit) | ||||
| Current Data Rate (Receive) | ||||
| Current Data Rate (Transmit) | ||||
| Latency | ||||
| Relative Link Quality (Receive) | ||||
| Relative Link Quality (Transmit) | ||||
| Peer Offer ACK Status | Peer Initialization ACK Status | |||
| Peer Termination None | Peer Termination None | |||
| Peer Termination ACK Status | Peer Termination ACK Status | |||
| Neighbor Up MAC Address | Destination Up MAC Address | |||
| Maximum Data Rate | Maximum Data Rate (Receive) | |||
| Current Data Rate | Maximum Data Rate (Transmit) | |||
| Current Data Rate (Receive) | ||||
| Current Data Rate (Transmit) | ||||
| Latency | ||||
| Relative Link Quality (Receive) | ||||
| Relative Link Quality (Transmit) | ||||
| Neighbor Update MAC Address | Destination Update MAC Address | |||
| Maximum Data Rate | Maximum Data Rate (Receive) | |||
| Current Data Rate | Maximum Data Rate (Transmit) | |||
| Current Data Rate (Receive) | ||||
| Current Data Rate (Transmit) | ||||
| Latency | ||||
| Relative Link Quality (Receive) | ||||
| Relative Link Quality (Transmit) | ||||
| Neighbor Down MAC Address | Destination Down MAC Address | |||
| All other DLEP signals and data items are OPTIONAL. Implementations | All other DLEP signals and data items are OPTIONAL. Implementations | |||
| MAY choose to provide them. Implementations that do not support | MAY choose to provide them. Implementations that do not support | |||
| optional signals and data items SHOULD parse, and silently drop, all | optional signals and data items SHOULD parse, and silently drop, all | |||
| unsupported signals and/or data items. | unsupported messages and/or data items. | |||
| 8. Generic DLEP Packet Definition | 8. Generic DLEP Message Definition | |||
| The Generic DLEP Packet consists of a sequence of TLVs. The first TLV | The Generic DLEP Message consists of a sequence of TLVs. The first | |||
| represents the signal being communicated (e.g., a "Neighbor Up", or a | TLV represents the signal being communicated (e.g., a "Destination | |||
| "Peer Offer"). Subsequent TLVs contain the data items pertinent to | Up", or a "Peer Offer"). Subsequent TLVs contain the data items | |||
| the signal (e.g., Maximum Data Rate, or Latency, etc). | pertinent to the signal (e.g., Maximum Data Rate, or Latency, etc). | |||
| The Generic DLEP Packet Definition contains the following fields: | The Generic DLEP Packet Definition 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |Signal TLV Type | Length | DLEP data items... | | |Signal TLV Type | Length | DLEP data items... | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Signal - One of the DLEP Signal TLV type values | Signal - One of the DLEP Message TLV type values | |||
| defined in this document. | defined in this document. | |||
| Length - The length of all of the DLEP data items | Length - The length, expressed as a 16-bit | |||
| quantity, of all of the DLEP data items | ||||
| associated with this signal. | associated with this signal. | |||
| DLEP data items - One or more data items, encoded in TLVs, | DLEP data items - One or more data items, encoded in TLVs, | |||
| as defined in this document. | as defined in this document. | |||
| 9. DLEP Data Items | 9. DLEP Data Items | |||
| As mentioned earlier, DLEP protocol messages are transported as a | As mentioned earlier, DLEP protocol messages are transported as a | |||
| collection of TLVs. The first TLV present in a DLEP message MUST be | collection of TLVs. The first TLV present in a DLEP message MUST be | |||
| one of the Signal TLVs, documented in section [INSERT REFERENCE | one of the Signal TLVs, documented in section 10. The signals are | |||
| HERE]. The signals are followed by one or more data items, indicating | followed by one or more data items, indicating the specific changes | |||
| the specific changes that need to be instantiated in the receiver's | that need to be instantiated in the receiver's information base. | |||
| information base. | ||||
| Valid DLEP Data Items are: | Valid DLEP Data Items are: | |||
| TLV TLV | TLV TLV | |||
| Value Description | Value Description | |||
| ========================================= | ========================================= | |||
| TBD DLEP Version | TBD DLEP Version | |||
| TBD DLEP Port | ||||
| TBD Peer Type | TBD Peer Type | |||
| TBD IPv4 Address | TBD IPv4 Address | |||
| TBD IPv6 Address | TBD IPv6 Address | |||
| TBD Maximum Data Rate (Receive) (MDRR) | TBD Maximum Data Rate (Receive) (MDRR) | |||
| TBD Maximum Data Rate (Transmit) (MDRT) | TBD Maximum Data Rate (Transmit) (MDRT) | |||
| TBD Current Data Rate (Receive) (CDRR) | TBD Current Data Rate (Receive) (CDRR) | |||
| TBD Current Data Rate (Transmit) (CDRT) | TBD Current Data Rate (Transmit) (CDRT) | |||
| TBD Transmit Latency | TBD Latency | |||
| TBD Receive Resources | TBD Receive Resources | |||
| TBD Transmit Resources | TBD Transmit Resources | |||
| TBD Expected Forwarding Time (EFT) | TBD Expected Forwarding Time (EFT) | |||
| TBD Relative Link Quality (Receive) (RLQR) | TBD Relative Link Quality (Receive) (RLQR) | |||
| TBD Relative Link Quality (Transmit) (RLQT) | TBD Relative Link Quality (Transmit) (RLQT) | |||
| TBD Status | TBD Status | |||
| TBD Heartbeat Interval/Threshold | TBD Heartbeat Interval/Threshold | |||
| TBD Neighbor down ACK timer | TBD Neighbor down ACK timer | |||
| TBD Link Characteristics ACK timer | TBD Link Characteristics ACK timer | |||
| TBD Credit Window Status | TBD Credit Window Status | |||
| skipping to change at page 14, line 39 ¶ | skipping to change at page 16, line 33 ¶ | |||
| TLV Type - An 8-bit unsigned integer field specifying the data | TLV 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 - An 8-bit length of the value field of the data item | |||
| Value - A field of length <Length> which contains data | Value - A field of length <Length> which contains data | |||
| specific to a particular data item. | specific to a particular data item. | |||
| 9.1 DLEP Version | 9.1 DLEP Version | |||
| The DLEP Version TLV is an OPTIONAL TLV in both the Peer Discovery | The DLEP Version TLV is a MANDATORY TLV in Peer Discovery, Peer | |||
| and Peer Offer messages. The Version TLV is used to indicate the | Offer, and Peer Initialization messages. The Version TLV is used to | |||
| version of the protocol running in the originator. A participant MAY | indicate the version of the protocol running in the sender. The | |||
| use this information to decide if the potential session partner is | receiver SHOULD use this information to decide if the potential | |||
| running at a supported level. | session partner is running at a supported level. | |||
| The DLEP Version TLV contains the following fields: | The DLEP Version TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length=4 | Major Version | | |TLV Type =TBD |Length=4 | Major Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Minor Version | | | Minor Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 15, line 9 ¶ | skipping to change at page 17, line 4 ¶ | |||
| 0 1 2 3 | 0 1 2 3 | |||
| 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length=4 | Major Version | | |TLV Type =TBD |Length=4 | Major Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Minor Version | | | Minor Version | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - Length is 4 | Length - Length is 4 | |||
| Major Version - Major version of the modem or router protocol. | Major Version - Major version of the modem or router protocol. | |||
| Minor Version - Minor version of the modem or router protocol. | Minor Version - Minor version of the modem or router protocol. | |||
| Support of this draft is indicated by setting the Major Version | Support of this draft is indicated by setting the Major Version | |||
| to '1', and the Minor Version to '3' (e.g. Version 1.3). | to '1', and the Minor Version to '5' (i.e. Version 1.5). | |||
| 9.2 Peer Type | 9.2 DLEP Port | |||
| The DLEP Port TLV is a MANDATORY TLV in the Peer Offer message. The | ||||
| DLEP Port TLV is used to indicate the TCP Port number on the DLEP | ||||
| server available for connections. The receiver MUST use this | ||||
| information to perform the TCP connect to the DLEP server. | ||||
| The DLEP Port TLV 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| |TLV Type =TBD |Length=2 | TCP Port Number | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| TLV Type - TBD | ||||
| Length - Length is 2 | ||||
| TCP Port Number - TCP Port number on the DLEP server. | ||||
| Minor Version - Minor version of the modem or router protocol. | ||||
| 9.3 Peer Type | ||||
| The Peer Type TLV is an OPTIONAL TLV in both the Peer Discovery and | The Peer Type TLV is an OPTIONAL TLV in both the Peer Discovery and | |||
| Peer Offer messages. The Peer Type TLV is used by the router and | Peer Offer messages. The Peer Type TLV is used by the router and | |||
| modem to give additional information as to its type. The peer type is | modem to give additional information as to its type. The peer type is | |||
| a string and is envisioned to be used for informational purposes | a string and is envisioned to be used for informational purposes | |||
| (e.g. as output in a display command). | (e.g. as output in a display command). | |||
| The Peer Type TLV contains the following fields: | The Peer Type TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length= peer |Peer Type String | | |TLV Type =TBD |Length= peer |Peer Type String | | |||
| | |type string len|Max Len = 80 | | | |type string len| | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - Length of peer type string (80 octets maximum). | Length - Length of peer type string. | |||
| Peer Type String - Non-Null terminated string, maximum length of 80 | Peer Type String - Non-Null terminated string, using UTF-8 encoding. | |||
| octets. For example, a satellite modem might set | For example, a satellite modem might set this | |||
| this variable to 'Satellite terminal'. | variable to 'Satellite terminal'. | |||
| 9.3 MAC Address | 9.4 MAC Address | |||
| The MAC address TLV MUST appear in all neighbor-oriented signals | The MAC address TLV MUST appear in all destination-oriented signals | |||
| (e.g. Neighbor Up, Neighbor Up ACK, Neighbor Down, Neighbor Down ACK, | (e.g. Destination Up, Destination Up ACK, Destination Down, | |||
| Neighbor Update, Link Characteristics Request, and Link | Destination Down ACK, Destination Update, Link Characteristics | |||
| Characteristics ACK). The MAC Address TLV contains the address of the | Request, and Link Characteristics ACK). The MAC Address TLV contains | |||
| destination on the remote node. The MAC address MAY be either a | the address of the destination on the remote node. The MAC address | |||
| physical or a virtual destination. Examples of a virtual destination | MAY be either a physical or a virtual destination. Examples of a | |||
| would be a multicast MAC address, or the broadcast MAC | virtual destination would be a multicast MAC address, or the | |||
| (0xFFFFFFFFFFFF). | broadcast MAC (0xFFFFFFFFFFFF). | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 6 | MAC Address | | |TLV Type =TBD |Length = 6 | MAC Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MAC Address | | | MAC Address | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 6 | Length - 6 | |||
| MAC Address - MAC Address of the destination (either physical or | MAC Address - MAC Address of the destination (either physical or | |||
| virtual). | virtual). | |||
| 9.4 IPv4 Address | 9.5 IPv4 Address | |||
| The IPv4 Address TLV is an OPTIONAL TLV. If supported, it MAY appear | The IPv4 Address TLV is an OPTIONAL TLV. If supported, it MAY appear | |||
| in Neighbor Up, Neighbor Update, and Peer Update messages. When | in Destination Up, Destination Update, and Peer Update messages. When | |||
| included in Neighbor messages, the IPv4 Address TLV contains the IPv4 | included in Destination messages, the IPv4 Address TLV contains the | |||
| address of the neighbor, as well as a subnet mask value. In the Peer | IPv4 address of the destination, as well as a subnet mask value. In | |||
| Update message, it contains the IPv4 address of the originator of the | the Peer Update message, it contains the IPv4 address of the | |||
| message. In either case, the TLV also contains an indication of | originator of the message. In either case, the TLV also contains an | |||
| whether this is a new or existing address, or is a deletion of a | indication of whether this is a new or existing address, or is a | |||
| previously known address. | deletion of a previously known address. | |||
| The IPv4 Address TLV contains the following fields: | The IPv4 Address TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 6 | Add/Drop | IPv4 Address | | |TLV Type =TBD |Length = 6 | Add/Drop | IPv4 Address | | |||
| | | | Indicator | | | | | Indicator | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv4 Address | Subnet Mask | | | IPv4 Address | Subnet Mask | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 6 | Length - 6 | |||
| Add/Drop - Value indicating whether this is a new or existing | Add/Drop - Value indicating whether this is a new or existing | |||
| IPv4 address | address (0x01), or a withdrawal of an address (0x02). | |||
| IPv4 Address - The IPv4 address of the neighbor or peer. | IPv4 Address - The IPv4 address of the destination or peer. | |||
| Subnet Mask - A subnet mask (0-32) to be applied to the IPv4 | Subnet Mask - A subnet mask (0-32) to be applied to the IPv4 | |||
| address. | address. | |||
| 9.5 IPv6 Address | 9.6 IPv6 Address | |||
| The IPv6 Address TLV is an OPTIONAL TLV. If supported, it MAY be used | The IPv6 Address TLV is an OPTIONAL TLV. If supported, it MAY be used | |||
| in the Neighbor Up, Neighbor Update, Peer Discovery, and Peer Update | in the Destination Up, Destination Update, Peer Discovery, and Peer | |||
| Messages. When included in Neighbor messages, this data item contains | Update Messages. When included in Destination messages, this data | |||
| the IPv6 address of the neighbor. In the Peer Discovery and Peer | item contains the IPv6 address of the destination. In the Peer | |||
| Update, it contains the IPv6 address of the originating peer. In | Discovery and Peer Update, it contains the IPv6 address of the | |||
| either case, the data item also contains an indication of whether | originating peer. In either case, the data item also contains an | |||
| this is a new or existing address, or is a deletion of a previously | indication of whether this is a new or existing address, or is a | |||
| known address, as well as a subnet mask. | deletion of a previously known address, as well as a subnet mask. | |||
| The IPv6 Address TLV contains the following fields: | The IPv6 Address TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 18 | Add/Drop | IPv6 Address | | |TLV Type =TBD |Length = 18 | Add/Drop | IPv6 Address | | |||
| | | | Indicator | | | | | | Indicator | | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | IPv6 Address | | | IPv6 Address | | |||
| skipping to change at page 17, line 45 ¶ | skipping to change at page 20, line 15 ¶ | |||
| | IPv6 Address | Subnet Mask | | | IPv6 Address | Subnet Mask | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 18 | Length - 18 | |||
| Add/Drop - Value indicating whether this is a new or existing | Add/Drop - Value indicating whether this is a new or existing | |||
| address (0x01), or a withdrawal of an address (0x02). | address (0x01), or a withdrawal of an address (0x02). | |||
| IPv6 Address - IPv6 Address of the neighbor or peer. | IPv6 Address - IPv6 Address of the destination or peer. | |||
| Subnet Mask - A subnet mask value (0-128) to be applied to the Ipv6 | Subnet Mask - A subnet mask value (0-128) to be applied to the Ipv6 | |||
| address. | address. | |||
| 9.6 Maximum Data Rate (Receive) | 9.7 Maximum Data Rate (Receive) | |||
| The Maximum Data Rate Receive (MDRR) TLV is used in Neighbor Up, | ||||
| Neighbor Update, Peer Discovery, Peer Update, and Link | The Maximum Data Rate Receive (MDRR) TLV is used in Destination Up, | |||
| Destination Update, Peer Discovery, Peer Update, and Link | ||||
| Characteristics ACK Messages to indicate the maximum theoretical data | Characteristics ACK Messages to indicate the maximum theoretical data | |||
| rate, in bits per second, that can be achieved while receiving data | rate, in bits per second, that can be achieved while receiving data | |||
| on the link. When metrics are reported via the messages listed above, | on the link. When metrics are reported via the messages listed above, | |||
| the maximum data rate receive MUST be reported. A value of 0 for the | the maximum data rate receive MUST be reported. | |||
| MDRR indicates that the Maximum Data Rate Receive is currently | ||||
| 'unknown'. | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 8 | MDRR (bps) | | |TLV Type =TBD |Length = 8 | MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) | | | MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRR (bps) | | | MDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 8 | Length - 8 | |||
| Maximum Data Rate Receive - A 64-bit unsigned number, representing | Maximum Data Rate Receive - A 64-bit unsigned number, representing | |||
| the maximum theoretical data rate, in bits per | the maximum theoretical data rate, in bits per | |||
| second (bps), that can be achieved while | second (bps), that can be achieved while | |||
| receiving on the link. An MDRR value of 0 MAY be | receiving on the link. | |||
| used to indicate an 'unknown' data rate. | ||||
| 9.7 Maximum Data Rate (Transmit) | ||||
| The Maximum Data Rate Transmit (MDRT) TLV is used in Neighbor Up, | 9.8 Maximum Data Rate (Transmit) | |||
| Neighbor Update, Peer Discovery, Peer Update, and Link | The Maximum Data Rate Transmit (MDRT) TLV is used in Destination Up, | |||
| Destination Update, Peer Discovery, Peer Update, and Link | ||||
| Characteristics ACK Messages to indicate the maximum theoretical data | Characteristics ACK Messages to indicate the maximum theoretical data | |||
| rate, in bits per second, that can be achieved while transmitting | rate, in bits per second, that can be achieved while transmitting | |||
| data on the link. When metrics are reported via the messages listed | data on the link. When metrics are reported via the messages listed | |||
| above, the maximum data rate transmit MUST be reported. A value of 0 | above, the maximum data rate transmit MUST be reported. | |||
| for the MDRT MAY be used to indicate that the Maximum Data Rate | ||||
| Transmit is currently unknown, or cannot be calculated. | ||||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 8 | MDRT (bps) | | |TLV Type =TBD |Length = 8 | MDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRT (bps) | | | MDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | MDRT (bps) | | | MDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 8 | Length - 8 | |||
| Maximum Data Rate Transmit - A 64-bit unsigned number, representing | Maximum Data Rate Transmit - A 64-bit unsigned number, representing | |||
| the maximum theoretical data rate, in bits per | the maximum theoretical data rate, in bits per | |||
| second (bps), that can be achieved while | second (bps), that can be achieved while | |||
| transmitting on the link. An MDRT value of 0 | transmitting on the link. | |||
| indicates an 'unknown' data rate. | ||||
| 9.8 Current Data Rate (Receive) | 9.9 Current Data Rate (Receive) | |||
| The Current Data Rate Receive (CDRR) TLV is used in Neighbor Up, | The Current Data Rate Receive (CDRR) TLV is used in Destination Up, | |||
| Neighbor Update, Peer Discovery, Peer Update, Link Characteristics | Destination Update, Peer Discovery, Peer Update, Link Characteristics | |||
| Request, and Link Characteristics ACK messages to indicate the rate | Request, and Link Characteristics ACK messages to indicate the rate | |||
| at which the link is currently operating for receiving traffic. In | at which the link is currently operating for receiving traffic. The | |||
| the case of the Link Characteristics Request, CDRR represents the | Current Data Rate Receive is a MANDATORY data item. In the case of | |||
| desired receive data rate for the link. When metrics are reported via | the Link Characteristics Request, CDRR represents the desired receive | |||
| the messages above (e.g. Neighbor Update), the current data rate | data rate for the link. When metrics are reported via the messages | |||
| receive MUST be reported. | above (e.g. Destination Update), the current data rate receive MUST | |||
| be reported. | ||||
| The Current Data Rate Receive TLV contains the following fields: | The Current Data Rate Receive TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDRR (bps) | | |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRR (bps) | | | CDRR (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 20, line 6 ¶ | skipping to change at page 22, line 20 ¶ | |||
| Current Data Rate Receive - A 64-bit unsigned number, representing | Current Data Rate Receive - A 64-bit unsigned number, representing | |||
| the current data rate, in bits per second, that | the current data rate, in bits per second, that | |||
| is currently be achieved while receiving traffic | is currently be achieved while receiving traffic | |||
| on the link. When used in the Link | on the link. When used in the Link | |||
| Characteristics Request, CDRR represents the | Characteristics Request, CDRR represents the | |||
| desired receive rate, in bits per second, on the | desired receive rate, in bits per second, on the | |||
| link. If there is no distinction between current | link. If there is no distinction between current | |||
| and maximum receive data rates, current data | and maximum receive data rates, current data | |||
| rate receive SHOULD be set equal to the maximum | rate receive SHOULD be set equal to the maximum | |||
| data rate receive. A CDRR value of 0 MAY be used | data rate receive. | |||
| to indicate the CDRT is unknown, or cannot be | ||||
| calculated. | ||||
| 9.9 Current Data Rate (Transmit) | 9.10 Current Data Rate (Transmit) | |||
| The Current Data Rate Receive (CDRT) TLV is used in Neighbor Up, | The Current Data Rate Receive (CDRT) TLV is used in Destination Up, | |||
| Neighbor Update, Peer Discovery, Peer Update, Link Characteristics | Destination Update, Peer Discovery, Peer Update, Link Characteristics | |||
| Request, and Link Characteristics ACK messages to indicate the rate | Request, and Link Characteristics ACK messages to indicate the rate | |||
| at which the link is currently operating for transmitting traffic. In | at which the link is currently operating for transmitting traffic. | |||
| the case of the Link Characteristics Request, CDRT represents the | Current Data Rate Transmit is a MANDATORY data item. In the case of | |||
| desired transmit data rate for the link. When metrics are reported | the Link Characteristics Request, CDRT represents the desired | |||
| via the messages above (e.g. Neighbor Update), the current data rate | transmit data rate for the link. When metrics are reported via the | |||
| messages above (e.g. Destination Update), the current data rate | ||||
| transmit MUST be reported. | transmit MUST be reported. | |||
| The Current Data Rate Transmit TLV contains the following fields: | The Current Data Rate Transmit TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDRT (bps) | | |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDRT (bps) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | CDRT (bps) | | | CDRT (bps) | | |||
| skipping to change at page 20, line 46 ¶ | skipping to change at page 23, line 12 ¶ | |||
| Current Data Rate Transmit - A 64-bit unsigned number, representing | Current Data Rate Transmit - A 64-bit unsigned number, representing | |||
| the current data rate, in bits per second, that | the current data rate, in bits per second, that | |||
| is currently be achieved while transmitting | is currently be achieved while transmitting | |||
| traffic on the link. When used in the Link | traffic on the link. When used in the Link | |||
| Characteristics Request, CDRT represents the | Characteristics Request, CDRT represents the | |||
| desired transmit rate, in bits per second, on | desired transmit rate, in bits per second, on | |||
| the link. If there is no distinction between | the link. If there is no distinction between | |||
| current and maximum transmit data rates, current | current and maximum transmit data rates, current | |||
| data rate transmit MUST be set equal to the | data rate transmit MUST be set equal to the | |||
| maximum data rate transmit. A CDRT value of 0 | maximum data rate transmit. | |||
| MAY be used to indicate the CDRT is 'unknown', | ||||
| or cannot be calculated. | ||||
| 9.10 Expected Forwarding Time | 9.11 Expected Forwarding Time | |||
| The Expected Forwarding Time (EFT) TLV is is an OPTIONAL data item. | The Expected Forwarding Time (EFT) TLV is is an OPTIONAL data item. | |||
| If supported, it MAY be used in Neighbor Up, Neighbor Update, Peer | If supported, it MAY be used in Destination Up, Destination Update, | |||
| Discovery, and Peer Update messages to indicate the typical latency | Peer Discovery, and Peer Update messages to indicate the typical | |||
| between the arrival of a given packet at the transmitting device and | latency between the arrival of a given packet at the transmitting | |||
| the reception of the packet at the other end of the link. EFT | device and the reception of the packet at the other end of the link. | |||
| combines transmission time, idle time, waiting time, freezing time, | EFT combines transmission time, idle time, waiting time, freezing | |||
| and queuing time to the degree that those values are meaningful to a | time, and queuing time to the degree that those values are meaningful | |||
| given transmission medium. | to a given transmission medium. | |||
| The Expected Forwarding Time TLV contains the following fields: | The Expected Forwarding Time TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 4 | EFT (ms) | | |TLV Type =TBD |Length = 4 | EFT (ms) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | EFT (ms) | | | EFT (ms) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 4 | Length - 4 | |||
| EFT - A 32-bit unsigned number, representing the expected | EFT - A 32-bit unsigned number, representing the expected | |||
| forwarding time, in milliseconds, on the link. | forwarding time, in milliseconds, on the link. | |||
| 9.11 Latency | 9.12 Latency | |||
| The Latency TLV is an OPTIONAL data item. If supported, it is used in | The Latency TLV is an MANDATORY data item. It is used in Peer | |||
| Neighbor Up, Neighbor Update, Peer Discovery, Peer Update, Link | Initialization, Destination Up, Destination Update, Peer Discovery, | |||
| Characteristics Request, and Link Characteristics ACK messages to | Peer Update, Link Characteristics Request, and Link Characteristics | |||
| indicate the amount of latency on the link, or in the case of the | ACK messages to indicate the amount of latency on the link, or in the | |||
| Link Characteristics Request, to indicate the maximum latency | case of the Link Characteristics Request, to indicate the maximum | |||
| required on the link. | latency required on the link. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 2 | Latency (ms) | | |TLV Type =TBD |Length = 2 | Latency (ms) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 2 | Length - 2 | |||
| skipping to change at page 22, line 4 ¶ | skipping to change at page 24, line 14 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 2 | Latency (ms) | | |TLV Type =TBD |Length = 2 | Latency (ms) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 2 | Length - 2 | |||
| Latency - A 16-bit unsigned value, representing the transmission | Latency - A 16-bit unsigned value, representing the transmission | |||
| delay that a packet encounters as it is transmitted | delay that a packet encounters as it is transmitted | |||
| over the link. In Neighbor Up, Neighbor Update, and | over the link. In Destination Up, Destination Update, | |||
| Link Characteristics ACK, this value is reported as | and Link Characteristics ACK, this value is reported | |||
| delay, in milliseconds. The calculation of latency is | as delay, in milliseconds. The calculation of latency | |||
| implementation dependent. For example, the latency may | is implementation dependent. For example, the latency | |||
| be a running average calculated from the internal | may be a running average calculated from the internal | |||
| queuing. If a device cannot calculate latency, this | queuing. If a device cannot calculate latency, this | |||
| TLV SHOUD NOT be issued. In the Link Characteristics | TLV SHOUD NOT be issued. In the Link Characteristics | |||
| Request Message, this value represents the maximum | Request Message, this value represents the maximum | |||
| delay, in milliseconds, expected on the link. | delay, in milliseconds, expected on the link. | |||
| 9.12 Resources (Receive) | 9.13 Resources (Receive) | |||
| The Receive Resources TLV is an OPTIONAL data item. If supported, it | The Receive Resources TLV is an OPTIONAL data item. If supported, it | |||
| is used in Neighbor Up, Neighbor Update, Peer Discovery, Peer Update, | is used in Destination Up, Destination Update, Peer Discovery, Peer | |||
| and Link Characteristics ACK messages to indicate a percentage (0- | Update, and Link Characteristics ACK messages to indicate a | |||
| 100) amount of resources (e.g. battery power), committed to receiving | percentage (0-100) amount of resources (e.g. battery power), | |||
| data, remaining on the originating peer. | committed to receiving data, remaining on the originating peer. | |||
| The Resources TLV contains the following fields: | The Resources TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 | Rcv Resources| | |TLV Type =TBD |Length = 1 | Rcv Resources| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Receive Resources - A percentage, 0-100, representing the amount | Receive Resources - A percentage, 0-100, representing the amount | |||
| of remaining resources, such as battery power, | of remaining resources, such as battery power, | |||
| allocated to receiving data. A value of '0' MAY be | allocated to receiving data. If a device cannot | |||
| used to indicate the receive resources are unknown or | calculate receive resources, this TLV SHOULD NOT be | |||
| cannot be calculated. | issued. | |||
| 9.13 Resources (Transmit) | 9.14 Resources (Transmit) | |||
| The Transmit Resources TLV is an OPTIONAL data item. If supported, it | The Transmit Resources TLV is an OPTIONAL data item. If supported, it | |||
| is used in Neighbor Up, Neighbor Update, Peer Discovery, Peer Update, | is used in Destination Up, Destination Update, Peer Discovery, Peer | |||
| and Link Characteristics ACK messages to indicate a percentage (0- | Update, and Link Characteristics ACK messages to indicate a | |||
| 100) amount of resources (e.g. battery power), committed to | percentage (0-100) amount of resources (e.g. battery power), | |||
| transmitting data, remaining on the originating peer. | committed to transmitting data, remaining on the originating peer. | |||
| The Resources TLV contains the following fields: | The Resources TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 | Xmt Resources| | |TLV Type =TBD |Length = 1 | Xmt Resources| | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Transmit Resources - A percentage, 0-100, representing the amount | Transmit Resources - A percentage, 0-100, representing the amount | |||
| of remaining resources, such as battery power, | of remaining resources, such as battery power, | |||
| allocated to transmitting data. A value of '0' MAY be | allocated to transmitting data. If the transmit | |||
| used to indicate the transmit resources are unknown or | resources cannot be calculated, then the TLV SHOULD | |||
| cannot be calculated. | NOT be issued. | |||
| 9.14 Relative Link Quality (Receive) | 9.15 Relative Link Quality (Receive) | |||
| The Relative Link Quality Receive (RLQR) TLV is an OPTIONAL data | The Relative Link Quality Receive (RLQR) TLV is a MANDATORY data | |||
| item. If supported, it is used in Neighbor Up, Neighbor Update, Peer | item. If supported, it is used in Peer Initialization, Destination | |||
| Discovery, Peer Update, and Link Characteristics ACK messages to | Up, Destination Update, Peer Discovery, Peer Update, and Link | |||
| indicate the quality of the link for receiving data as calculated by | Characteristics ACK messages to indicate the quality of the link for | |||
| the originating peer. | receiving data as calculated by the originating peer. | |||
| The Relative Link Quality (Receive) TLV contains the following | The Relative Link Quality (Receive) TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 |RCV Rel. Link | | |TLV Type =TBD |Length = 1 |RCV Rel. Link | | |||
| | | |Quality (RLQR) | | | | |Quality (RLQR) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 23, line 42 ¶ | skipping to change at page 26, line 4 ¶ | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 |RCV Rel. Link | | |TLV Type =TBD |Length = 1 |RCV Rel. Link | | |||
| | | |Quality (RLQR) | | | | |Quality (RLQR) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Relative Link Quality (Receive) - A non-dimensional number, 1-100, | Relative Link Quality (Receive) - A non-dimensional number, 1-100, | |||
| representing relative link quality. A value of | representing relative link quality. A value of | |||
| 100 represents a link of the highest quality. | 100 represents a link of the highest quality. | |||
| A value of '0' indicated the RLQR is | If a device cannot calculate the RLQR, this | |||
| 'unknown', or cannot be calculated. | TLV SHOULD NOT be issued. | |||
| 9.15 Relative Link Quality (Transmit) | 9.16 Relative Link Quality (Transmit) | |||
| The Transmit Link Quality Receive (RLQT) TLV is an OPTIONAL data | The Transmit Link Quality Receive (RLQT) TLV is a MANDATORY data | |||
| item. If supported, it is used in Neighbor Up, Neighbor Update, Peer | item. It is used in Peer Initialization, Destination Up, Destination | |||
| Discovery, Peer Update, and Link Characteristics ACK messages to | Update, Peer Discovery, Peer Update, and Link Characteristics ACK | |||
| indicate the quality of the link for transmitting data as calculated | messages to indicate the quality of the link for transmitting data as | |||
| by the originating peer. | calculated by the originating peer. | |||
| The Relative Link Quality (Transmit) TLV contains the following | The Relative Link Quality (Transmit) TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 |XMT Rel. Link | | |TLV Type =TBD |Length = 1 |XMT Rel. Link | | |||
| | | |Quality (RLQR) | | | | |Quality (RLQR) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Relative Link Quality (Transmit) - A non-dimensional number, 1-100, | Relative Link Quality (Transmit) - A non-dimensional number, 1-100, | |||
| representing relative link quality. A value of | representing relative link quality. A value of | |||
| 100 represents a link of the highest quality. | 100 represents a link of the highest quality. | |||
| A value of '0' indicated the RLQT is | If a device cannot calculate the RLQT, this | |||
| 'unknown', or cannot be calculated. | TLV SHOULD NOT be issued. | |||
| 9.16 Status | 9.17 Status | |||
| The Status TLV is sent as part of an acknowledgement message, from | The Status TLV is sent as part of an acknowledgement message, from | |||
| either the modem or the router, to indicate the success or failure of | either the modem or the router, to indicate the success or failure of | |||
| a given request. | a given request. | |||
| The Status TLV contains the following fields: | The Status TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 | Code | | |TLV Type =TBD |Length = 1 | Code | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Termination Code - 0 = Success, Non-zero = Failure. Specific values | Termination Code - 0 = Success, Non-zero = Failure. Specific values | |||
| of a non-zero termination code depend on the | of a non-zero termination code depend on the | |||
| operation requested (e.g. Neighbor Up, | operation requested (e.g. Destination Up, | |||
| Neighbor Down, etc). | Destination Down, etc). | |||
| 9.17 Heartbeat Interval/Threshold | 9.18 Heartbeat Interval | |||
| The Heartbeat Interval/Threshold TLV is an OPTIONAL TLV. If | The Heartbeat Interval TLV is a MANDATORY TLV. It MUST be sent during | |||
| supported, it MAY be sent during Peer Discovery to indicate the | Peer Initialization to indicate the desired Heartbeat timeout window. | |||
| desired Heartbeat timeout window. If the modem includes the Heartbeat | The router MUST either accept the timeout interval supplied by the | |||
| Interval TLV in Peer Discovery, the router MUST either accept the | modem, or reject the Peer Initialization, and close the socket. | |||
| timeout interval supplied by the modem, or reject the Peer Discovery. | Implementations MUST implement heuristics such that DLEP signals | |||
| Peer Discovery messages that do not include the Heartbeat Interval | sent/received reset the timer interval. | |||
| TLV in Peer Discovery indicates a desire to establish the | ||||
| router/modem session without an activity timeout (e.g. an infinite | ||||
| timeout value). If an activity timeout is supported, implementations | ||||
| MAY choose to implement heuristics such that signals sent/received | ||||
| reset the timer window. | ||||
| The Interval is used to specify a period (in seconds) for Heartbeat | The Interval is used to specify a period (in seconds) for Heartbeat | |||
| Messages (See Section 23). The Threshold value is used to indicate | Messages (See Section 23). By specifying an Interval value of 0, | |||
| the desired number of windows, each of time (Heartbeat Interval) | implementations MAY indicates the desire to disable Heartbeat | |||
| seconds, to wait before either participant declares the router/modem | messages entirely (e.g., the Interval is set to an infinite value), | |||
| session lost. In this case, the overall amount of time before a | however, it is strongly recommended that implementations use non 0 | |||
| router/modem is declared lost is expressed as (Interval * Threshold). | timer values. | |||
| Specifying an Interval value of 0 indicates the desire to disable | ||||
| Heartbeat messages entirely (e.g., the Interval is set to an infinite | ||||
| value). Setting the Threshold value to 0 is undefined, and TLVs with | ||||
| a Threshold value of 0 MUST be rejected by the recipient. | ||||
| The Heartbeat Interval/Threshold TLV contains the following fields: | A DLEP session will be considered inactive, and MUST be torn down, by | |||
| an implementation detecting that two (2) Heartbeat intervals have | ||||
| transpired without receipt of any DLEP messages. | ||||
| The Heartbeat Interval TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 1 | Interval | Threshold | | |TLV Type =TBD |Length = 2 | Interval | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 2 | |||
| Interval - 0 = Do NOT use heartbeats on this peer-to-peer | Interval - 0 = Do NOT use heartbeats on this peer-to-peer | |||
| session. Non-zero = Interval, in seconds, for | session. Non-zero = Interval, in seconds, for | |||
| heartbeat messages. | heartbeat messages. | |||
| Threshold - Number of windows, of Heartbeat Interval seconds, | 9.19 Link Characteristics ACK Timer | |||
| to wait before declaring a peer-to-peer session to | ||||
| be lost. | ||||
| 9.18 Link Characteristics ACK Timer | ||||
| The Link Characteristics ACK Timer TLV is an OPTIONAL TLV. If | The Link Characteristics ACK Timer TLV is an OPTIONAL TLV. If | |||
| supported, it MAY be sent during Peer Discovery to indicate the | supported, it MAY be sent during Peer Initialization to indicate the | |||
| desired number of seconds to wait for a response to a Link | desired number of seconds to wait for a response to a Link | |||
| Characteristics Request. If a router receives this TLV from a modem | Characteristics Request. If a router receives this TLV from a modem | |||
| during Peer Discovery, the router MUST either accept the timeout | during Peer Discovery, the router MUST either accept the timeout | |||
| value, or reject the Peer Discovery. If this TLV is omitted, | value, or reject the Peer Discovery. If this TLV is omitted, | |||
| implementations supporting the Link Characteristics Request SHOULD | implementations supporting the Link Characteristics Request SHOULD | |||
| choose a default value. | choose a default value. | |||
| The Link Characteristics ACK Timer TLV contains the following fields: | The Link Characteristics ACK Timer TLV contains the following fields: | |||
| 0 1 2 | 0 1 2 | |||
| skipping to change at page 26, line 34 ¶ | skipping to change at page 28, line 34 ¶ | |||
| TLV Type - TBD | TLV Type - TBD | |||
| Length - 1 | Length - 1 | |||
| Interval - 0 = Do NOT use timeouts for Link Characteristics | Interval - 0 = Do NOT use timeouts for Link Characteristics | |||
| requests on this router/modem session. Non-zero = | requests on this router/modem session. Non-zero = | |||
| Interval, in seconds, to wait before considering a | Interval, in seconds, to wait before considering a | |||
| Link Characteristics Request has been lost. | Link Characteristics Request has been lost. | |||
| 9.19 Credit Window Status | 9.20 Credit Window Status | |||
| The Credit Window Status TLV is an OPTIONAL TLV. If credits are | The Credit Window Status TLV is an OPTIONAL TLV. If credits are | |||
| supported by the DLEP participants (both the router and the modem), | supported by the DLEP participants (both the router and the modem), | |||
| the Credit Window Status TLV MUST be sent by the participant | the Credit Window Status TLV MUST be sent by the participant | |||
| receiving a Credit Grant Request for a given neighbor. | receiving a Credit Grant Request for a given destination. | |||
| The Credit Window Status TLV contains the following fields: | The Credit Window Status TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 16 | Modem Receive Window Value | | |TLV Type =TBD |Length = 16 | Modem Receive Window Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Modem Receive Window Value | | | Modem Receive Window Value | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 27, line 24 ¶ | skipping to change at page 29, line 23 ¶ | |||
| Modem Receive Window Value - A 64-bit unsigned number, indicating | Modem Receive Window Value - A 64-bit unsigned number, indicating | |||
| the current (or initial) number of | the current (or initial) number of | |||
| credits available on the Modem Receive | credits available on the Modem Receive | |||
| Window. | Window. | |||
| Router Receive Window Value - A 64-bit unsigned number, indicating | Router Receive Window Value - A 64-bit unsigned number, indicating | |||
| the current (or initial) number of | the current (or initial) number of | |||
| credits available on the Router Receive | credits available on the Router Receive | |||
| Window. | Window. | |||
| 9.20 Credit Grant Request | 9.21 Credit Grant Request | |||
| The Credit Grant Request TLV is an OPTIONAL TLV. If credits are | The Credit Grant Request TLV is an OPTIONAL TLV. If credits are | |||
| supported, the Credit Grant Request TLV is sent from a DLEP | supported, the Credit Grant Request TLV is sent from a DLEP | |||
| participant to grant an increment to credits on a window. The Credit | participant to grant an increment to credits on a window. The Credit | |||
| Grant TLV is sent as a data item in either the Neighbor Up or | Grant TLV is sent as a data item in either the Destination Up or | |||
| Neighbor Update messages. The value in a Credit Grant TLV represents | Destination Update messages. The value in a Credit Grant TLV | |||
| an increment to be added to any existing credits available on the | represents an increment to be added to any existing credits available | |||
| window. Upon successful receipt and processing of a Credit Grant TLV, | on the window. Upon successful receipt and processing of a Credit | |||
| the receiver MUST respond with a message containing a Credit Window | Grant TLV, the receiver MUST respond with a message containing a | |||
| Status TLV to report the updated aggregate values for synchronization | Credit Window Status TLV to report the updated aggregate values for | |||
| purposes. | synchronization purposes. | |||
| In the Neighbor Up message, when credits are desired, the originating | In the Destination Up message, when credits are desired, the | |||
| peer MUST set the initial credit value of the window it controls | originating peer MUST set the initial credit value of the window it | |||
| (e.g. the Modem Receive Window, or Router Receive Window) to an | controls (e.g. the Modem Receive Window, or Router Receive Window) to | |||
| initial, non-zero value. If the receiver of a Neighbor Up message | an initial, non-zero value. If the receiver of a Destination Up | |||
| with a Credit Grant Request TLV supports credits, the receiver MUST | message with a Credit Grant Request TLV supports credits, the | |||
| either reject the use of credits, via a Neighbor Up ACK response with | receiver MUST either reject the use of credits, via a Destination Up | |||
| the correct Status TLV, or set the initial value from the data | ACK response with the correct Status TLV, or set the initial value | |||
| contained in the Credit Window Status TLV. If the initialization | from the data contained in the Credit Window Status TLV. If the | |||
| completes successfully, the receiver MUST respond to the Neighbor Up | initialization completes successfully, the receiver MUST respond to | |||
| message with a Neighbor Up ACK message that contains a Credit Window | the Destination Up message with a Destination Up ACK message that | |||
| Status TLV, initializing its receive window. | contains a Credit Window Status TLV, initializing its receive window. | |||
| The Credit Grant TLV contains the following fields: | The Credit Grant TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 8 | Credit Increment | | |TLV Type =TBD |Length = 8 | Credit Increment | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Credit Increment | | | Credit Increment | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 28, line 30 ¶ | skipping to change at page 30, line 28 ¶ | |||
| additional credits to be assigned to the credit | additional credits to be assigned to the credit | |||
| window. Since credits can only be granted by the | window. Since credits can only be granted by the | |||
| receiver on a window, the applicable credit window | receiver on a window, the applicable credit window | |||
| (either the MRW or the RRW) is derived from the | (either the MRW or the RRW) is derived from the | |||
| sender of the grant. The Credit Increment MUST NOT | sender of the grant. The Credit Increment MUST NOT | |||
| cause the window to overflow; if this condition | cause the window to overflow; if this condition | |||
| occurs, implementations MUST set the credit window | occurs, implementations MUST set the credit window | |||
| to the maximum value contained in a 64-bit | to the maximum value contained in a 64-bit | |||
| quantity. | quantity. | |||
| 9.21 Credit Request | 9.22 Credit Request | |||
| The Credit Request TLV is an OPTIONAL TLV. If credits are supported, | The Credit Request TLV is an OPTIONAL TLV. If credits are supported, | |||
| the Credit Request TLV MAY be sent from either DLEP participant, via | the Credit Request TLV MAY be sent from either DLEP participant, via | |||
| a Neighbor Update signal, to indicate the desire for the partner to | a Destination Update signal, to indicate the desire for the partner | |||
| grant additional credits in order for data transfer to proceed on the | to grant additional credits in order for data transfer to proceed on | |||
| session. If the corresponding Neighbor Up message for this session | the session. If the corresponding Destination Up message for this | |||
| did NOT contain a Credit Window Status TLV, indicating that credits | session did NOT contain a Credit Window Status TLV, indicating that | |||
| are to be used on the session, then the Credit Request TLV MUST be | credits are to be used on the session, then the Credit Request TLV | |||
| rejected by the receiver via a Neighbor Update ACK message. | MUST be rejected by the receiver via a Destination Update ACK | |||
| message. | ||||
| The Credit Request TLV contains the following fields: | The Credit Request TLV 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| |TLV Type =TBD |Length = 0 | Reserved, MUST| | |TLV Type =TBD |Length = 0 | Reserved, MUST| | |||
| | | | be set to 0 | | | | | be set to 0 | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| skipping to change at page 29, line 47 ¶ | skipping to change at page 31, line 47 ¶ | |||
| 10.1 Signal TLV Values | 10.1 Signal TLV Values | |||
| As mentioned above, all DLEP messages begin with the Type value of | As mentioned above, all DLEP messages begin with the Type value of | |||
| the appropriate DLEP signal. Valid DLEP signals are: | the appropriate DLEP signal. Valid DLEP signals are: | |||
| TLV TLV | TLV TLV | |||
| Value Description | Value Description | |||
| ========================================= | ========================================= | |||
| TBD Peer Discovery | TBD Peer Discovery | |||
| TBD Peer Offer | TBD Peer Offer | |||
| TBD Peer Offer ACK | TBD Peer Initialization | |||
| TBD Peer Update | TBD Peer Update | |||
| TBD Peer Update ACK | TBD Peer Update ACK | |||
| TBD Peer Termination | TBD Peer Termination | |||
| TBD Peer Termination ACK | TBD Peer Termination ACK | |||
| TBD Neighbor Up | TBD Destination Up | |||
| TBD Neighbor Up ACK | TBD Destination Up ACK | |||
| TBD Neighbor Down | TBD Destination Down | |||
| TBD Neighbor Down ACK | TBD Destination Down ACK | |||
| TBD Neighbor Update | TBD Destination Update | |||
| TBD Heartbeat | TBD Heartbeat | |||
| TBD Link Characteristics Request | TBD Link Characteristics Request | |||
| TBD Link Characteristics ACK | TBD Link Characteristics ACK | |||
| 11. Peer Discovery Message | 10.2 Peer Discovery Message | |||
| The Peer Discovery Message is sent by a modem to begin a new DLEP | ||||
| association. The Peer Offer message is required to complete the | ||||
| discovery process. Implementations MAY implement their own retry | ||||
| heuristics in cases where it is determined the Peer Discovery Message | ||||
| has timed out. A Peer Discovery Message received from a modem that is | ||||
| already in session MUST be processed as if a Peer Termination Message | ||||
| had been received. A router implementation MAY then process the | ||||
| received Peer Discovery Message. | ||||
| Note that metric data items MAY be supplied with the Peer Discovery, | The Peer Discovery Message is sent by a modem to discover DLEP | |||
| in order to populate default metric values, or to indicate a static, | routers in the network. The Peer Offer message is required to | |||
| modem-wide environment. If metrics are supplied with the Peer | complete the discovery process. Implementations MAY implement their | |||
| Discovery message, these metrics MUST be used as the initial values | own retry heuristics in cases where it is determined the Peer | |||
| for all neighbors (remote nodes) established via the modem. | Discovery Message has timed out. | |||
| Given the packet format described in section 11, the initial TLV Type | Given the packet format described in section 11, the initial TLV Type | |||
| value is set to DLEP_PEER_DISCOVERY (value TBD). OPTIONAL TLVs are | value is set to DLEP_PEER_DISCOVERY (value TBD). | |||
| then placed into the packet: | ||||
| Optional Data Item TLVs: | There are NO Data Item TLVs associated with the Peer Discovery | |||
| - DLEP Version | message. | |||
| - DLEP Peer Type | ||||
| - Heartbeat Interval | ||||
| - Heartbeat Threshold | ||||
| - Link Characteristics ACK Timer | ||||
| - Maximum Data Rate (Receive) | ||||
| - Maximum Data Rate (Transmit) | ||||
| - Current Data Rate (Receive) | ||||
| - Current Data Rate (Transmit) | ||||
| - Latency | ||||
| - Expected Forwarding Time | ||||
| - Resources (Receive) | ||||
| - Resources (Transmit) | ||||
| - Relative Link Quality (Receive) | ||||
| - Relative Link Quality (Transmit) | ||||
| 12. Peer Offer Message | 10.3 Peer Offer Message | |||
| The Peer Offer Message is sent by a DLEP router in response to a Peer | The Peer Offer Message is sent by a DLEP router in response to a Peer | |||
| Discovery Message. Upon receipt, and processing, of a Peer Offer | Discovery Message. Upon receipt, and processing, of a Peer Offer | |||
| message, the modem MUST respond with a Peer Offer ACK message, | message, the modem responds by issuing a TCP connect to the | |||
| completing the discovery phase of DLEP. Both DLEP participants | address/port combination specified in the received Peer Offer. | |||
| (router and modem) would then enter an "in session" state. Any | ||||
| subsequent Discovery messages sent or received on this session MUST | ||||
| be considered an error, and the session MUST be terminated as if a | ||||
| Peer Termination Message had been received. | ||||
| The Peer Offer message MUST be sent to the unicast address of the | The Peer Offer message MUST be sent to the unicast address of the | |||
| originator of Peer Discovery, regardless of whether the discovery was | originator of Peer Discovery. | |||
| received on the DLEP multicast address (TBD) or on a unicast | ||||
| address. | ||||
| To construct a Peer Offer message, the initial TLV type value is set | To construct a Peer Offer message, the initial TLV type value is set | |||
| to DLEP_PEER_OFFER (value TBD). The signal TLV is then followed by | to DLEP_PEER_OFFER (value TBD). The signal TLV is then followed by | |||
| any OPTIONAL Data Item TLVs the implementation supports: | all MANDATORY Data Item TLVs, then by any OPTIONAL Data Item TLVs the | |||
| implementation supports: | ||||
| Optional Data Item TLVs: | ||||
| Mandatory Data Item TLVs: | ||||
| - DLEP Version | - DLEP Version | |||
| - Heartbeat Interval | ||||
| - At least one (1) IPv4 or IPv6 Address TLV | ||||
| - DLEP Port | ||||
| Optional Data Item TLVs: | ||||
| - Peer Type | - Peer Type | |||
| - IPv4 Address | ||||
| - IPv6 Address | ||||
| - Status | - Status | |||
| - Heartbeat Interval | ||||
| - Heartbeat Threshold | ||||
| - Link Characteristics ACK Timer | ||||
| 13. Peer Offer ACK Message | 10.4 Peer Initialization Message | |||
| The Peer Offer ACK message acknowledges receipt of a Peer Offer | The Peer Initialization message is sent by a modem to start the DLEP | |||
| message, and completes the router/modem session establishment for | TCP session. It is sent by the modem after a TCP connect to the | |||
| DLEP. The Peer Offer ACK message MUST be sent to unicast address of | address/port combination in a received Peer Offer, or to an | |||
| the originator of a Peer Offer message. The Peer Offer ACK message | address/port obtained from a-priori configuration. | |||
| MUST contain an OPTIONAL Status data item, indicating success or | ||||
| failure of the attempt to establish a router/modem session. | ||||
| To construct a Peer Offer ACK message, the initial TLV type value is | All supported metric data items MUST be included in the Peer | |||
| set to DLEP_PEER_OFFER_ACK (value TBD). Mandatory data item TLV's are | Initialization message, with default values to be used on a "modem- | |||
| placed into the packet next: | wide" basis. This can be viewed as the modem "declaring" all | |||
| supported metrics at DLEP session initialization. Receipt of any DLEP | ||||
| message containing a metric data item NOT included in Peer | ||||
| Initialization MUST be treated as an error, resulting in termination | ||||
| of the DLEP session between router and modem. | ||||
| To construct a Peer Initialization message, the initial TLV type | ||||
| value is set to DLEP_PEER_INIT (value TBD). The signal TLV is then | ||||
| followed by the required data items: | ||||
| Mandatory Data Item TLVs: | Mandatory Data Item TLVs: | |||
| - Status | - DLEP Version | |||
| - Heartbeat Interval | ||||
| - Maximum Data Rate Receive | ||||
| - Maximum Data Rate Transmit | ||||
| - Current Data Rate Receive | ||||
| - Current Data Rate Transmit | ||||
| - Latency | ||||
| - Relative Link Quality Receive | ||||
| - Relative Link Quality Transmit | ||||
| Optional Data Item TLVs: | ||||
| - Peer Type | ||||
| Note that metric data items MUST be supplied with the Peer | ||||
| Initialization, in order to populate default metric values. If, at | ||||
| any time, metrics are reported that were NOT in Peer Initialization, | ||||
| the receiving DLEP peer MUST treat this as a fatal error requiring | ||||
| termination of the DLEP session. | ||||
| Note that there are NO OPTIONAL data item TLVs specified for this | 10.5 Peer Initialization ACK Message | |||
| message. | ||||
| 14. Peer Update Message | The Peer Initialization ACK message is a MANDATORY message, sent in | |||
| response to a received Peer Initialization message. The Peer | ||||
| Initialization ACK message completes the TCP-level DLEP session | ||||
| establishment; the sender of the message should transition to an "in- | ||||
| session" state when the message is sent, and the receiver should | ||||
| transition to the "in-session" state upon receipt (and successful | ||||
| parsing) of Peer Initialization ACK. | ||||
| To construct a Peer Initialization ACK message, the initial TLV type | ||||
| value is set to DLEP_PEER_INIT_ACK (value TBD). The signal TLV is | ||||
| then followed by the required data items: | ||||
| Mandatory Data Item TLVs: | ||||
| - Status | ||||
| Optional Data Item TLVs: | ||||
| - Peer Type | ||||
| 10.6 Peer Update Message | ||||
| The Peer Update message is an OPTIONAL message, sent by a DLEP peer | The Peer Update message is an OPTIONAL message, sent by a DLEP peer | |||
| to indicate local Layer 3 address changes, or for metric changes on a | to indicate local Layer 3 address changes, or for metric changes on a | |||
| modem-wide basis. For example, addition of an IPv4 address to the | modem-wide basis. For example, addition of an IPv4 address to the | |||
| router would prompt a Peer Update message to its attached DLEP | router MAY prompt a Peer Update message to its attached DLEP modems. | |||
| modems. Also, a modem that changes its Maximum Data Rate for all | Also, a modem that changes its Maximum Data Rate for all destinations | |||
| destinations MAY reflect that change via a Peer Update Message to its | MAY reflect that change via a Peer Update Message to its attached | |||
| attached router(s). | 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 "Neighbor Update" | (DLEP-enabled modems in a remote node) to issue a "Destination | |||
| message to their local routers with the new (or deleted) addresses. | Update" message to their local routers with the new (or deleted) | |||
| Modems that do not track Layer 3 addresses SHOULD silently parse and | addresses. Modems that do not track Layer 3 addresses SHOULD silently | |||
| ignore the Peer Update Message. Modems that track Layer 3 addresses | parse and ignore the Peer Update Message. Modems that track Layer 3 | |||
| MUST acknowledge the Peer Update with a Peer Update ACK message. | addresses MUST acknowledge the Peer Update with a Peer Update ACK | |||
| Routers receiving a Peer Update with metric changes MUST apply the | message. Routers receiving a Peer Update with metric changes MUST | |||
| new metric to all neighbors (remote nodes) accessible via the modem. | apply the new metric to all destinations (remote nodes) accessible | |||
| Supporting implementations are free to employ heuristics to | via the modem. Supporting implementations are free to employ | |||
| retransmit Peer Update messages. The sending of Peer Update Messages | heuristics to retransmit Peer Update messages. The sending of Peer | |||
| for Layer 3 address changes SHOULD cease when a either participant | Update Messages for Layer 3 address changes SHOULD cease when a | |||
| (router or modem) determines that the other implementation does NOT | either participant (router or modem) determines that the other | |||
| support Layer 3 address tracking. | implementation does NOT support Layer 3 address tracking. | |||
| If metrics are supplied with the Peer Update message (e.g. Maximum | If metrics are supplied with the Peer Update message (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 neighbors 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. | |||
| To construct a Peer Update message, the initial TLV type value is set | To construct a Peer Update message, the initial TLV type value is set | |||
| to DLEP_PEER_UPDATE (value TBD). The Signal TLV is followed by any | to DLEP_PEER_UPDATE (value TBD). The Signal TLV is followed by any | |||
| OPTIONAL Data Item TLVs. | OPTIONAL Data Item TLVs. | |||
| Optional Data Item TLVs: | Optional Data Item TLVs: | |||
| - IPv4 Address | - IPv4 Address | |||
| - IPv6 Address | - IPv6 Address | |||
| - Maximum Data Rate (Receive) | - Maximum Data Rate (Receive) | |||
| - Maximum Data Rate (Transmit) | - Maximum Data Rate (Transmit) | |||
| - Current Data Rate (Receive) | - Current Data Rate (Receive) | |||
| - Current Data Rate (Transmit) | - Current Data Rate (Transmit) | |||
| - Latency | - Latency | |||
| - Expected Forwarding Time | - Expected Forwarding Time | |||
| - Resources (Receive) | - Resources (Receive) | |||
| - Resources (Transmit) | - Resources (Transmit) | |||
| - Relative Link Quality (Receive) | - Relative Link Quality (Receive) | |||
| - Relative Link Quality (Transmit) | - Relative Link Quality (Transmit) | |||
| 15. Peer Update ACK Message | 10.7 Peer Update ACK Message | |||
| The Peer Update ACK message is an OPTIONAL message, and is sent by | The Peer Update ACK message is an OPTIONAL message, and is sent by | |||
| implementations supporting Layer 3 address tracking and/or modem-wide | implementations supporting Layer 3 address tracking and/or modem-wide | |||
| metrics to indicate whether a Peer Update Message was successfully | metrics to indicate whether a Peer Update Message was successfully | |||
| processed. If the Peer Update ACK is issued, it MUST contain a Status | processed. If the Peer Update ACK is issued, it MUST contain a Status | |||
| data item, indicating the success or failure of processing the | data item, indicating the success or failure of processing the | |||
| received Peer Update. | received Peer Update. | |||
| To construct a Peer Update ACK message, the initial TLV type value is | To construct a Peer Update ACK message, the initial TLV type value is | |||
| set to DLEP_PEER_UPDATE_ACK (value TBD). The Status data item TLV is | set to DLEP_PEER_UPDATE_ACK (value TBD). The Status data item TLV is | |||
| placed in the packet next, completing the Peer Update ACK. | placed in the packet next, completing the Peer Update ACK. | |||
| Optional Data Item TLVs: | Mandatory Data Item TLVs: | |||
| - Status | - Status | |||
| Note that there are NO OPTIONAL data item TLVs specified for this | Note that there are NO OPTIONAL data item TLVs specified for this | |||
| message. | message. | |||
| 16. Peer Termination Message | 10.8 Peer Termination Message | |||
| The Peer Termination Message is sent by a DLEP participant when the | The Peer Termination Message is 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 message MUST send a Peer Termination ACK | receiving a Peer Termination message MUST send a Peer Termination ACK | |||
| message to confirm the termination process. The sender of a Peer | message to confirm the termination process. The sender of a Peer | |||
| Termination message is free to define its heuristics in event of a | Termination message is free to define its heuristics in event of a | |||
| timeout. The receiver of a Peer Termination Message MUST release all | timeout. The receiver of a Peer Termination Message MUST release all | |||
| resources allocated for the router/modem session, and MUST eliminate | resources allocated for the router/modem session, and MUST eliminate | |||
| all neighbors in the information base accessible via the router/modem | all destinations in the information base accessible via the | |||
| pair represented by the session. Router and modem state machines are | router/modem pair represented by the session. Router and modem state | |||
| returned to the "discovery" state. No Neighbor Down messages are | machines are returned to the "discovery" state. No Destination Down | |||
| sent. | messages are sent. | |||
| To construct a Peer Termination message, the initial TLV type value | To construct a Peer Termination message, the initial TLV type value | |||
| is set to DLEP_PEER_TERMINATION (value TBD). The Signal TLV is | is set to DLEP_PEER_TERMINATION (value TBD). The Signal TLV is | |||
| followed by any OPTIONAL Data Item TLVs the implementation supports: | followed by any OPTIONAL Data Item TLVs the implementation supports: | |||
| Optional Data Item TLVs: | Optional Data Item TLVs: | |||
| - Status | - Status | |||
| 17. Peer Termination ACK Message | 10.9 Peer Termination ACK Message | |||
| The Peer Termination Message ACK is sent by a DLEP peer in response | The Peer Termination Message ACK is sent by a DLEP peer in response | |||
| to a received Peer Termination order. Receipt of a Peer Termination | to a received Peer Termination order. Receipt of a Peer Termination | |||
| ACK message completes the teardown of the router/modem session. | ACK message completes the teardown of the router/modem session. | |||
| To construct a Peer Termination ACK message, the initial TLV type | To construct a Peer Termination ACK message, the initial TLV type | |||
| value is set to DLEP_PEER_TERMINATION_ACK (value TBD). The | value is set to DLEP_PEER_TERMINATION_ACK (value TBD). The | |||
| Identification data item TLV is placed in the packet next, followed | Identification data item TLV is placed in the packet next, followed | |||
| by any OPTIONAL TLVs the implementation supports: | by any OPTIONAL TLVs the implementation supports: | |||
| Optional Data Item TLVs: | Optional Data Item TLVs: | |||
| - Status | - Status | |||
| 18. Neighbor Up Message | 10.10 Destination Up Message | |||
| A DLEP participant sends the Neighbor Up message to report that a new | A DLEP participant sends the Destination Up message to report that a | |||
| destination has been detected. A Neighbor Up ACK Message is required | new destination has been detected. A Destination Up ACK Message is | |||
| to confirm a received Neighbor Up. A Neighbor Up message can be sent | required to confirm a received Destination Up. A Destination Up | |||
| either by the modem, to indicate that a new remote node has been | message can be sent either by the modem, to indicate that a new | |||
| detected, or by the router, to indicate the presence of a new logical | remote node has been detected, or by the router, to indicate the | |||
| destination (e.g., a Multicast group) exists in the network. | presence of a new logical destination (e.g., a Multicast group) | |||
| exists in the network. | ||||
| The sender of the Neighbor Up Message is free to define its retry | The sender of the Destination Up Message is free to define its retry | |||
| heuristics in event of a timeout. When a Neighbor Up message is | heuristics in event of a timeout. When a Destination Up message is | |||
| received and successfully parsed, the receiver should add knowledge | received and successfully parsed, the receiver should add knowledge | |||
| of the new destination to its information base, indicating that the | of the new destination to its information base, indicating that the | |||
| destination is accessible via the modem/router pair. | destination is accessible via the modem/router pair. | |||
| To construct a Neighbor Up message, the initial TLV type value is set | To construct a Destination Up message, the initial TLV type value is | |||
| to DLEP_NEIGHBOR_UP (value TBD). The MAC Address data item TLV is | set to DLEP_Destination_UP (value TBD). The MAC Address data item TLV | |||
| placed in the packet next, followed by any supported OPTIONAL Data | is placed in the packet next, followed by any supported OPTIONAL Data | |||
| Item TLVs into the packet: | Item TLVs into the packet: | |||
| Optional Data Item TLVs: | Optional Data Item TLVs: | |||
| - IPv4 Address | - IPv4 Address | |||
| - IPv6 Address | - IPv6 Address | |||
| - Maximum Data Rate (Receive) | - Maximum Data Rate (Receive) | |||
| - Maximum Data Rate (Transmit) | - Maximum Data Rate (Transmit) | |||
| - Current Data Rate (Receive) | - Current Data Rate (Receive) | |||
| - Current Data Rate (Transmit) | - Current Data Rate (Transmit) | |||
| - Latency | - Latency | |||
| - Expected Forwarding Time | - Expected Forwarding Time | |||
| - Resources (Receive) | - Resources (Receive) | |||
| - Resources (Transmit) | - Resources (Transmit) | |||
| - Relative Link Factor (Receive) | - Relative Link Factor (Receive) | |||
| - Relative Link Factor (Transmit) | - Relative Link Factor (Transmit) | |||
| - Credit Window Status | - Credit Window Status | |||
| 19. Neighbor Up ACK Message | 10.11 Destination Up ACK Message | |||
| A DLEP participant sends the Neighbor Up ACK Message to indicate | A DLEP participant sends the Destination Up ACK Message to indicate | |||
| whether a Neighbor Up Message was successfully processed. | whether a Destination Up Message was successfully processed. | |||
| To construct a Neighbor Up ACK message, the initial TLV type value is | To construct a Destination Up ACK message, the initial TLV type value | |||
| set to DLEP_NEIGHBOR_UP_ACK (value TBD). The MAC Address data item | is set to DLEP_Destination_UP_ACK (value TBD). The MAC Address data | |||
| TLV is placed in the packet next, containing the MAC address of the | item TLV is placed in the packet next, containing the MAC address of | |||
| DLEP neighbor. The implementation would then place any supported | the DLEP destination. The implementation would then place any | |||
| OPTIONAL Data Item TLVs into the packet: | supported OPTIONAL Data Item TLVs into the packet: | |||
| Optional Data Item TLVs: | Optional Data Item TLVs: | |||
| - Credit Window Status | - Credit Window Status | |||
| 20. Neighbor Down Message | 10.12 Destination Down Message | |||
| A DLEP peer sends the Neighbor Down message to report when a | A DLEP peer sends the Destination Down message to report when a | |||
| destination (a remote node or a multicast group) is no longer | destination (a remote node or a multicast group) is no longer | |||
| reachable. The Neighbor Down message MUST contain the MAC Address | reachable. The Destination Down message MUST contain the MAC Address | |||
| data item TLV. Other TLVs as listed are OPTIONAL, and MAY be present | data item TLV. Other TLVs as listed are OPTIONAL, and MAY be present | |||
| if an implementation supports them. A Neighbor Down ACK Message MUST | if an implementation supports them. A Destination Down ACK Message | |||
| be sent by the recipient of a Neighbor Down message to confirm that | MUST be sent by the recipient of a Destination Down message to | |||
| the relevant data has been removed from the information base. The | confirm that the relevant data has been removed from the information | |||
| sender of the Neighbor Down message is free to define its retry | base. The sender of the Destination Down message is free to define | |||
| heuristics in event of a timeout. | its retry heuristics in event of a timeout. | |||
| To construct a Neighbor Down message, the initial TLV type value is | To construct a Destination Down message, the initial TLV type value | |||
| set to DLEP_NEIGHBOR_DOWN (value TBD). The signal TLV is followed by | is set to DLEP_Destination_DOWN (value TBD). The signal TLV is | |||
| the mandatory MAC Address data item TLV. | followed by the mandatory MAC Address data item TLV. | |||
| Note that there are NO OPTIONAL data item TLVs for this message. | Note that there are NO OPTIONAL data item TLVs for this message. | |||
| 21. Neighbor Down ACK Message | 10.13 Destination Down ACK Message | |||
| A DLEP participant sends the Neighbor Down ACK Message to indicate | A DLEP participant sends the Destination Down ACK Message to indicate | |||
| whether a received Neighbor Down Message was successfully processed. | whether a received Destination Down Message was successfully | |||
| If successfully processed, the sender of the ACK MUST have removed | processed. If successfully processed, the sender of the ACK MUST have | |||
| all entries in the information base that pertain to the referenced | removed all entries in the information base that pertain to the | |||
| neighbor. As with the Neighbor Down message, there are NO OPTIONAL | referenced destination. As with the Destination Down message, there | |||
| Data Item TLVs defined for the Neighbor Down ACK message. | are NO OPTIONAL Data Item TLVs defined for the Destination Down ACK | |||
| message. | ||||
| To construct a Neighbor Down message, the initial TLV type value is | To construct a Destination Down message, the initial TLV type value | |||
| set to DLEP_NEIGHBOR_DOWN_ACK (value TBD). The mandatory data item | is set to DLEP_Destination_DOWN_ACK (value TBD). The mandatory data | |||
| TLVs follow: | item TLVs follow: | |||
| - MAC Address Data item | - MAC Address Data item | |||
| - Status data item | - Status data item | |||
| 22. Neighbor Update Message | 10.14 Destination Update Message | |||
| A DLEP participant sends the Neighbor Update message when it detects | A DLEP participant sends the Destination Update message when it | |||
| some change in the information base for a given neighbor (remote node | detects some change in the information base for a given destination | |||
| or multicast group). Some examples of changes that would prompt a | (remote node or multicast group). Some examples of changes that would | |||
| Neighbor Update message are: | prompt a Destination Update message are: | |||
| - Change in link metrics (e.g., Data Rates) | - Change in link metrics (e.g., Data Rates) | |||
| - Layer 3 addressing change (for implementations that support it) | - Layer 3 addressing change (for implementations that support it) | |||
| To construct a Neighbor Update message, the initial TLV type value is | To construct a Destination Update message, the initial TLV type value | |||
| set to DLEP_NEIGHBOR_UPDATE (value TBD). Following the signal TLV are | is set to DLEP_Destination_UPDATE (value TBD). Following the signal | |||
| the mandatory Data Item TLVs: | TLV are the mandatory Data Item TLVs: | |||
| MAC Address data item TLV | MAC Address data item TLV | |||
| After placing the mandatory data item TLV into the packet, the | After placing the mandatory data item TLV into the packet, the | |||
| implementation would place any supported OPTIONAL data item TLVs. | implementation would place any supported OPTIONAL data item TLVs. | |||
| Possible OPTIONAL data item TLVs are: | Possible OPTIONAL data item TLVs are: | |||
| - IPv4 Address | - IPv4 Address | |||
| - IPv6 Address | - IPv6 Address | |||
| - Maximum Data Rate (Receive) | - Maximum Data Rate (Receive) | |||
| - Maximum Data Rate (Transmit) | - Maximum Data Rate (Transmit) | |||
| - Current Data Rate (Receive) | - Current Data Rate (Receive) | |||
| - Current Data Rate (Transmit) | - Current Data Rate (Transmit) | |||
| - Latency | - Latency | |||
| - Resources (Receive) | - Resources (Receive) | |||
| - Resources (Transmit) | - Resources (Transmit) | |||
| - Relative Link Quality (Receive) | - Relative Link Quality (Receive) | |||
| - Relative Link Quality (Transmit) | - Relative Link Quality (Transmit) | |||
| - Credit Window Status | - Credit Window Status | |||
| - Credit Grant | - Credit Grant | |||
| - Credit Request | - Credit Request | |||
| 23. Heartbeat Message | 10.15 Heartbeat Message | |||
| A Heartbeat Message is sent by a DLEP participant every N seconds, | A Heartbeat Message is sent by a DLEP participant every N seconds, | |||
| where N is defined in the "Heartbeat Interval" field of the discovery | where N is defined in the "Heartbeat Interval" field of the discovery | |||
| message. Note that implementations omitting the Heartbeat Interval | message. Note that implementations setting the Heartbeat Interval to | |||
| effectively set the interval to an infinite value, therefore, in | 0 effectively set the interval to an infinite value, therefore, in | |||
| those cases, this message would NOT be sent. | those cases, this message would NOT be sent. | |||
| The message is used by participants to detect when a DLEP session | The message is used by participants to detect when a DLEP session | |||
| partner (either the modem or the router) is no longer communicating. | partner (either the modem or the router) is no longer communicating. | |||
| Participants SHOULD allow some integral number of heartbeat intervals | Participants SHOULD allow two (2) heartbeat intervals to expire with | |||
| (default 4) to expire with no traffic on the router/modem session | no traffic on the router/modem session before initiating DLEP session | |||
| before initiating DLEP session termination procedures. | termination procedures. | |||
| To construct a Heartbeat message, the initial TLV type value is set | To construct a Heartbeat message, the initial TLV type value is set | |||
| to DLEP_PEER_HEARTBEAT (value TBD). The signal TLV is followed by the | to DLEP_PEER_HEARTBEAT (value TBD). The signal TLV is followed by the | |||
| mandatory Heartbeat Interval/Threshold data item. | mandatory Heartbeat Interval/Threshold data item. | |||
| Note that there are NO OPTIONAL data item TLVs for this message. | Note that there are NO OPTIONAL data item TLVs for this message. | |||
| 24. Link Characteristics Request Message | 10.16 Link Characteristics Request Message | |||
| The Link Characteristics Request Message is an OPTIONAL message, and | The Link Characteristics Request Message is an OPTIONAL message, and | |||
| is sent by the router to request that the modem initiate changes for | is sent by the router to request that the modem initiate changes for | |||
| specific characteristics of the link. Since the request specifies a | specific characteristics of the link. The request can reference | |||
| neighbor, it can reference either a real destination (e.g., a remote | either a real (e.g., a remote node), or a logical (e.g., a multicast | |||
| node), or a logical destination (e.g., a multicast destination) | group) destination within the network. | |||
| within the network. | ||||
| The Link Characteristics Request message contains either a Current | The Link Characteristics Request message contains either a Current | |||
| Data Rate (CDRR or CDRT) TLV to request a different amount of | Data Rate (CDRR or CDRT) TLV to request a different datarate than | |||
| bandwidth than what is currently allocated, a Latency TLV to request | what is currently allocated, a Latency TLV to request that traffic | |||
| that traffic delay on the link not exceed the specified value, or | delay on the link not exceed the specified value, or both. A Link | |||
| both. A Link Characteristics ACK Message is required to complete the | Characteristics ACK Message is required to complete the request. | |||
| request. Implementations are free to define their retry heuristics in | Implementations are free to define their retry heuristics in event of | |||
| event of a timeout. Issuing a Link Characteristics Request with ONLY | a timeout. Issuing a Link Characteristics Request with ONLY the MAC | |||
| the MAC Address TLV is a mechanism a peer MAY use to request metrics | Address TLV is a mechanism a peer MAY use to request metrics (via the | |||
| (via the Link Characteristics ACK) from its partner. | Link Characteristics ACK) from its partner. | |||
| To construct a Link Characteristics Request message, the initial TLV | To construct a Link Characteristics Request message, the initial TLV | |||
| type value is set to DLEP_NEIGHBOR_LINK_CHAR_REQ (value TBD). | type value is set to DLEP_Destination_LINK_CHAR_REQ (value TBD). | |||
| Following the signal TLV is the mandatory Data Item TLV: | Following the signal TLV is the mandatory Data Item TLV: | |||
| MAC Address data item TLV | MAC Address data item TLV | |||
| After placing the mandatory data item TLV into the packet, the | After placing the mandatory data item TLV into the packet, the | |||
| implementation would place any supported OPTIONAL data item TLVs. | implementation would place any supported OPTIONAL data item TLVs. | |||
| Possible OPTIONAL data item TLVs are: | Possible OPTIONAL data item TLVs are: | |||
| Current Data Rate - If present, this value represents the NEW (or | Current Data Rate - If present, this value represents the NEW (or | |||
| unchanged, if the request is denied) Current | unchanged, if the request is denied) Current | |||
| Data Rate in bits per second (bps). | Data Rate in bits per second (bps). | |||
| Latency - If present, this value represents the maximum | Latency - If present, this value represents the maximum | |||
| desired latency (e.g., it is a not-to-exceed | desired latency (e.g., it is a not-to-exceed | |||
| value) in milliseconds on the link. | value) in milliseconds on the link. | |||
| 25. Link Characteristics ACK Message | 10.17 Link Characteristics ACK Message | |||
| The LInk Characteristics ACK message is an OPTIONAL message, and is | The LInk Characteristics ACK message is an OPTIONAL message, and is | |||
| sent by modems supporting it to the router letting the router know | sent by modems supporting it to the router letting the router know | |||
| the success or failure of a requested change in link characteristics. | the success or failure of a requested change in link characteristics. | |||
| The Link Characteristics ACK message SHOULD contain a complete set | The Link Characteristics ACK message SHOULD contain a complete set | |||
| of metric data item TLVs. It MUST contain the same TLV types as the | of metric data item TLVs. It MUST contain the same TLV types as the | |||
| request. The values in the metric data item TLVs in the Link | request. The values in the metric data item TLVs in the Link | |||
| Characteristics ACK message MUST reflect the link characteristics | Characteristics ACK message MUST reflect the link characteristics | |||
| after the request has been processed. | after the request has been processed. | |||
| To construct a Link Characteristics Request ACK message, the initial | To construct a Link Characteristics Request ACK message, the initial | |||
| TLV type value is set to DLEP_NEIGHBOR_LINK_CHAR_ACK (value TBD). | TLV type value is set to DLEP_Destination_LINK_CHAR_ACK (value TBD). | |||
| Following the signal TLV is the mandatory Data Item TLV: | Following the signal TLV is the mandatory Data Item TLV: | |||
| MAC Address data item TLV | MAC Address data item TLV | |||
| After placing the mandatory data item TLV into the packet, the | After placing the mandatory data item TLV into the packet, the | |||
| implementation would place any supported OPTIONAL data item TLVs. | implementation would place any supported OPTIONAL data item TLVs. | |||
| Possible OPTIONAL data item TLVs are: | Possible OPTIONAL data item TLVs are: | |||
| Current Data Rate - If present, this value represents the requested | Current Data Rate - If present, this value represents the requested | |||
| data rate in bits per second (bps). | data rate in bits per second (bps). | |||
| Latency - If present, this value represents the NEW | Latency - If present, this value represents the NEW | |||
| maximum latency (or unchanged, if the request | maximum latency (or unchanged, if the request | |||
| is denied), expressed in milliseconds, on the | is denied), expressed in milliseconds, on the | |||
| link. | link. | |||
| 26. Security Considerations | 11. 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 security | authentication or encryption). The protocol assumes that any security | |||
| would be implemented in the underlying transport (for example, by use | would be implemented in the underlying transport (for example, by use | |||
| of DTLS or some other mechanism), and is therefore outside the scope | of DTLS or some other mechanism), and is therefore outside the scope | |||
| of this document. | of this document. | |||
| 27. IANA Considerations | 12. IANA Considerations | |||
| This section specifies requests to IANA. | This section specifies requests to IANA. | |||
| 27.1 Registrations | 12.1 Registrations | |||
| This specification defines: | This specification defines: | |||
| o A new repository for DLEP signals, with fifteen values currently | o A new repository for DLEP signals, with fifteen 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-one values | o A new repository for DLEP Data Items, with twenty-one 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 request for allocation of a well-known port for DLEP | o A request for allocation of a well-known port for DLEP | |||
| communication. | communication. | |||
| o A request for allocation of a multicast address for DLEP | o A request for allocation of a multicast address for DLEP | |||
| discovery. | discovery. | |||
| 27.2 Expert Review: Evaluation Guidelines | 12.2 Expert Review: Evaluation Guidelines | |||
| No additional guidelines for expert review are anticipated. | No additional guidelines for expert review are anticipated. | |||
| 27.3 Signal (Message) TLV Type Registration | 12.3 Message (Signal) TLV 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 | |||
| Valid signals are: | messages. Valid signals are: | |||
| o Peer Discovery | o Peer Discovery | |||
| o Peer Offer | o Peer Offer | |||
| o Peer Offer ACK | o Peer Initialization | |||
| o Peer Initialization ACK | ||||
| o Peer Update | o Peer Update | |||
| o Peer Update ACK | o Peer Update ACK | |||
| o Peer Termination | o Peer Termination | |||
| o Peer Termination ACK | o Peer Termination ACK | |||
| o Neighbor Up | o Destination Up | |||
| o Neighbor Up ACK | o Destination Up ACK | |||
| o Neighbor Down | o Destination Down | |||
| o Neighbor Down ACK | o Destination Down ACK | |||
| o Neighbor 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. | |||
| 27.4 DLEP Data Item Registrations | 12.4 DLEP Data Item Registrations | |||
| A new repository for DLEP Data Items must be created. Valid Data | A new repository for DLEP Data Items must be created. Valid Data | |||
| Items are: | Items are: | |||
| o DLEP Version | o DLEP Version | |||
| o Peer Type | o Peer Type | |||
| o MAC Address | o MAC Address | |||
| o IPv4 Address | o IPv4 Address | |||
| o IPv6 Address | o IPv6 Address | |||
| o Maximum Data Rate (Receive) | o Maximum Data Rate (Receive) | |||
| skipping to change at page 40, line 30 ¶ | skipping to change at page 42, line 38 ¶ | |||
| o Status | o Status | |||
| o Heartbeat Interval/Threshold | o Heartbeat Interval/Threshold | |||
| 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. | |||
| 27.5 DLEP Well-known Port | 12.5 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. | |||
| 27.6 DLEP Multicast Address | 12.6 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 messages. | discovery messages. | |||
| 30. Appendix A. | 13. Appendix A. | |||
| 30.1 Peer Level Message Flows | ||||
| 30.1.1 Modem Device Restarts Discovery | 13.1 Peer Level Message Flows | |||
| 13.1.1 Modem Device Restarts Discovery | ||||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Discovery--------- Modem initiates discovery | <-------Peer Discovery--------- Modem initiates discovery | |||
| ---------Peer Offer-----------> Router detects a problem, sends | ---------Peer Offer-----------> Router detects a problem, sends | |||
| w/ Non-zero Status TLV Peer Offer w/Status TLV indicating | w/ Non-zero Status TLV Peer Offer w/Status TLV indicating | |||
| the error. | the error. | |||
| Modem accepts failure, restarts | Modem accepts failure, restarts | |||
| discovery process. | discovery process. | |||
| <-------Peer Discovery--------- Modem initiates discovery | <-------Peer Discovery--------- Modem initiates discovery | |||
| ---------Peer Offer-----------> Router accepts, sends Peer Offer | ---------Peer Offer-----------> Router accepts, sends Peer Offer | |||
| w/ Zero Status TLV w/ Status TLV indicating success. | w/ Zero Status TLV w/ Status TLV indicating success. | |||
| Discovery completed. | Discovery completed. | |||
| 30.1.2 Modem Device Detects Peer Offer Timeout | 13.1.2 Modem Device Detects Peer Offer Timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Discovery--------- Modem initiates discovery, starts | <-------Peer Discovery--------- Modem initiates discovery, starts | |||
| a guard timer. | a guard timer. | |||
| Modem guard timer expires. Modem | Modem guard timer expires. Modem | |||
| restarts discovery process. | restarts discovery process. | |||
| <-------Peer Discovery--------- Modem initiates discovery, starts | <-------Peer Discovery--------- Modem initiates discovery, starts | |||
| a guard timer. | a guard timer. | |||
| ---------Peer Offer-----------> Router accepts, sends Peer Offer | ---------Peer Offer-----------> Router accepts, sends Peer Offer | |||
| w/ Zero Status TLV w/ Status TLV indicating success. | w/ Zero Status TLV w/ Status TLV indicating success. | |||
| Discovery completed. | Discovery completed. | |||
| 30.1.3 Router Peer Offer Lost | 13.1.3 Router Peer Offer Lost | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Discovery--------- Modem initiates discovery, starts | <-------Peer Discovery--------- Modem initiates discovery, starts | |||
| a guard timer. | a guard timer. | |||
| ---------Peer Offer-------|| Router offers availability | ---------Peer Offer-------|| Router offers availability | |||
| Modem times out on Peer Offer, | Modem times out on Peer Offer, | |||
| skipping to change at page 42, line 28 ¶ | skipping to change at page 44, line 28 ¶ | |||
| <-------Peer Discovery--------- Modem initiates discovery | <-------Peer Discovery--------- Modem initiates discovery | |||
| ---------Peer Offer-----------> Router detects subsequent | ---------Peer Offer-----------> Router detects subsequent | |||
| discovery, internally terminates | discovery, internally terminates | |||
| the previous, accepts the new | the previous, accepts the new | |||
| association, sends Peer Offer | association, sends Peer Offer | |||
| w/Status TLV indicating success. | w/Status TLV indicating success. | |||
| Discovery completed. | Discovery completed. | |||
| 30.1.4 Discovery Success | 13.1.4 Discovery Success | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Discovery--------- Modem initiates discovery | <-------Peer Discovery--------- Modem initiates discovery | |||
| ---------Peer Offer-----------> Router offers availability | ---------Peer Offer-----------> Router offers availability | |||
| -------Peer Heartbeat---------> | <-----Peer Initialization------ Modem Connects on TCP Port | |||
| <-------Peer Heartbeat--------- | <------Peer Heartbeat---------- | |||
| -------Peer Heartbeat---------> | -------Peer Heartbeat---------> | |||
| <==============================> Neighbor Sessions | <==============================> Message flow about destinations | |||
| (i.e. Destination Up, Destination | ||||
| Down, Destination update) | ||||
| <-------Peer Heartbeat--------- | <-------Peer Heartbeat--------- | |||
| -------Peer Heartbeat---------> | -------Peer Heartbeat---------> | |||
| --------Peer Term Req---------> Terminate Request | --------Peer Term Req---------> Terminate Request | |||
| <--------Peer Term Res--------- Terminate Response | <--------Peer Term Res--------- Terminate Response | |||
| 30.1.5 Router Detects a Heartbeat timeout | 29.1.5 Router Detects a Heartbeat timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Heartbeat--------- | <-------Peer Heartbeat--------- | |||
| -------Peer Heartbeat---------> | -------Peer Heartbeat---------> | |||
| ||---Peer Heartbeat--------- | ||---Peer Heartbeat--------- | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| -------Peer Heartbeat---------> | -------Peer Heartbeat---------> | |||
| ||---Peer Heartbeat--------- | ||---Peer Heartbeat--------- | |||
| Router Heartbeat Timer expires, | Router Heartbeat Timer expires, | |||
| detects missing heartbeats. Router | detects missing heartbeats. Router | |||
| takes down all neighbor sessions | takes down all destination sessions | |||
| and terminates the Peer | and terminates the Peer | |||
| association. | association. | |||
| ------Peer Terminate ---------> Peer Terminate Request | ------Peer Terminate ---------> Peer Terminate Request | |||
| Modem takes down all neighbor | Modem takes down all destination | |||
| sessions, then acknowledges the | sessions, then acknowledges the | |||
| Peer Terminate | Peer Terminate | |||
| <----Peer Terminate ACK--------- Peer Terminate ACK | <----Peer Terminate ACK--------- Peer Terminate ACK | |||
| 30.1.6 Modem Detects a Heartbeat timeout | 29.1.6 Modem Detects a Heartbeat timeout | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <-------Peer Heartbeat--------- | <-------Peer Heartbeat--------- | |||
| -------Peer Heartbeat------|| | -------Peer Heartbeat------|| | |||
| <-------Peer Heartbeat--------- | <-------Peer Heartbeat--------- | |||
| ~ ~ ~ ~ ~ ~ ~ | ~ ~ ~ ~ ~ ~ ~ | |||
| -------Peer Heartbeat------|| | -------Peer Heartbeat------|| | |||
| <-------Peer Heartbeat--------- | <-------Peer Heartbeat--------- | |||
| Modem Heartbeat Timer expires, | Modem Heartbeat Timer expires, | |||
| detects missing heartbeats. Modem | detects missing heartbeats. Modem | |||
| takes down all neighbor sessions | takes down all destination sessions | |||
| <-------Peer Terminate-------- Peer Terminate Request | <-------Peer Terminate-------- Peer Terminate Request | |||
| Router takes down all neighbor | Router takes down all destination | |||
| sessions, then acknowledges the | sessions, then acknowledges the | |||
| Peer Terminate | Peer Terminate | |||
| ------Peer Terminate ACK-----> Peer Terminate ACK | ------Peer Terminate ACK-----> Peer Terminate ACK | |||
| 30.1.7 Peer Terminate (from Modem) Lost | 29.1.7 Peer Terminate (from Modem) Lost | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| ||------Peer Terminate-------- Modem Peer Terminate Request | ||------Peer Terminate-------- Modem Peer Terminate Request | |||
| Router Heartbeat times out, | Router Heartbeat times out, | |||
| terminates association. | terminates association. | |||
| --------Peer Terminate-------> Router Peer Terminate | --------Peer Terminate-------> Router Peer Terminate | |||
| <-----Peer Terminate ACK------ Modem sends Peer Terminate ACK | <-----Peer Terminate ACK------ Modem sends Peer Terminate ACK | |||
| 30.1.8 Peer Terminate (from Router) Lost | 29.1.8 Peer Terminate (from Router) Lost | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| -------Peer Terminate--------> Router Peer Terminate Request | -------Peer Terminate--------> Router Peer Terminate Request | |||
| Modem HB times out, | Modem HB times out, | |||
| terminates association. | terminates association. | |||
| <------Peer Terminate-------- Modem Peer Terminate | <------Peer Terminate-------- Modem Peer Terminate | |||
| ------Peer Terminate ACK-----> Peer Terminate ACK | ------Peer Terminate ACK-----> Peer Terminate ACK | |||
| 30.2 Neighbor Specific Message Flows | 29.2 Destination Specific Message Flows | |||
| 30.2.1 Modem Neighbor Up Lost | 29.2.1 Modem Destination Up Lost | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| ||-----Neighbor Up ------------ Modem sends Neighbor Up | ||-----Destination Up ------------ Modem sends Destination Up | |||
| Modem timesout on ACK | Modem timesout on ACK | |||
| <------Neighbor Up ------------ Modem sends Neighbor Up | <------Destination Up ------------ Modem sends Destination Up | |||
| ------Neighbor Up ACK---------> Router accepts the neighbor | ------Destination Up ACK---------> Router accepts the destination | |||
| session | session | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| . . . . . . . . | . . . . . . . . | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| 30.2.2 Router Detects Duplicate Neighbor Ups | 29.2.2 Router Detects Duplicate Destination Ups | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <------Neighbor Up ------------ Modem sends Neighbor Up | <------Destination Up ------------ Modem sends Destination Up | |||
| ------Neighbor Up ACK-------|| Router accepts the neighbor | ------Destination Up ACK-------|| Router accepts the destination | |||
| session | session | |||
| Modem timesout on ACK | Modem timesout on ACK | |||
| <------Neighbor Up ------------ Modem resends Neighbor Up | <------Destination Up ------------ Modem resends Destination Up | |||
| Router detects duplicate Neighbor, | Router detects duplicate | |||
| takes down the previous, accepts | Destination, takes down the | |||
| the new Neighbor. | previous, accepts the new | |||
| Destination. | ||||
| ------Neighbor Up ACK---------> Router accepts the neighbor | ------Destination Up ACK---------> Router accepts the destination | |||
| session | session | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| . . . . . . . . | . . . . . . . . | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| 30.2.3 Neighbor Up, No Layer 3 Addresses | 29.2.3 Destination Up, No Layer 3 Addresses | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <------Neighbor Up ------------ Modem sends Neighbor Up | <------Destination Up ------------ Modem sends Destination Up | |||
| ------Neighbor Up ACK---------> Router accepts the neighbor | ------Destination Up ACK---------> Router accepts the destination | |||
| session | session | |||
| Router ARPs for IPv4 if defined. | Router ARPs for IPv4 if defined. | |||
| Router drives ND for IPv6 if | Router drives ND for IPv6 if | |||
| defined. | defined. | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| . . . . . . . . | . . . . . . . . | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| 30.2.4 Neighbor Up with IPv4, No IPv6 | 29.2.4 Destination Up with IPv4, No IPv6 | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <------Neighbor Up ------------ Modem sends Neighbor Up with | <------Destination Up ------------ Modem sends Destination Up with | |||
| the IPv4 TLV | the IPv4 TLV | |||
| ------Neighbor Up ACK---------> Router accepts the neighbor | ------Destination Up ACK---------> Router accepts the destination | |||
| session | session | |||
| Router drives ND for IPv6 if | Router drives ND for IPv6 if | |||
| defined. | defined. | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| . . . . . . . . | . . . . . . . . | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| 30.2.5 Neighbor Up with IPv4 and IPv6 | 29.2.5 Destination Up with IPv4 and IPv6 | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| <------Neighbor Up ------------ Modem sends Neighbor Up with | <------Destination Up ------------ Modem sends Destination Up with | |||
| the IPv4 and IPv6 TLVs | the IPv4 and IPv6 TLVs | |||
| ------Neighbor Up ACK---------> Router accepts the neighbor | ------Destination Up ACK---------> Router accepts the destination | |||
| session | session | |||
| <------Neighbor Update--------- Modem Neighbor Metrics | <------Destination Update--------- Modem Destination Metrics | |||
| . . . . . . . . | . . . . . . . . | |||
| 30.2.6 Neighbor Session Success | 29.2.6 Destination Session Success | |||
| Router Modem Message Description | Router Modem Message Description | |||
| ==================================================================== | ==================================================================== | |||
| ---------Peer Offer-----------> Router offers availability | ---------Peer Offer-----------> Router offers availability | |||
| -------Peer Heartbeat---------> | -------Peer Heartbeat---------> | |||
| <------Neighbor Up ----------- Modem | <------Destination Up ----------- Modem | |||
| ------Neighbor Up ACK--------> Router | ------Destination Up ACK--------> Router | |||
| <------Neighbor Update--------- Modem | <------Destination Update--------- Modem | |||
| . . . . . . . . | . . . . . . . . | |||
| <------Neighbor Update--------- Modem | <------Destination Update--------- Modem | |||
| Modem initiates the terminate | Modem initiates the terminate | |||
| <------Neighbor Down ---------- Modem | <------Destination Down ---------- Modem | |||
| ------Neighbor Down ACK-------> Router | ------Destination Down ACK-------> Router | |||
| or | or | |||
| Router initiates the terminate | Router initiates the terminate | |||
| ------Neighbor Down ----------> Router | ------Destination Down ----------> Router | |||
| <------Neighbor Down ACK------- Modem | <------Destination Down ACK------- Modem | |||
| Acknowledgements | Acknowledgements | |||
| The authors would like to acknowledge the influence and contributions | The authors would like to acknowledge and thank the members of the | |||
| of Chris Olsen, Teco Boot, Subir Das, Jaewon Kang, Vikram Kaul, Rick | DLEP design team, who have provided invaluable insight. The members | |||
| Taylor, John Dowdell, Nelson Powell, Bow-Nan Cheng, and Henning | of the design team are: Teco Boot, Bow-Nan Cheng, John Dowdell, | |||
| Rogge. | Henning Rogge, and Rick Taylor. | |||
| The authors would also like to acknowledge the influence and | ||||
| contributions of Chris Olsen, Martin Duke, Subir Das, Jaewon Kang, | ||||
| Vikram Kaul, and Nelson Powell. | ||||
| Normative References | Normative References | |||
| [RFC5578] Berry, B., Ed., "PPPoE with Credit Flow and Metrics", | [RFC5578] Berry, B., Ed., "PPPoE with Credit Flow and Metrics", | |||
| RFC 5578, February 2010. | RFC 5578, February 2010. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Informative References | Informative References | |||
| [DTLS] Rescorla, E., Ed,. "Datagram Transport Layer Security", | [TLS] Dierks, T. and Rescorla, E. "The Transport Layer Security | |||
| RFC 4347, April 2006. | (TLS) Protocol", RFC 5246, August 2008. | |||
| Author's Addresses | Author's Addresses | |||
| Stan Ratliff | Stan Ratliff | |||
| Cisco | Cisco | |||
| 170 West Tasman Drive | 170 West Tasman Drive | |||
| San Jose, CA 95134 | San Jose, CA 95134 | |||
| USA | USA | |||
| EMail: sratliff@cisco.com | EMail: sratliff@cisco.com | |||
| skipping to change at page 48, line 37 ¶ | skipping to change at page 50, line 41 ¶ | |||
| EMail: boberry@cisco.com | EMail: boberry@cisco.com | |||
| Greg Harrison | Greg Harrison | |||
| Cisco | Cisco | |||
| 170 West Tasman Drive | 170 West Tasman Drive | |||
| San Jose, CA 95134 | San Jose, CA 95134 | |||
| USA | USA | |||
| EMail: greharri@cisco.com | EMail: greharri@cisco.com | |||
| Shawn Jury | Shawn Jury | |||
| NetApp | Cisco | |||
| 7301 Kit Creek Road, Building 2 | 170 West Tasman Drive | |||
| Research Triangle Park, NC 27709 | San Jose, CA 95134 | |||
| USA | USA | |||
| Email: shawn.jury@netapp.com | Email: sjury@cisco.com | |||
| Darryl Satterwhite | Darryl Satterwhite | |||
| Broadcom | Broadcom | |||
| USA | USA | |||
| Email: dsatterw@broadcom.com | Email: dsatterw@broadcom.com | |||
| End of changes. 264 change blocks. | ||||
| 719 lines changed or deleted | 824 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/ | ||||