idnits 2.17.1 draft-ietf-manet-dlep-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Sep 2009 rather than the newer Notice from 28 Dec 2009. (See https://trustee.ietf.org/license-info/) Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == The page length should not exceed 58 lines per page, but there was 43 longer pages, the longest (page 2) being 59 lines == It seems as if not all pages are separated by form feeds - found 0 form feeds but 45 pages Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 9 instances of too long lines in the document, the longest one being 2 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 22, 2010) is 4894 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC5578' is defined on line 2144, but no explicit reference was found in the text ** Downref: Normative reference to an Informational RFC: RFC 5578 -- Obsolete informational reference (is this intentional?): RFC 4347 (ref. 'DTLS') (Obsoleted by RFC 6347) Summary: 3 errors (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Mobile Ad hoc Networks Working S. Ratliff 2 Group B. Berry 3 Internet-Draft G. Harrison 4 Intended status: Standards Track S. Jury 5 Expires: May 22, 2011 D. Satterwhite 6 Cisco Systems 7 November 22, 2010 9 Dynamic Link Exchange Protocol (DLEP) 10 draft-ietf-manet-dlep-00 12 Abstract 14 When routing devices rely on modems to effect communications over 15 wireless links, they need timely and accurate knowledge of the 16 characteristics of the link (speed, state, etc.) in order to make 17 forwarding decisions. In mobile or other environments where these 18 characteristics change frequently, manual configurations or the 19 inference of state through routing or transport protocols does not 20 allow the router to make the best decisions. A bidirectional, event- 21 driven communication channel between the router and the modem is 22 necessary. 24 Status of this Memo 26 This Internet-Draft is submitted to IETF in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF), its areas, and its working groups. Note that 31 other groups may also distribute working documents as Internet- 32 Drafts. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 The list of current Internet-Drafts can be accessed at 40 http://www.ietf.org/ietf/1id-abstracts.txt. 42 The list of Internet-Draft Shadow Directories can be accessed at 43 http://www.ietf.org/shadow.html. 45 This Internet-Draft will expire on May 22, 2011 . 47 Copyright Notice 49 Copyright (c) 2010 IETF Trust and the persons identified as the 50 document authors. All rights reserved. 52 This document is subject to BCP 78 and the IETF Trust's Legal 53 Provisions Relating to IETF Documents 54 (http://trustee.ietf.org/license-info) in effect on the date of 55 publication of this document. Please review these documents 56 carefully, as they describe your rights and restrictions with respect 57 to this document. Code Components extracted from this document must 58 include Simplified BSD License text as described in Section 4.e of 59 the Trust Legal Provisions and are provided without warranty as 60 described in the BSD License. 62 Table of Contents 64 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 65 1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 5 66 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 5 67 3. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . 5 68 4. Generic DLEP Packet Definition . . . . . . . . . . . . . . . . 6 69 5. Generic DLEP Message Format . . . . . . . . . . . . . . . . . 6 70 6. Generic DLEP TLV Block Format . . . . . . . . . . . . . . . . 7 71 7. DLEP TLVs . . . . . . . . . . . . . . . . . . . . . . . . . . 8 72 7.1. Identification TLV . . . . . . . . . . . . . . . . . . . . 8 73 7.2. DLEP Version TLV . . . . . . . . . . . . . . . . . . . . . 9 74 7.3. Peer Type TLV . . . . . . . . . . . . . . . . . . . . . . 10 75 7.4. MAC Address TLV . . . . . . . . . . . . . . . . . . . . . 10 76 7.5. IPv4 Address TLV . . . . . . . . . . . . . . . . . . . . . 11 77 7.6. IPv6 Address TLV . . . . . . . . . . . . . . . . . . . . . 12 78 7.7. Maximum Data Rate TLV. . . . . . . . . . . . . . . . . . . 13 79 7.8. Current Data Rate TLV. . . . . . . . . . . . . . . . . . . 13 80 7.9. Latency TLV. . . . . . . . . . . . . . . . . . . . . . . . 14 81 7.10. Resources TLV. . . . . . . . . . . . . . . . . . . . . . . 15 82 7.11. Relative Link Quality TLV. . . . . . . . . . . . . . . . . 15 83 7.12. Peer Termination TLV . . . . . . . . . . . . . . . . . . . 16 84 8. DLEP Messages. . . . . . . . . . . . . . . . . . . . . . . . . 16 85 8.1. Message TLVs . . . . . . . . . . . . . . . . . . . . . . . 17 86 9. Peer Discovery Messages . . . . . . . . . . . . . . . . . . . 17 87 9.1. Attached Peer Discovery Message . . . . . . . . . . . . . 17 88 9.2. Detached Peer Discovery Message . . . . . . . . . . . . . 19 89 10. Peer Offer Message . . . . . . . . . . . . . . . . . . . . . . 20 90 11. Peer Update Message. . . . . . . . . . . . . . . . . . . . . . 21 91 12. Peer Update ACK Message. . . . . . . . . . . . . . . . . . . . 23 92 13. Peer Termination Message . . . . . . . . . . . . . . . . . . . 23 93 14. Peer Termination ACK Message . . . . . . . . . . . . . . . . . 24 94 15. Neighbor Up Message . . . . . . . . . . . . . . . . . . . . . 26 95 16. Neighbor Up ACK Message. . . . . . . . . . . . . . . . . . . . 27 96 17. Neighbor Down Message . . . . . . . . . . . . . . . . . . . . 28 97 18. Neighbor Down ACK Message. . . . . . . . . . . . . . . . . . . 29 98 19. Neighbor Update Message . . . . . . . . . . . . . . . . . . . 30 99 20. Neighbor Address Update Message. . . . . . . . . . . . . . . . 31 100 21. Neighbor Address Update ACK Message. . . . . . . . . . . . . . 32 101 22. Heartbeat Message . . . . . . . . . . . . . . . . . . . . . . 33 102 23. Link Characteristics Message . . . . . . . . . . . . . . . . . 33 103 24. Link Characteristics ACK Message . . . . . . . . . . . . . . . 35 104 25. Security Considerations. . . . . . . . . . . . . . . . . . . . 36 105 26. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 36 106 26.1 TLV Registrations. . . . . . . . . . . . . . . . . . . . . 36 107 26.2 Expert Review: Evaluation Guidelines . . . . . . . . . . . 37 108 26.3 Packet TLV Type Registrations. . . . . . . . . . . . . . . 37 109 26.4 Message TLV Type Registrations . . . . . . . . . . . . . . 37 110 27. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . 38 112 1. Introduction 114 There exist today a collection of modem devices that control links of 115 variable bandwidth and quality. Examples of these types of links 116 include line-of-sight (LOS) radios, satellite terminals, and cable/ 117 DSL modems. Fluctuations in speed and quality of these links can 118 occur due to configuration (in the case of cable/DSL modems), or on a 119 moment-to-moment basis, due to physical phenomena like multipath 120 interference, obstructions, rain fade, etc. It is also quite possible 121 that link quality and bandwidth varies with respect to individual 122 neighbors on a link, and with the type of traffic being sent. As an 123 example, consider the case of an 802.11g access point, serving 2 124 associated laptop computers. In this environment, the answer to the 125 question "What is the bandwidth on the 802.11g link?" is "It depends 126 on which associated laptop we're talking about, and on what kind of 127 traffic is being sent." While the first laptop, being physically 128 close to the access point, may have a bandwidth of 54Mbps for 129 unicast traffic, the other laptop, being relatively far away, or 130 obstructed by some object, can simultaneously have a bandwidth of 131 only 32Mbps for unicast. However, for multicast traffic sent from the 132 access point, all traffic is sent at the base transmission rate 133 (which is configurable, but depending on the model of the access 134 point, is usually 24Mbps or less). 136 In addition to utilizing variable bandwidth links, mobile networks 137 are challenged by the notion that link connectivity will come and go 138 over time. Effectively utilizing a relatively short-lived connection 139 is problematic in IP routed networks, as routing protocols tend to 140 rely on independent timers at OSI Layer 3 to maintain network 141 convergence (e.g. HELLO messages and/or recognition of DEAD routing 142 adjacencies). These short-lived connections can be better utilized 143 with an event-driven paradigm, where acquisition of a new neighbor 144 (or loss of an existing one) is somehow signaled, as opposed to a 145 timer-driven paradigm. 147 Another complicating factor for mobile networks are the different 148 methods of physically connecting the modem devices to the router. 149 Modems can be deployed as an interface card in a router's 150 chassis, or as a standalone device connected to the router via 151 Ethernet, USB, or even a serial link. In the case of Ethernet or 152 serial attachment, with existing protocols and techniques, routing 153 software cannot be aware of convergence events occurring on the 154 radio link (e.g. acquisition or loss of a potential routing 155 neighbor), nor can the router be aware of the actual capacity of 156 the link. This lack of awareness, along with the variability in 157 bandwidth, leads to a situation where quality of service (QoS) 158 profiles are extremely difficult to establish and properly 159 maintain. This is especially true of demand-based access schemes 160 such as Demand Assigned Multiple Access (DAMA) implementations 161 used on some satellite systems. With a DAMA-based system, 162 additional bandwidth may be available, but will not be used 163 unless the network devices emit traffic at rate higher than the 164 currently established rate. Increasing the traffic rate does not 165 guarantee additional bandwidth will be allocated; rather, it may 166 result in data loss and additional retransmissions on the link. 168 In attempting to address the challenges listed above, the authors 169 have developed the Data Link Exchange Protocol, or DLEP. The DLEP 170 protocol runs between a router and its attached modem devices, 171 allowing the modem to communicate link characteristics as they 172 change, and convergence events (acquisition and loss of potential 173 routing neighbors). The diagram below is used to illustrate the 174 scope of DLEP sessions. When a local client (Modem device) 175 detects the presence of a remote neighbor, it sends an indication 176 to its local router via the DLEP session. Upon receipt of the 177 indication, the local router would take appropriate action (e.g. 178 initiation of discovery or HELLO protocols) to converge the 179 network. After notification of the new neighbor, the modem device 180 utilizes the DLEP session to report the characteristics of the 181 link (bandwidth, latency, etc) to the router on an as-needed 182 basis. Finally, the Modem is able to use the DLEP session to 183 notify the router when the remote neighbor is lost, shortening 184 the time required to re-converge the network. 186 |-----Local Neighbor-----| |-----Remote Neighbor----| 187 | | | (far-end device) | 189 +--------+ +-------+ +-------+ +--------+ 190 | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | 191 | | | Device| | Device| | | 192 +--------+ +-------+ +-------+ +--------+ 194 | | | Link | | | 195 |-DLEP--| | Protocol | |-DLEP--| 196 | | | (e.g. | | | 197 | | | 802.11) | | | 199 Figure 1: DLEP Network 201 DLEP exists as a collection of type-length-value (TLV) based messages 202 formatted using RFC 5444. The protocol can be used for both Ethernet- 203 attached modems (utilizing, for example, a UDP socket for transport 204 of the RFC 5444 packets), or in environments where the modem is an 205 interface card in a chassis (via a message passing scheme). DLEP 206 utilizes a session paradigm between the modem device and its 207 associated router. If multiple modem devices are attached to a 208 router, a separate DLEP session MUST exist for each modem. If a modem 209 device supports multiple connections to a router (via multiple 210 interfaces), or supports connections to multiple routers, a separate 211 DLEP session MUST exist for each connection. 213 1.1 Requirements 215 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 216 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 217 document are to be interpreted as described in BCP 14, RFC 2119 218 [RFC2119]. 220 2. Assumptions 222 In order to implement discovery in the DLEP protocol (thereby 223 avoiding some configuration), we have defined a first-speaker and a 224 passive-listener. Specifically, the router is defined as the passive- 225 listener, and the modem device defined as the first-speaker (e.g. the 226 initiator for discovery). Borrowing from existing terminology, this 227 document refers to the first-speaker as the 'client', even though 228 there is no client/server relationship in the classic sense. 230 DLEP assumes that participating modem devices appear to the router 231 as a transparent bridge - specifically, the assumption is that the 232 destination MAC address for data traffic in any frame emitted by 233 the router should be the MAC address of the next-hop router or end- 234 device, and not the MAC address of any of the intervening modem 235 devices. 237 DLEP assumes that security on the session (e.g. authentication of 238 session partners, encryption of traffic, or both) is dealt with by 239 the underlying transport mechanism for the RFC 5444 packets (e.g. by 240 using a transport such as DTLS [DTLS]). 242 The RFC 5444 message header Sequence Number MUST be included in all 243 DLEP packets. Sequence Numbers start at 1 and are incremented by one 244 for each original and retransmitted message. The unsigned 16-bit 245 Sequence Number rolls over at 65535 to 1. A Sequence Number of 0 is 246 not valid. Peer level Sequence Numbers are unique within the context 247 of a DLEP session. Sequence numbers are used in DLEP to correlate 248 a response to a request. 250 3. Normal Session Flow 252 A session between a router and a client is established by exchanging 253 the "Peer Discovery" and "Peer Offer" messages described below. 255 Once that exchange has successfully occurred, the client informs the 256 router of the presence of a new potential routing partner via the 257 "Neighbor Up" message. The loss of a neighbor is communicated via the 258 "Neighbor Down" message, and link quality is communicated via the 259 "Neighbor Update" message. Note that, due to the issue of metrics 260 varying depending on neighbor (discussed above), DLEP link metrics 261 are expressed within the context of a neighbor relationship, instead 262 of on the link as a whole. 264 Once the DLEP session has started, the session partners exchange 265 heartbeat messages based on a negotiated time interval. The heartbeat 266 messages are used to assure the session partners are in an 267 appropriate state, and that bidirectional connectivity still exists. 269 In addition to receiving metrics about the link, DLEP provides for 270 the ability for the router to request a different amount of 271 bandwidth, or latency, for its client via the Link Characteristics 272 Message. This allows the router to deal with requisite increases 273 (or decreases) of allocated bandwidth/latency in demand-based 274 schemes in a more deterministic manner. 276 4. Generic DLEP Packet Definition 278 The Generic DLEP Packet Definition follows the format for packets 279 defined in RFC 5444. 281 The Generic DLEP Packet Definition contains the following fields: 283 0 1 2 3 284 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 285 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 286 |Version| Flags | Packet Sequence Number | Packet TLV | 287 | | | | Block... | 288 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 289 | Message... | 290 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 292 Version - Version of RFC5444 specification on 293 which the packet/messages/TLVs are 294 constructed. 296 Flags - 4 bit field. Only bit 1 (phastlv) is 297 set/used. All other bits MUST be ignored 298 by DLEP implementations. 300 Packet Sequence Number - If present, the packet sequence number 301 is parsed and ignored. DLEP does NOT 302 use or generate packet sequence numbers. 304 Packet TLV block - a TLV block which contains packet level 305 TLV information. 307 Message - the packet MAY contain zero or more 308 messages. 310 5. Generic DLEP Message Format 312 The Generic DLEP Message Format follows the format for MANET messages 313 defined in RFC 5444. The field, which is OPTIONAL in 314 RFC 5444, MUST exist in all DLEP messages. 316 The Generic DLEP Message Format contains the following fields: 318 0 1 2 3 319 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 320 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 321 | Msg Type |Msg Flg|AddrLen| Message Size | 322 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 323 | Message Seq Num | TLV Block... | 324 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 326 Message Type - an 8-bit field which specifies the type 327 of the message 329 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is 330 set). All other bits are unused and MUST 331 be set to '0'. 333 Message Address Length - a 4-bit unsigned integer field encoding the 334 length of all addresses included in this 335 message. DLEP implementations do not use 336 this field; contents SHOULD be ignored. 338 Message Size - a 16-bit unsigned integer field which 339 specifies the number of octets that make up 340 the message including the message header. 342 Message Sequence Number - a 16-bit unsigned integer field that 343 contains a sequence number, generated by 344 the originator of the message. Sequence 345 numbers range from 1 to 65535. Sequence 346 numbers roll over at 65535 to 1; 0 is 347 invalid. 349 TLV Block - TLV Block included in the message. 351 6. Generic DLEP TLV Block Format 353 The Generic DLEP TLV Block Format follows the format for MANET 354 message TLVs defined in RFC 5444. 356 The Generic DLEP TLV Block Format contains the following fields: 358 0 1 2 3 359 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 360 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 361 | TLVs Length | TLV Type | TLV Flags | 362 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 363 | Length | Value... | 364 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 366 TLVs Length - a 16-bit unsigned integer field that contains the total 367 number of octets in all of the immediately following 368 TLV elements (tlvs-length not included). 370 TLV Type - an 8-bit unsigned integer field specifying the type of 371 the TLV. 373 TLV Flags - an 8-bit flags bit field. Only bit 3 (thasvalue) is 374 set, all other bits are not used and MUST be set to 375 '0'. 377 Length - Length of the value field of the TLV 379 Value - A field of length which contains data specific 380 to a particular TLV type. 382 7. DLEP TLVs 384 TLV TLV 385 Value Description 386 ========================================= 387 TBD Identification TLV 388 TBD DLEP Version TLV 389 TBD Peer Type TLV 390 TBD MAC Address TLV 391 TBD IPv4 Address TLV 392 TBD IPv6 Address TLV 393 TBD Maximum Data Rate (MDR) TLV 394 TBD Current Data Rate (CDR) TLV 395 TBD Latency TLV 396 TBD Resources TLV 397 TBD Relative Link Quality (RLQ) TLV 398 TBD Status TLV 400 7.1 Identification TLV 402 This TLV MUST be in the Packet Header TLV Block for all DLEP 403 messages. It contains client and router identification information 404 used for all messages contained within the packet. 406 The Identification TLV contains the following fields: 408 0 1 2 3 409 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 410 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 411 |TLV Type = TBD |TLV Flags=0x10 |Length = 9 | Heartbeat | 412 | | | | Interval | 413 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 414 | Router ID | 415 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 416 | Client ID | 417 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 419 TLV Type - Value TBD 421 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are 422 unused and MUST be set to '0'. 424 Length - 9 426 Heartbeat - An 8-bit, unsigned value containing the heartbeat 427 Interval interval, in seconds for this session. A value of 428 '0' indicates that no heartbeats are used on this 429 session. 430 This value is used during the Peer Discovery/Peer 431 Offer exchange. In other packets, the value MUST be 432 ignored. 433 The Heartbeat timer runs at a peer-to-peer level, 434 that is, it runs between a router and a modem 435 device. If a peer does NOT receive any messages for 436 some number of Heartbeat intervals (default 4), it 437 should initiate DLEP session termination procedures. 439 Router ID - indicates the router ID of the DLEP session. 441 Client ID - indicates the client ID of the DLEP session. 443 When the client initiates discovery (via the Peer Discovery message), 444 it MUST set the Client ID to a 32-bit quantity that will be used to 445 uniquely identify this session from the client-side. The client MUST 447 set the Router ID to '0'. When responding to the Peer Discovery 448 message, the router MUST echo the Client ID, and MUST supply its own 449 unique 32-bit quantity to identify the session from the router's 450 perspective. After the Peer Discovery/Peer Offer exchange, both the 451 Client ID and the Router ID MUST be set to the values obtained from 452 the Peer DIscovery/Peer Offer sequence. 454 7.2 DLEP Version TLV 456 The DLEP Version TLV is OPTIONAL, and is used to indicate the client 457 or router version of the protocol. The client and router MAY use this 458 information to decide if the peer is running at a supported level. 460 The DLEP Version TLV contains the following fields: 462 0 1 2 3 463 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 464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 |TLV Type =TBD |TLV Flags=0x10 |Length=4 | Major Version | 466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 467 | Major Version | Minor Version | 468 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 470 TLV Type - TBD 472 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are 473 not used and MUST be set to '0'. 475 Length - Length is 4 476 Major Version - Major version of the client or router protocol. 478 Minor Version - Minor version of the client or router protocol. 480 Support of this draft is indicated by setting the Major Version 481 to '1', and the Minor Version to '0' (e.g. Version 1.0). 483 7.3 Peer Type TLV 485 The Peer Type TLV is used by the router and client to give additional 486 information as to its type. It is an OPTIONAL TLV in both the Peer 487 Discovery Message and the Peer Offer message. The peer type is a 488 string and is envisioned to be used for informational purposes (e.g. 489 display command). 491 The Peer Type TLV contains the following fields: 493 0 1 2 3 494 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 495 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 496 |TLV Type =TBD |TLV Flags=0x10 |Length= peer |Peer Type Str | 497 | | |type string len|Max Len = 80 | 498 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 500 TLV Type - TBD 502 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits 503 are not used and MUST be set to '0'. 505 Length - length of peer type string (80 bytes maximum) 506 Peer Type String - Non-Null terminated peer type string, maximum 507 length of 80 bytes. For example, a satellite 508 modem might set this variable to 'Satellite 509 terminal'. 511 7.4 MAC Address TLV 513 The MAC address TLV MUST appear in all neighbor-oriented messages 514 (e.g. Neighbor Up, Neighbor Up ACK, Neighbor Down, Neighbor Down 515 ACK, Neighbor Update, Link Characteristics Request, and Link 516 Characteristics ACK). The MAC Address TLV contains the address of 517 the far-end (neighbor) router. 519 The MAC Address TLV contains the following fields: 521 0 1 2 3 522 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 523 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 524 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 525 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 526 | MAC Address | 527 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 528 | MAC Address | 529 +-+-+-+-+-+-+-+-+ 531 TLV Type - TBD 533 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not 534 used and MUST be set to '0'. 536 Length - 6 538 MAC Address - MAC Address of the far-end router. 540 7.5 IPv4 Address TLV 542 The IPv4 Address TLV MAY be used in Neighbor Up, Neighbor Update, 543 and Peer Update Messages, if the client is aware of the Layer 3 544 address. When included in Neighbor messages, the IPv4 Address TLV 545 contains the IPv4 address of the far-end router (neighbor). In 546 the Peer Update message, it contains the IPv4 address of the local 547 router. In either case, the TLV also contains an indication of 548 whether this is a new or existing address, or is a deletion of 549 a previously known address. 551 The IPv4 Address TLV contains the following fields: 553 0 1 2 3 554 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 555 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 556 |TLV Type =TBD |TLV Flags=0x10 |Length = 4 | Add/Drop | 557 | | | | Indicator | 558 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 559 | IPv4 Address | 560 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 562 TLV Type - TBD 564 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not 565 used and MUST be set to '0'. 567 Length - 5 568 Add/Drop - Value indicating whether this is a new or 569 Indicator existing address (0x01), or a withdrawal of 570 an address (0x02). 572 IPv4 Address - IPv4 Address of the far-end router. 574 7.6 IPv6 Address TLV 576 The IPv6 Address TLV MAY be used in Neighbor Up, Neighbor Update, 577 and Peer Update Messages, if the client is aware of the Layer 3 578 address. When included in Neighbor messages, the IPv6 Address TLV 579 contains the IPv6 address of the far-end router (neighbor). In 580 the Peer Update, it contains the IPv6 address of the local router. 581 In either case, the TLV also contains an indication of whether 582 this is a new or existing address, or is a deletion of a 583 previously known address. 585 The IPv6 Address TLV contains the following fields: 587 0 1 2 3 588 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 589 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 590 |TLV Type =TBD |TLV Flags=0x10 |Length = 17 | Add/Drop | 591 | | | | Indicator | 592 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 593 | IPv6 Address | 594 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 595 | IPv6 Address | 596 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 597 | IPv6 Address | 598 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 599 | IPv6 Address | 600 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 602 TLV Type - TBD 604 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not 605 used and MUST be set to '0'. 607 Length - 17 609 Add/Drop - Value indicating whether this is a new or 610 Indicator existing address (0x01), or a withdrawal of 611 an address (0x02). 613 IPv6 Address - IPv6 Address of the far-end router. 615 7.7 Maximum Data Rate TLV 617 The Maximum Data Rate (MDR) TLV is used in Neighbor Up, Neighbor 618 Update, and Link Characteristics ACK Messages to indicate the 619 maximum theoretical data rate, in bits per second, that can be 620 achieved on the link. When metrics are reported via the messages 621 listed above, the maximum data rate MUST be reported. 623 The Maximum Data Rate TLV contains the following fields: 625 0 1 2 3 626 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 627 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 628 |TLV Type =TBD |TLV Flags=0x10 |Length = 8 | MDR (bps) | 629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 630 | MDR (bps) | 631 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 632 | MDR (bps) | 633 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 635 TLV Type - TBD 637 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other 638 bits are not used and MUST be set to '0'. 640 Length - 8 642 Maximum Data Rate - A 64-bit unsigned number, representing the 643 maximum theoretical data rate, in bits per 644 second (bps), that can be achieved on the 645 link. 647 7.8 Current Data Rate TLV 649 The Current Data Rate (CDR) TLV is used in Neighbor Up, Neighbor 650 Update, Link Characteristics Request, and Link Characteristics ACK 651 messages to indicate the rate at which the link is currently 652 operating, or in the case of the Link Characteristics Request, 653 the desired data rate for the link. 655 The Current Data Rate TLV contains the following fields: 657 0 1 2 3 658 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 659 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 660 |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDR (bps) | 661 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 662 | CDR (bps) | 663 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 664 | CDR (bps) | 665 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 666 TLV Type - TBD 668 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other 669 bits are not used and MUST be set to '0'. 671 Length - 8 673 Current Data Rate - A 64-bit unsigned number, representing the 674 current data rate, in bits per second (bps), 675 on the link. When reporting metrics (e.g, 676 in Neighbor Up, Neighbor Down, or Link 677 Characteristics ACK), if there is no 678 distinction between current and maximum 679 data rates, current data rate SHOULD be 680 set equal to the maximum data rate. 682 7.9 Latency TLV 684 The Latency TLV is used in Neighbor Up, Neighbor Update, Link 685 Characteristics Request, and Link Characteristics ACK messages to 686 indicate the amount of latency on the link, or in the case of the 687 Link Characteristics Request, to indicate the maximum latency 688 required (e.g. a should-not-exeed value) on the link. 690 The Latency TLV contains the following fields: 692 0 1 2 3 693 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 694 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 695 |TLV Type =TBD |TLV Flags=0x10 |Length = 2 |Latency (ms) | 696 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 697 |Latency (ms) | 698 +-+-+-+-+-+-+-+-+ 700 TLV Type - TBD 702 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other 703 bits are not used and MUST be set to '0'. 705 Length - 2 707 Latency - the transmission delay that a packet 708 encounters as it is transmitted over the 709 link. In Neighbor Up, Neighbor Update, 710 and Link Characteristics ACK, this value 711 is reported in absolute delay, in 712 milliseconds. The calculation of latency 713 is modem-device dependent. For example, 714 the latency may be a running average 715 calculated from the internal queuing. If 716 the modem device cannot calculate latency, 717 it SHOULD be reported as 0. 719 In the Link Characteristics Request Message, 720 this value represents the maximum delay, 721 in milliseconds, expected on the link. 723 7.10 Resources TLV 725 The Resources TLV is used in Neighbor Up, Neighbor Update, and Link 726 Characteristics ACK messages to indicate a percentage (0-100) amount 727 of resources (e.g. battery power) remaining on the modem device. 729 The Resources TLV contains the following fields: 730 0 1 2 3 731 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 732 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 733 |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Resources | 734 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 736 TLV Type - TBD 738 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other 739 bits are not used and MUST be set to '0'. 741 Length - 1 743 Resources - a percentage, 0-100, representing the amount 744 of remaining resources, such as battery power. 745 If resources cannot be calculated, a value of 746 100 SHOULD be reported. 748 7.11 Relative Link Quality TLV 750 The Relative Link Quality (RLQ) TLV is used in Neighbor Up, Neighbor 751 Update, and Link Characteristics ACK messages to indicate the 752 quality of the link as calculated by the modem device. 754 The Relative Link Quality TLV contains the following fields: 756 0 1 2 3 757 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 758 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 759 |TLV Type =TBD |TLV Flags=0x10 |Length = 1 |Relative Link | 760 | | | |Quality (RLQ) | 761 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 763 TLV Type - TBD 765 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other 766 bits are not used and MUST be set to '0'. 768 Length - 1 769 Relative Link Quality - a non-dimensional number, 0-100, 770 representing the relative link quality. 771 A value of 100 represents a link of the 772 highest quality. If the RLQ cannot be 773 calculated, a value of 100 should be 774 reported. 776 7.12 Status TLV 778 The Status TLV is sent from either the client or router to 779 indicate the success or failure of a given request 781 The Status TLV contains the following fields: 783 0 1 2 3 784 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 785 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 786 |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Code | 787 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 789 TLV Type - TBD 791 TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are 792 not used and MUST be set to '0'. 794 Length - 1 796 Termination Code - 0 = Success 797 Non-zero = Failure. Specific values of a non- 798 zero termination code depend on the operation 799 requested (e.g. Neighbor Up, Neighbor Down, etc). 801 8. DLEP Messages 803 The DLEP Packet, being based on [RFC5444], contains the following 804 fields: 806 0 1 2 3 807 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 808 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 809 |Version| Flags | TLVs Length | Identification| 810 | 0x0 | 0x2 | | TLV Type = TBD| 811 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 812 |TLV Flags=0x10 | Length = 9 | HB Interval | Router ID | 813 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 814 | Router ID | Client ID | 815 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 816 | Client ID | Message (DLEP | 817 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 818 | packet can contain zero or more messages) | 819 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 820 Version - Version of RFC5444 specification on which the packet/ 821 messages/TLVs are constructed. 823 Flags - 0x2 Only bit 1 (phastlv) is set/used, all other bits are 824 not used and MUST be set to '0'. 826 Packet Header TLV Block which contains: 827 Identification TLV 829 Message - the packet may contain zero or more messages. 831 8.1 Message TLVs 833 TLV TLV 834 Value Description 835 ========================================= 836 TBD Attached Peer Discovery 837 TBD Detached Peer Discovery 838 TBD Peer Offer 839 TBD Peer Update 840 TBD Peer Update ACK 841 TBD Peer Termination 842 TBD Peer Termination ACK 843 TBD Neighbor Up 844 TBD Neighbor Up ACK 845 TBD Neighbor Down 846 TBD Neighbor Down ACK 847 TBD Neighbor Update 848 TBD Neighbor Address Update 849 TBD Neighbor Address Update ACK 850 TBD Heartbeat 851 TBD Link Characteristics Request 852 TBD Link Characteristics ACK 854 9. Peer Discovery Messages 856 There are two different types of Peer Discovery Messages, Attached 857 and Detached. Attached Peer Discovery Messages are sent by the 858 client when it is directly attached to the router (e.g. the client 859 exists as a card in the chassis, or it is connected via Ethernet with 860 no intervening devices). The Detached Peer Discovery message, on the 861 other hand, is sent by a "remote" client -- for example, a client at 862 a satellite hub system might use a Detached Discovery Message in 863 order to act as a proxy for remote ground terminals. To explain in 864 another way, a detached client uses the variable link itself (the 865 radio or satellite link) to establish a DLEP session with a remote 866 router. 868 9.1 Attached Peer Discovery Message 870 The Attached Peer Discovery Message is sent by an attached client 871 to a router to begin a new DLEP association. The Peer Offer message 872 is required to complete the discovery process. The client MAY 873 implement its own retry heuristics in the event it (the client) 874 determines the Attached Peer Discovery Message has timed out. 876 The Attached Peer Discovery Message contains the following fields: 878 0 1 2 3 879 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 880 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 881 | Msg Type |Msg Flg|AddrLen| Message Size | 882 | = TBD | 0x1 | 0x3 |15 + size of opt Peer Type TLV | 883 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 884 | Message Seq Num | TLVs Length = 7 + opt TLVs | 885 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 886 | DLEP Version |TLV Flags=0x10 | Length = 4 | Major Version | 887 | TLV Type = TBD| | | | 888 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 889 | Major Version | Minor Version | Peer Type TLV | 890 | | | Type = TBD | 891 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 892 |TLV Flags=0x10 | Length = Len | Peer Type Str | 893 | |of peer string |MaxLen=80 bytes| 894 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 896 Attached Peer Discovery Message - TBD 898 Message Flags - Set to 0x1 (bit 3, mhasseqnum 899 bit is set). No other bits are 900 used and MUST be set to '0'. 902 Message Address Length - 0x3 904 Message Size - 15 + size of optional Peer Type TLV 906 Message Sequence Number - a 16-bit unsigned integer field 907 containing a sequence number 908 generated by the message 909 originator. 911 TLV Block - TLVs Length: 7 + size of OPTIONAL 912 Peer Type TLV. 913 DLEP Version TLV 914 Peer Type TLV (OPTIONAL) 916 9.2 Detached Peer Discovery Message 918 The Detached Peer Discovery Message is sent by a detached client 919 proxy to a router to begin a new DLEP session. The Peer Offer 920 message is required to complete the discovery process. The client 921 MAY implement its own retry heuristics in the event it (the client) 922 determines the Detached Peer Discovery Message has timed out. 924 The Detached Peer Discovery Message contains the following fields: 926 0 1 2 3 927 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 928 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 929 | Msg Type |Msg Flg|AddrLen| Message Size | 930 | = TBD | 0x1 | 0x3 |15 + size of opt Peer Type TLV | 931 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 932 | Message Seq Num | TLVs Length = 7 + opt TLVs | 933 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 934 | DLEP Version |TLV Flags=0x10 | Length = 4 | Major Version | 935 | TLV Type = TBD| | | | 936 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 937 | Major Version | Minor Version | Peer Type TLV | 938 | | | Type = TBD | 939 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 940 |TLV Flags=0x10 | Length = Len | Peer Type Str | 941 | |of peer string |MaxLen=80 bytes| 942 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 944 Detached Peer Discovery Message Type - TBD 946 Message Flags - Set to 0x1 (bit 3, 947 mhasseqnum bit is set). 948 All other bits are not used 949 and MUST be set to '0'. 951 Message Address Length - 0x3 953 Message Size - 15 + size of optional Peer 954 Type TLV 956 Message Sequence Number - A 16-bit unsigned integer 957 field containing a sequence 958 number, generated by the 959 message originator. 961 TLV Block - TLVs Length: 7 + size of 962 OPTIONAL Peer Type TLV. 963 DLEP Version TLV 964 Peer Type TLV (optional) 966 10. Peer Offer Message 968 The Peer Offer Message is sent by a router to a client or client 969 proxy in response to a Peer Discovery Message. The Peer Offer 970 Message is the response to either of the Peer Discovery messages 971 (either Attached or Detached), and completes the DLEP session 972 establishment. 974 The Peer Offer Message contains the following fields: 976 0 1 2 3 977 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 978 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 979 | Msg Type |Msg Flg|AddrLen| Message Size | 980 | = TBD | 0x1 | 0x3 |15 + size of opt Peer Type TLV | 981 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 982 | Message Seq Num | TLVs Length = 7 + opt TLVs | 983 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 984 | DLEP Version |TLV Flags=0x10 | Length = 4 | Major Version | 985 | TLV Type = TBD| | | | 986 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 987 | Major Version | Minor Version | Peer Type TLV | 988 | | | Type = TBD | 989 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 990 |TLV Flags=0x10 | Length = Len | Peer Type Str |TLV Type = TBD | 991 | |of peer string |MaxLen=80 bytes| | 992 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 993 |TLV Flags=0x10 |Length = 5 | Add/Drop Ind. | IPv4 Address | 994 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 995 | IPv4 Address |TLV Type = TBD | 996 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 997 |TLV Flags=0x10 |Length = 17 | Add/Drop Ind. | IPv6 Address | 998 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 999 | IPv6 Address | 1000 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1001 | IPv6 Address | 1002 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1003 | IPv6 Address | 1004 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1005 | IPv6 Address |TLV Type = TBD | 1006 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1007 |TLV Flags=0x10 | Length = 1 | Code | 1008 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1010 Peer Offer Message Type - TBD 1012 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1013 is set). All other bits are unused and 1014 MUST be set to '0'. 1016 Message Address Length - 0x3 1018 Message Size - 15 + size of optional Peer Type TLV 1019 Message Sequence Number - A 16-bit unsigned integer field containing 1020 a sequence number, generated by the message 1021 originator. 1023 TLV Block - TLV Length: 7 + size of optional Peer Type 1024 TLV. 1025 DLEP Version TLV 1026 Peer Type TLV (OPTIONAL) 1027 IPv4 Address TLV (OPTIONAL) 1028 IPv6 Address TLV (OPTIONAL) 1029 Status TLV (OPTIONAL) 1031 11. Peer Update Message 1033 The Peer Update message is sent by the router to indicate local 1034 Layer 3 address changes. For example, addition of an IPv4 address 1035 to the router would prompt a Peer Update message to its attached 1036 DLEP clients. If the modem device is capable of understanding and 1037 forwarding this information, the address update would prompt any 1038 remote DLEP clients (DLEP clients that are on the far-end of the 1039 variable link) to issue a "Neighbor Update" message to their local 1040 routers, with the address change information. Clients that do not 1041 track Layer 3 addresses MUST silently ignore the Peer Update 1042 Message. Clients that track Layer 3 addresses MUST acknowledge the 1043 Peer Update with a Peer Update ACK message. Routers MAY employ 1044 heuristics to retransmit Peer Update messages. Sending of Peer 1045 Update Messages SHOULD cease when a router implementation 1046 determines that a partner modem device does NOT support Layer 3 1047 address tracking. 1049 The Peer Update Message contains the following fields: 1051 0 1 2 3 1052 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 1053 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1054 | Msg Type |Msg Flg|AddrLen| Message Size | 1055 | = TBD | 0x1 | 0x3 | 8 + opt TLVs | 1056 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1057 | Message Seq Num | TLVs Length = length of opt | 1058 | | TLVs | 1059 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1060 |TLV Type =TBD |TLV Flags=0x10 |Length = 5 | Add/Drop Ind. | 1061 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1062 | IPv4 Address | 1063 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1064 |TLV Type =TBD |TLV Flags=0x10 |Length = 17 | Add/Drop Ind. | 1065 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1066 | IPv6 Address | 1067 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1068 | IPv6 Address | 1069 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1070 | IPv6 Address | 1071 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1072 | IPv6 Address | 1073 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1075 Peer Update Message Type - TBD 1077 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1078 is set). All other bits are unused and 1079 MUST be set to '0'. 1081 Message Address Length - 0x3 1083 Message Size - 8 + optional TLVs 1085 Message Sequence Number - A 16-bit unsigned integer field containing 1086 a sequence number generated by the message 1087 originator. 1089 TLV Block - TLV Length: length of optional TLVs. 1090 IPv4 Address TLV (OPTIONAL) 1091 IPv6 Address TLV (OPTIONAL) 1093 12. Peer Update ACK Message 1095 The client sends the Peer Update ACK Message to indicate whether a 1096 Peer Update Message was successfully processed. 1098 The Peer Update ACK message contains the following fields: 1100 0 1 2 3 1101 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 1102 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1103 | Msg Type |Msg Flg|AddrLen| Message Size | 1104 | = TBD | 0x1 | 0x3 | 12 | 1105 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1106 | Message Seq Num | TLVs Length = 4 | 1107 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1108 |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Code | 1109 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1111 Peer Update ACK 1112 Message Type - TBD 1114 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1115 is set). All other bits are unused and 1116 MUST be set to '0'. 1118 Message Address Length - 0x3 1120 Message Size - 12 1122 Message Sequence Number - A 16-bit unsigned integer field containing 1123 the sequence number from the Neighbor Up 1124 Message that is being acknowledged. 1126 TLV Block - TLV Length: 4 1127 Status TLV 1129 13. Peer Termination Message 1131 The Peer Termination Message is sent by either the client or the 1132 router when a session needs to be terminated. Transmission of a 1133 Peer Termination ACK message is required to confirm the 1134 termination process. The sender of the Peer Termination message 1135 is free to define its heuristics in event of a timeout. The 1136 receiver of a Peer Termination Message MUST terminate all 1137 neighbor relationships and release associated resources. No 1138 Neighbor Down messages are sent. 1140 The Peer Termination Message contains the following fields: 1142 0 1 2 3 1143 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 1144 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1145 | Msg Type |Msg Flg|AddrLen| Message Size | 1146 | = TBD | 0x1 | 0x3 | 12 | 1147 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1148 | Message Seq Num | TLVs Length = 4 | 1149 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1150 |TLV Type = TDB |TLV Flags=0x10 | Length = 1 | Code | 1151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1153 Peer Termination Message Type - TBD 1155 Message Flags - Set to 0x1 (bit 3, mhasseqnum 1156 bit is set). All other bits are 1157 unused and MUST be set to '0'. 1159 Message Address Length - 0x3 1161 Message Size - 12 1163 Message Sequence Number - A 16-bit unsigned integer field 1164 containing a sequence number 1165 generated by the message originator. 1167 TLV Block - TLV Length = 4. 1168 Status TLV 1170 14. Peer Termination ACK Message 1172 The Peer Termination Message ACK is sent by either the client or 1173 the router when a session needs to be terminated. 1175 The Peer Termination ACK Message contains the following fields: 1177 0 1 2 3 1178 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 1179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1180 | Msg Type |Msg Flg|AddrLen| Message Size | 1181 | = TBD | 0x1 | 0x3 | 12 | 1182 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1183 | Message Seq Num | TLVs Length = 4 | 1184 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1185 |TLV Type = TDB |TLV Flags=0x10 | Length = 1 | Code | 1186 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1188 Peer Termination ACK 1189 Message Type - TBD 1190 Message Flags - Set to 0x1 (bit 3, mhasseqnum 1191 bit is set). All other bits are 1192 unused and MUST be set to '0'. 1194 Message Address Length - 0x3 1196 Message Size - 12 1198 Message Sequence Number - A 16-bit unsigned integer field 1199 containing the sequence number in 1200 the corresponding Peer Termination 1201 Message being acknowledged. 1203 TLV Block - TLV Length = 4. 1204 Status TLV 1206 15. Neighbor Up Message 1208 The client sends the Neighbor Up message to report that a new 1209 potential routing neighbor has been detected. A Neighbor Up 1210 ACK Message is required to confirm a received Neighbor Up. 1211 The sender of the Neighbor Up Message is free to define its 1212 retry heuristics in event of a timeout. 1214 The Neighbor Up Message contains the following fields: 1216 0 1 2 3 1217 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 1218 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1219 | Msg Type |Msg Flg|AddrLen| Message Size | 1220 | = TBD | 0x1 | 0x3 | 17 + opt TLVs | 1221 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1222 | Message Seq Num | TLVs Length = 9 + opt TLVs | 1223 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1224 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1225 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1226 | MAC Address | 1227 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1228 | MAC Address |TLV Type =TBD |TLV Flags=0x10 |Length = 5 | 1229 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1230 | Add/Drop Ind. | IPv4 Address | 1231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1232 |IPv4 Address |TLV Type =TBD |TLV Flags=0x10 |Length = 17 | 1233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1234 | Add/Drop Ind. | IPv6 Address | 1235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1236 | IPv6 Address | 1237 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1238 | IPv6 Address | 1239 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1240 | IPv6 Address | 1241 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1242 |IPv6 Address |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | 1243 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1244 | MDR (bps) | 1245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1246 | MDR (bps) | 1247 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1248 |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | CDR (bps) | 1249 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1250 | CDR (bps) | 1251 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1252 | CDR (bps) |TLV Type = TBD | 1253 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1254 |TLV Flags=0x10 |Length = 2 | Latency (ms) | 1255 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1256 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | Resources | 1257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1258 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | RLQ | 1259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1260 Neighbor Up Message Type - TBD 1262 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1263 is set). All other bits are unused and 1264 MUST be set to '0'. 1266 Message Address Length - 0x3 1268 Message Size - 17 + optional TLVs 1270 Message Sequence Number - A 16-bit unsigned integer field containing 1271 a sequence number generated by the message 1272 originator. 1274 TLV Block - TLV Length: 9 + optional TLVs. 1275 MAC Address TLV (MANDATORY) 1276 IPv4 Address TLV (OPTIONAL) 1277 IPv6 Address TLV (OPTIONAL) 1278 Maximum Data Rate TLV (OPTIONAL) 1279 Current Data Rate TLV (OPTIONAL) 1280 Latency TLV (OPTIONAL) 1281 Resources TLV (OPTIONAL) 1282 Relative Link Factor TLV (OPTIONAL) 1284 16. Neighbor Up ACK Message 1286 The router sends the Neighbor Up ACK Message to indicate whether a 1287 Neighbor Up Message was successfully processed. 1289 The Neighbor Up ACK message contains the following fields: 1291 0 1 2 3 1292 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 1293 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1294 | Msg Type |Msg Flg|AddrLen| Message Size | 1295 | = TBD | 0x1 | 0x3 | 21 | 1296 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1297 | Message Seq Num | TLVs Length = 13 | 1298 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1299 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1300 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1301 | MAC Address | 1302 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1303 | MAC Address |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | 1304 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1305 | Code | 1306 +-+-+-+-+-+-+-+-+ 1308 Neighbor Up ACK 1309 Message Type - TBD 1310 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1311 is set). All other bits are unused and 1312 MUST be set to '0'. 1314 Message Address Length - 0x3 1316 Message Size - 21 1318 Message Sequence Number - A 16-bit unsigned integer field containing 1319 the sequence number from the Neighbor Down 1320 Message that is being acknowledged. 1322 TLV Block - TLV Length: 13 1323 MAC Address TLV (MANDATORY) 1324 Status TLV (MANDATORY) 1326 17. Neighbor Down Message 1328 The client sends the Neighbor Down message to report when a neighbor 1329 is no longer reachable from the client. The Neighbor Down message 1330 MUST contain a MAC Address TLV. Any other TLVs present MAY be 1331 ignored. A Neighbor Down ACK Message is required to confirm the 1332 process. The sender of the Neighbor Down message is free to define 1333 its retry heuristics in event of a timeout. 1335 The Neighbor Down Message contains the following fields: 1337 0 1 2 3 1338 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 1339 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1340 | Msg Type |Msg Flg|AddrLen| Message Size | 1341 | = TBD | 0x1 | 0x3 | 17 + optional TLVs | 1342 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1343 | Message Seq Num | TLVs Length = 9 + optional | 1344 | | TLVs | 1345 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1346 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1347 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1348 | MAC Address | 1349 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1350 | MAC Address |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | 1351 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1352 | Code | 1353 +-+-+-+-+-+-+-+-+ 1355 Neighbor Down Message Type - TBD 1357 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1358 is set). All other bits are unused and 1359 MUST be set to '0'. 1361 Message Address Length - 0x3 1362 Message Size - 17 + optional TLVs 1364 Message Sequence Number - A 16-bit unsigned integer field 1365 containing a sequence number generated 1366 by the message originator. 1368 TLV Block - TLV Length: 9 + optional TLVs 1369 MAC Address TLV (MANDATORY) 1370 Status TLV (OPTIONAL) 1372 18. Neighbor Down ACK Message 1374 The router sends the Neighbor Down ACK Message to indicate whether 1375 a Neighbor Down Message was successfully processed. 1377 The Neighbor Down ACK message contains the following fields: 1379 0 1 2 3 1380 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 1381 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1382 | Msg Type |Msg Flg|AddrLen| Message Size | 1383 | = TBD | 0x1 | 0x3 | 21 | 1384 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1385 | Message Seq Num | TLVs Length = 13 | 1386 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1387 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1388 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1389 | MAC Address | 1390 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1391 | MAC Address |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | 1392 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1393 | Code | 1394 +-+-+-+-+-+-+-+-+ 1396 Neighbor Down ACK 1397 Message Type - TBD 1399 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1400 is set). All other bits are unused and 1401 MUST be set to '0'. 1403 Message Address Length - 0x3 1405 Message Size - 21 1407 Message Sequence Number - A 16-bit unsigned integer field containing 1408 the sequence number from the Neighbor Down 1409 Message that is being acknowledged. 1411 TLV Block - TLV Length: 13 1412 MAC Address TLV (MANDATORY) 1413 Status TLV (MANDATORY) 1415 19. Neighbor Update Message 1417 The client sends the Neighbor Update message when a change in link 1418 metric parameters is detected for a routing neighbor. 1420 The Neighbor Update Message contains the following fields: 1422 0 1 2 3 1423 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 1424 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1425 | Msg Type |Msg Flg|AddrLen| Message Size | 1426 | = TBD | 0x1 | 0x3 | 17 + opt TLVs | 1427 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1428 | Message Seq Num | TLVs Length = 9 + opt TLVs | 1429 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1430 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1431 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1432 | MAC Address | 1433 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1434 | MAC Address |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | 1435 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1436 | MDR (bps) | 1437 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1438 | MDR (bps) | 1439 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1440 |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | CDR (bps) | 1441 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1442 | CDR (bps) | 1443 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1444 | CDR (bps) |TLV Type = TBD | 1445 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1446 |TLV Flags=0x10 |Length = 2 | Latency (ms) | 1447 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1448 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | Resources | 1449 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1450 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | RLQ | 1451 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1453 Neighbor Update Message Type - TBD 1455 Message Flags - Set to 0x1 (bit 3, mhasseqnum 1456 bit is set). All other bits are 1457 unused and MUST be set to '0'. 1459 Message Address Length - 0x3 1461 Message Size - 17 + optional TLVs 1463 Message Sequence Number - A 16-bit unsigned integer field 1464 containing a sequence number, 1465 generated by the message originator. 1467 TLV Block - TLVs Length - 9 + optional TLVs. 1468 MAC Address TLV (MANDATORY) 1469 Maximum Data Rate TLV (OPTIONAL) 1470 Current Data Rate TLV (OPTIONAL) 1471 Latency TLV (OPTIONAL) 1472 Resources TLV (OPTIONAL) 1473 Relative Link Quality TLV (OPTIONAL) 1475 20. Neighbor Address Update Message 1477 The client sends the Neighbor Address Update message when a change 1478 in Layer 3 addressing is detected for a routing neighbor. 1480 The Neighbor Address Update Message contains the following fields: 1482 0 1 2 3 1483 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 1484 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1485 | Msg Type |Msg Flg|AddrLen| Message Size | 1486 | = TBD | 0x1 | 0x3 | 17 + opt TLVs | 1487 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1488 | Message Seq Num | TLVs Length = 9 + opt TLVs | 1489 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1490 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1491 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1492 | MAC Address | 1493 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1494 | MAC Address |TLV Type =TBD |TLV Flags=0x10 |Length = 5 | 1495 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1496 | Add/Drop Ind. | IPv4 Address | 1497 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1498 |IPv4 Address |TLV Type =TBD |TLV Flags=0x10 |Length = 17 | 1499 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1500 | Add/Drop Ind. | IPv6 Address | 1501 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1502 | IPv6 Address | 1503 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1504 | IPv6 Address | 1505 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1506 | IPv6 Address | 1507 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1509 Neighbor Address Update 1510 Message Type - TBD 1512 Message Flags - Set to 0x1 (bit 3, mhasseqnum 1513 bit is set). All other bits are 1514 unused and MUST be set to '0'. 1516 Message Address Length - 0x3 1517 Message Size - 17 + optional TLVs 1519 Message Sequence Number - A 16-bit unsigned integer field 1520 containing a sequence number, 1521 generated by the message originator. 1523 TLV Block - TLVs Length - 9 + optional TLVs. 1524 MAC Address TLV (MANDATORY) 1525 IPv4 Address TLV (OPTIONAL) 1526 IPv6 Address TLV (OPTIONAL) 1528 21. Neighbor Address Update ACK Message 1530 The router sends the Neighbor Address Update ACK Message to 1531 indicate whether a Neighbor Address Update Message was 1532 successfully processed. 1534 The Neighbor Address Update ACK message contains the following 1535 fields: 1537 0 1 2 3 1538 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 1539 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1540 | Msg Type |Msg Flg|AddrLen| Message Size | 1541 | = TBD | 0x1 | 0x3 | 21 | 1542 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1543 | Message Seq Num | TLVs Length = 13 | 1544 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1545 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1546 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1547 | MAC Address | 1548 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1549 | MAC Address |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | 1550 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1551 | Code | 1552 +-+-+-+-+-+-+-+-+ 1554 Neighbor Address Update 1555 ACK Message Type - TBD 1557 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1558 is set). All other bits are unused and 1559 MUST be set to '0'. 1561 Message Address Length - 0x3 1563 Message Size - 21 1565 Message Sequence Number - A 16-bit unsigned integer field containing 1566 the sequence number from the Neighbor Down 1567 Message that is being acknowledged. 1569 TLV Block - TLV Length: 13 1570 MAC Address TLV (MANDATORY) 1571 Status TLV (MANDATORY) 1573 22. Heartbeat Message 1575 A Heartbeat Message is sent by a peer every N seconds, where N is 1576 defined in the "Heartbeat Interval" field of the discovery message. 1577 The message is used by peers to detect when a DLEP session partner 1578 is no longer communicating. Peers SHOULD allow some integral number 1579 of heartbeat intervals (default 4) to expire with no traffic on the 1580 session before initiating DLEP session termination procedures. 1582 The Heartbeat Message contains the following fields: 1584 0 1 2 3 1585 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 1586 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1587 | Msg Type |Msg Flg|AddrLen| Message Size = 8 | 1588 | = TBD | 0x1 | 0x3 | | 1589 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1590 | Message Seq Num | TLVs Length = 0 | 1591 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1593 Message Type - TBD 1595 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is 1596 set). All other bits are unused and SHOULD 1597 be set to '0'. 1599 Message Address Length - 0x3 1601 Message Size - 8 1603 Message Sequence Number - A 16-bit unsigned integer field containing 1604 a sequence number generated by the message 1605 originator. 1606 TLV Block - TLV Length = 0 1608 23. Link Characteristics Request Message 1610 The Link Characteristics Request Message is sent by the router to 1611 the modem device when the router detects that a different set of 1612 transmission characteristics is necessary (or desired) for the 1613 type of traffic that is flowing on the link. The request contains 1614 either a Current Data Rate (CDR) TLV to request a different 1615 amount of bandwidth than what is currently allocated, a Latency 1616 TLV to request that traffic delay on the link not exceed the 1617 specified value, or both. A Link Characteristics ACK Message is 1618 required to complete the request. Implementations are free to 1619 define their retry heuristics in event of a timeout. Issuing a 1620 Link Characteristics Request with ONLY the MAC Address TLV is a 1621 mechanism a peer MAY use to request metrics (via the Link 1622 Characteristics ACK) from its partner. 1624 The Link Characteristics Request Message contains the following 1625 fields: 1627 0 1 2 3 1628 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 1629 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1630 | Msg Type |Msg Flg|AddrLen| Message Size = 8 + Length | 1631 | = TBD | 0x1 | 0x3 | of optional TLVs | 1632 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1633 | Message Seq Num | TLVs Length = | 1634 | | 9 + Optional TLVs | 1635 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1636 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1637 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1638 | MAC Address | 1639 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1640 | MAC Address |TLV Type =TBD |TLV Flags=0x10 |Length = 8 | 1641 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1642 | CDR (bps) | 1643 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1644 | CDR (bps) | 1645 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1646 |TLV Type = TBD |TLV Flags=0x10 |Length = 2 | Latency (ms) | 1647 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1648 | Latency (ms) | 1649 +-+-+-+-+-+-+-+-+ 1651 Message Type - TBD 1653 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1654 is set). All other bits are unused and 1655 MUST be set to '0'. 1657 Message Address Length - 0x3 1659 Message Size - 8 + length of optional (Current Data 1660 Rate and/or Latency) TLVs 1662 Message Sequence Number - A 16-bit unsigned integer field containing 1663 a sequence number generated by the message 1664 originator. 1666 TLV Block - TLVs Length 1668 MAC Address TLV (MANDATORY) 1670 Current Data Rate TLV - if present, this 1671 value represents the requested data rate 1672 in bits per second (bps). (OPTIONAL) 1673 Latency TLV - if present, this value 1674 represents the maximum latency, in 1675 milliseconds, desired on the link. 1676 (OPTIONAL) 1678 24. Link Characteristics ACK Message 1680 The Link Characteristics ACK Message is sent by the client to the 1681 router letting the router know the success (or failure) of the 1682 requested change in link characteristics. The Link Characteristics 1683 ACK message SHOULD contain a complete set of metric TLVs. It MUST 1684 contain the same TLV types as the request. The values in the 1685 metric TLVs in the Link Characteristics ACK message MUST reflect 1686 the link characteristics after the request has been processed. 1688 The Link Characteristics ACK Message contains the following fields: 1690 0 1 2 3 1691 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 1692 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1693 | Msg Type |Msg Flg|AddrLen| Message Size = 8 + Length | 1694 | = TBD | 0x1 | 0x3 | of additional TLVs | 1695 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1696 | Message Seq Num | TLVs Length = 9 + optional | 1697 | | TLVs | 1698 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1699 |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address | 1700 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1701 | MAC Address | 1702 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1703 | MAC Address |TLV Type =TBD |TLV Flags=0x10 |Length = 8 | 1704 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1705 | MDR (bps) | 1706 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1707 | MDR (bps) | 1708 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1709 |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | CDR (bps) | 1710 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1711 | CDR (bps) | 1712 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1713 | CDR (bps) |TLV Type = TBD | 1714 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1715 |TLV Flags=0x10 |Length = 2 | Latency (ms) | 1716 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1717 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | Resources | 1718 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1719 |TLV Type = TBD |TLV Flags=0x10 | Length = 1 | RLQ | 1720 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 1722 Message Type - TBD 1723 Message Flags - Set to 0x1 (bit 3, mhasseqnum bit 1724 is set). All other bits are unused and 1725 MUST be set to '0'. 1727 Message Address Length - 0x3 1729 Message Size - 8 + length of optional (Current Data 1730 Rate and/or Latency) TLVs 1732 Message Sequence Number - A 16-bit unsigned integer field containing 1733 the sequence number that appeared on the 1734 corresponding Link Characteristics Request 1735 message. 1737 TLV Block - TLVs Length = 9 + Optional TLVs 1739 MAC Address TLV (MANDATORY) 1741 Maximum Data Rate TLV (OPTIONAL) 1743 Current Data Rate TLV - if present, this 1744 value represents the NEW (or unchanged, 1745 if the request is denied) Current Data 1746 Rate in bits per second (bps). (OPTIONAL) 1748 Latency TLV - if present, this value 1749 represents the NEW maximum latency (or 1750 unchanged, if the request is denied), 1751 expressed in milliseconds, on the link. 1752 (OPTIONAL) 1754 Resources TLV (OPTIONAL) 1756 Relative Link Quality TLV (OPTIONAL) 1758 25. Security Considerations 1760 The protocol does not contain any mechanisms for security (e.g. 1761 authentication or encryption). The protocol assumes that any 1762 security would be implemented in the underlying transport (for 1763 example, by use of DTLS or some other mechanism), and is 1764 therefore outside the scope of this document. 1766 26. IANA Considerations 1768 This section specifies requests to IANA. 1770 26.1 TLV Registrations 1772 This specification defines: 1774 o Twelve TLV types which must be allocated from the 0-223 range 1775 of the "Assigned Packet TLV Types" repository of [RFC5444]. 1777 o Seventeen Message types which must be allocated from the 0-127 1778 range of the "Assigning Message TLV Types" repository of 1779 [RFC5444]. 1781 26.2 Expert Review: Evaluation Guidelines 1783 For the registries for TLV type extensions where an Expert Review is 1784 required, the designated expert SHOULD take the same general 1785 recommendations into consideration as are specified by [RFC5444]. 1787 26.3 Packet TLV Type Registrations 1789 The Packet TLVs specified below must be allocated from the "Packet 1790 TLV Types" namespace of [RFC5444]. 1792 o Identification TLV 1793 o DLEP Version TLV 1794 o Peer Type TLV 1795 o MAC Address TLV 1796 o IPv4 Address TLV 1797 o IPv6 Address TLV 1798 o Maximum Data Rate TLV 1799 o Current Data Rate TLV 1800 o Latency TLV 1801 o Resources TLV 1802 o Relative Link Quality TLV 1803 o Status TLV 1805 26.4 Message TLV Type Registrations 1807 The Message TLVs specified below must be allocated from the 1808 "Message TLV Types" namespace of [RFC5444]. 1810 o Attached Peer Discovery Message 1811 o Detached Peer Discovery Message 1812 o Peer Offer Message 1813 o Peer Update Message 1814 o Peer Update ACK Message 1815 o Peer Termination Message 1816 o Peer Termination ACK Message 1817 o Neighbor Up Message 1818 o Neighbor Up ACK Message 1819 o Neighbor Down Message 1820 o Neighbor Down ACK Message 1821 o Neighbor Update Message 1822 o Neighbor Address Update Message 1823 o Neighbor Address Update ACK Message 1824 o Heartbeat Message 1825 o Link Characteristics Request Message 1826 o Link Characteristics ACK Message 1828 27. Appendix A. 1830 Peer Level Message Flows 1832 *Modem Device (Client) Restarts Discovery 1834 Router Client Message Description 1835 ==================================================================== 1837 <-------Peer Discovery--------- Modem initiates discovery 1839 ---------Peer Offer-----------> Router detects a problem, sends 1840 w/ Non-zero Status TLV Peer Offer w/ Status TLV indicating 1841 the error. 1843 Modem accepts failure, restarts 1844 discovery process. 1846 <-------Peer Discovery--------- Modem initiates discovery 1848 ---------Peer Offer-----------> Router accepts, sends Peer Offer 1849 w/ Zero Status TLV w/ Status TLV indicating success. 1851 Discovery completed. 1853 *Modem Device Detects Peer Offer Timeout 1855 Router Client Message Description 1856 ==================================================================== 1858 <-------Peer Discovery--------- Modem initiates discovery, 1859 starts a guard timer. 1861 Modem guard timer expires. 1862 Modem restarts discovery process. 1864 <-------Peer Discovery--------- Modem initiates discovery, 1865 starts a guard timer. 1867 ---------Peer Offer-----------> Router accepts, sends Peer Offer 1868 w/ Zero Status TLV w/ Status TLV indicating success. 1870 Discovery completed. 1872 *Router Peer Offer Lost 1874 Router Client Message Description 1875 ==================================================================== 1877 <-------Peer Discovery--------- Modem initiates discovery, 1878 starts a guard timer. 1880 ---------Peer Offer-------|| Router offers availability 1882 Modem times out on Peer Offer, 1883 restarts discovery process. 1885 <-------Peer Discovery--------- Modem initiates discovery 1887 ---------Peer Offer-----------> Router detects subsequent discovery, 1888 internally terminates the previous, 1889 accepts the new association, sends 1890 Peer Offer w/ Status TLV indicating 1891 success. 1893 Discovery completed. 1895 *Discovery Success 1897 Router Client Message Description 1898 ==================================================================== 1900 <-------Peer Discovery--------- Modem initiates discovery 1902 ---------Peer Offer-----------> Router offers availability 1904 -------Peer Heartbeat---------> 1906 <-------Peer Heartbeat--------- 1908 -------Peer Heartbeat---------> 1910 <==============================> Neighbor Sessions 1912 <-------Peer Heartbeat--------- 1914 -------Peer Heartbeat---------> 1916 --------Peer Term Req---------> Terminate Request 1918 <--------Peer Term Res--------- Terminate Response 1920 *Router Detects a Heartbeat timeout 1922 Router Client Message Description 1923 ==================================================================== 1925 <-------Peer Heartbeat--------- 1927 -------Peer Heartbeat---------> 1929 ||---Peer Heartbeat--------- 1931 ~ ~ ~ ~ ~ ~ ~ 1933 -------Peer Heartbeat---------> 1935 ||---Peer Heartbeat--------- 1936 Router Heartbeat Timer expires, 1937 detects missing heartbeats. Router 1938 takes down all neighbor sessions 1939 and terminates the Peer association. 1941 ------Peer Terminate ---------> Peer Terminate Request 1943 Modem takes down all neighbor 1944 sessions, then acknowledges the 1945 Peer Terminate 1947 <----Peer Terminate ACK--------- Peer Terminate ACK 1949 *Modem Detects a Heartbeat timeout 1951 Router Client Message Description 1952 ==================================================================== 1954 <-------Peer Heartbeat--------- 1956 -------Peer Heartbeat------|| 1958 <-------Peer Heartbeat--------- 1960 ~ ~ ~ ~ ~ ~ ~ 1962 -------Peer Heartbeat------|| 1964 <-------Peer Heartbeat--------- 1965 Modem Heartbeat Timer expires, 1966 detects missing heartbeats. Modem 1967 takes down all neighbor sessions 1968 and terminates the Peer association. 1970 <-------Peer Terminate-------- Peer Terminate Request 1972 Router takes down all neighbor 1973 sessions, then acknowledges the 1974 Peer Terminate 1976 ------Peer Terminate ACK-----> Peer Terminate ACK 1978 *Peer Terminate (from Modem) Lost 1980 Router Client Message Description 1981 ==================================================================== 1983 ||------Peer Terminate-------- Modem Peer Terminate Request 1985 Router Heartbeat times out, 1986 terminates association. 1988 --------Peer Terminate-------> Router Peer Terminate 1990 <-----Peer Terminate ACK------ Modem sends Peer Terminate ACK 1992 *Peer Terminate (from router) Lost 1994 Router Client Message Description 1995 ==================================================================== 1997 -------Peer Terminate--------> Router Peer Terminate Request 1999 Modem HB times out, 2000 terminates association. 2002 <------Peer Terminate-------- Modem Peer Terminate 2004 ------Peer Terminate ACK-----> Peer Terminate ACK 2006 Neighbor Level Message Flows 2008 *Modem Neighbor Up Lost 2010 Router Client Message Description 2011 ==================================================================== 2013 ||-----Neighbor Up ------------ Modem sends Neighbor Up 2015 Modem timesout on ACK 2017 <------Neighbor Up ------------ Modem sends Neighbor Up 2019 ------Neighbor Up ACK---------> Router accepts the neighbor 2020 session 2022 <------Neighbor Update--------- Modem Neighbor Metrics 2023 . . . . . . . . 2024 <------Neighbor Update--------- Modem Neighbor Metrics 2026 *Router Detects Duplicate Neighbor Ups 2028 Router Client Message Description 2029 ==================================================================== 2031 <------Neighbor Up ------------ Modem sends Neighbor Up 2033 ------Neighbor Up ACK-------|| Router accepts the neighbor 2034 session 2036 Modem timesout on ACK 2038 <------Neighbor Up ------------ Modem resends Neighbor Up 2040 Router detects duplicate 2041 Neighbor, takes down the 2042 previous, accepts the new 2043 Neighbor. 2045 ------Neighbor Up ACK---------> Router accepts the neighbor 2046 session 2048 <------Neighbor Update--------- Modem Neighbor Metrics 2049 . . . . . . . . 2050 <------Neighbor Update--------- Modem Neighbor Metrics 2052 *Neighbor Up, No Layer 3 Addresses 2054 Router Client Message Description 2055 ==================================================================== 2057 <------Neighbor Up ------------ Modem sends Neighbor Up 2059 ------Neighbor Up ACK---------> Router accepts the neighbor 2060 session 2062 Router ARPs for IPv4 if defined. 2063 Router drives ND for IPv6 if 2064 defined. 2066 <------Neighbor Update--------- Modem Neighbor Metrics 2067 . . . . . . . . 2068 <------Neighbor Update--------- Modem Neighbor Metrics 2070 *Neighbor Up with IPv4, No IPv6 2072 Router Client Message Description 2073 ==================================================================== 2075 <------Neighbor Up ------------ Modem sends Neighbor Up with 2076 the IPv4 TLV 2078 ------Neighbor Up ACK---------> Router accepts the neighbor 2079 session 2081 Router drives ND for IPv6 if 2082 defined. 2084 <------Neighbor Update--------- Modem Neighbor Metrics 2085 . . . . . . . . 2086 <------Neighbor Update--------- Modem Neighbor Metrics 2088 *Neighbor Up with IPv4 and IPv6 2090 Router Client Message Description 2091 ==================================================================== 2093 <------Neighbor Up ------------ Modem sends Neighbor Up with 2094 the IPv4 and IPv6 TLVs 2096 ------Neighbor Up ACK---------> Router accepts the neighbor 2097 session 2099 <------Neighbor Update--------- Modem Neighbor Metrics 2100 . . . . . . . . 2101 <------Neighbor Update--------- Modem Neighbor Metrics 2103 *Neighbor Session Success 2105 Router Client Message Description 2106 ==================================================================== 2108 ---------Peer Offer-----------> Router offers availability 2110 -------Peer Heartbeat---------> 2112 <------Neighbor Up ----------- Modem 2114 ------Neighbor Up ACK--------> Router 2116 <------Neighbor Update--------- Modem 2117 . . . . . . . . 2118 <------Neighbor Update--------- Modem 2120 Modem initiates the terminate 2122 <------Neighbor Down ---------- Modem 2124 ------Neighbor Down ACK-------> Router 2126 or 2128 Router initiates the terminate 2130 ------Neighbor Down ----------> Router 2132 <------Neighbor Down ACK------- Modem 2134 Acknowledgements 2136 The authors would like to acknowledge the influence and contributions 2137 of Chris Olsen and Teco Boot. 2139 Normative References 2141 [RFC5444] Clausen, T., Ed,. "Generalized Mobile Ad Hoc Network (MANET) 2142 Packet/Message Format", RFC 5444, Februar, 2009. 2144 [RFC5578] Berry, B., Ed., "PPPoE with Credit Flow and Metrics", 2145 RFC 5578, February 2010. 2147 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 2148 Requirement Levels", RFC 2119, March 1997. 2150 Informative References 2152 [DTLS] Rescorla, E., Ed,. "Datagram Transport Layer Security", 2153 RFC 4347, April 2006. 2155 An open source (MIT License) DLEP implementation is available at 2156 http://sourceforge.net/projects/dleptools 2158 Author's Addresses 2160 Stan Ratliff 2161 Cisco 2162 170 West Tasman Drive 2163 San Jose, CA 95134 2164 USA 2165 EMail: sratliff@cisco.com 2167 Bo Berry 2168 Cisco 2169 170 West Tasman Drive 2170 San Jose, CA 95134 2171 USA 2172 EMail: boberry@cisco.com 2174 Greg Harrison 2175 Cisco 2176 170 West Tasman Drive 2177 San Jose, CA 95134 2178 USA 2179 EMail: greharri@cisco.com 2181 Shawn Jury 2182 Cisco 2183 170 West Tasman Drive 2184 San Jose, CA 95134 2185 USA 2186 Email: sjury@cisco.com 2188 Darryl Satterwhite 2189 Cisco 2190 170 West Tasman Drive 2191 San Jose, CA 95134 2192 USA 2193 Email: dsatterw@cisco.com