draft-ietf-manet-dlep-01.txt   draft-ietf-manet-dlep-02.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 S. Jury Intended status: Standards Track D. Satterwhite
Expires: November 2, 2011 D. Satterwhite Expires: August 10, 2012 Cisco Systems
Cisco Systems S. Jury
May 2, 2011 NetApp
February 6, 2012
Dynamic Link Exchange Protocol (DLEP) Dynamic Link Exchange Protocol (DLEP)
draft-ietf-manet-dlep-01 draft-ietf-manet-dlep-02
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 46 skipping to change at page 1, line 47
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 November 2, 2011 . This Internet-Draft will expire on August 10, 2012 .
Copyright Notice Copyright Notice
Copyright (c) 2010 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 BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 5 1.1 Requirements . . . . . . . . . . . . . . . . . . . . . . . 6
2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 5 2. Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . 5 3. Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Generic DLEP Packet Definition . . . . . . . . . . . . . . . . 6 4. Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Message Header Format . . . . . . . . . . . . . . . . . . . . 7 5. Extensions to DLEP . . . . . . . . . . . . . . . . . . . . . . 8
6. Message TLV Block Format . . . . . . . . . . . . . . . . . . . 7 6. Normal Session Flow . . . . . . . . . . . . . . . . . . . . . 8
7. DLEP Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Generic DLEP Packet Definition . . . . . . . . . . . . . . . . 9
7.1. Identification Sub-TLV . . . . . . . . . . . . . . . . . . 9 8. Message Header Format . . . . . . . . . . . . . . . . . . . . 10
7.2. DLEP Version Sub-TLV . . . . . . . . . . . . . . . . . . . 10 9. Message TLV Block Format . . . . . . . . . . . . . . . . . . . 10
7.3. Peer Type Sub-TLV . . . . . . . . . . . . . . . . . . . . 11 10. DLEP Sub-TLVs . . . . . . . . . . . . . . . . . . . . . . . . 11
7.4. MAC Address Sub-TLV . . . . . . . . . . . . . . . . . . . 11 10.1. Identification Sub-TLV. . . . . . . . . . . . . . . . . . 12
7.5. IPv4 Address Sub-TLV . . . . . . . . . . . . . . . . . . . 12 10.2. DLEP Version Sub-TLV. . . . . . . . . . . . . . . . . . . 13
7.6. IPv6 Address Sub-TLV . . . . . . . . . . . . . . . . . . . 12 10.3. Peer Type Sub-TLV . . . . . . . . . . . . . . . . . . . . 14
7.7. Maximum Data Rate Sub-TLV. . . . . . . . . . . . . . . . . 13 10.4. MAC Address Sub-TLV . . . . . . . . . . . . . . . . . . . 14
7.8. Current Data Rate Sub-TLV. . . . . . . . . . . . . . . . . 14 10.5. IPv4 Address Sub-TLV. . . . . . . . . . . . . . . . . . . 15
7.9. Latency Sub-TLV. . . . . . . . . . . . . . . . . . . . . . 14 10.6. IPv6 Address Sub-TLV. . . . . . . . . . . . . . . . . . . 16
7.10. Resources Sub-TLV. . . . . . . . . . . . . . . . . . . . . 15 10.7. Maximum Data Rate Sub-TLV . . . . . . . . . . . . . . . . 16
7.11. Relative Link Quality Sub-TLV. . . . . . . . . . . . . . . 16 10.8. Current Data Rate Sub-TLV . . . . . . . . . . . . . . . . 17
7.12. Peer Termination Sub-TLV . . . . . . . . . . . . . . . . . 16 10.9. Latency Sub-TLV . . . . . . . . . . . . . . . . . . . . . 18
7.13 Heartbeat Interval Sub-TLV . . . . . . . . . . . . . . . . 17 10.10. Resources Sub-TLV . . . . . . . . . . . . . . . . . . . . 18
7.14 Heartbeat Threshold Sub-TLV. . . . . . . . . . . . . . . . 17 10.11. Expected Forwarding Time Sub-TLV. . . . . . . . . . . . . 19
7.15 Link Characteristics ACK Timer Sub-TLV . . . . . . . . . . 18 10.12. Relative Link Quality Sub-TLV . . . . . . . . . . . . . . 20
8. DLEP Protocol Messages . . . . . . . . . . . . . . . . . . . . 19 10.13. Peer Termination Sub-TLV. . . . . . . . . . . . . . . . . 20
8.1. Message Block TLV Values . . . . . . . . . . . . . . . . . 19 10.14. Heartbeat Interval Sub-TLV. . . . . . . . . . . . . . . . 21
9. Peer Discovery Messages . . . . . . . . . . . . . . . . . . . 20 10.15. Heartbeat Threshold Sub-TLV . . . . . . . . . . . . . . . 21
9.1. Attached Peer Discovery Message . . . . . . . . . . . . . 20 10.16. Link Characteristics ACK Timer Sub-TLV. . . . . . . . . . 22
9.2. Detached Peer Discovery Message . . . . . . . . . . . . . 22 10.17. Credit Window Status Sub-TLV. . . . . . . . . . . . . . . 23
10. Peer Offer Message . . . . . . . . . . . . . . . . . . . . . . 23 10.18. Credit Grant Sub-TLV. . . . . . . . . . . . . . . . . . . 24
11. Peer Update Message. . . . . . . . . . . . . . . . . . . . . . 25 10.19. Credit Request Sub-TLV. . . . . . . . . . . . . . . . . . 24
12. Peer Update ACK Message. . . . . . . . . . . . . . . . . . . . 27 11. DLEP Protocol Messages . . . . . . . . . . . . . . . . . . . 25
13. Peer Termination Message . . . . . . . . . . . . . . . . . . . 27 11.1. Message Block TLV Values . . . . . . . . . . . . . . . . 25
14. Peer Termination ACK Message . . . . . . . . . . . . . . . . . 28 12. Peer Discovery Messages . . . . . . . . . . . . . . . . . . . 26
15. Neighbor Up Message . . . . . . . . . . . . . . . . . . . . . 29 12.1. Attached Peer Discovery Message . . . . . . . . . . . . . 26
16. Neighbor Up ACK Message. . . . . . . . . . . . . . . . . . . . 31 12.2. Detached Peer Discovery Message . . . . . . . . . . . . . 27
17. Neighbor Down Message . . . . . . . . . . . . . . . . . . . . 32 13. Peer Offer Message . . . . . . . . . . . . . . . . . . . . . . 29
18. Neighbor Down ACK Message. . . . . . . . . . . . . . . . . . . 33 14. Peer Update Message. . . . . . . . . . . . . . . . . . . . . . 30
19. Neighbor Update Message . . . . . . . . . . . . . . . . . . . 35 15. Peer Update ACK Message. . . . . . . . . . . . . . . . . . . . 31
20. Neighbor Address Update Message. . . . . . . . . . . . . . . . 36 16. Peer Termination Message . . . . . . . . . . . . . . . . . . . 32
21. Neighbor Address Update ACK Message. . . . . . . . . . . . . . 38 17. Peer Termination ACK Message . . . . . . . . . . . . . . . . . 33
22. Heartbeat Message . . . . . . . . . . . . . . . . . . . . . . 39 18. Neighbor Up Message . . . . . . . . . . . . . . . . . . . . . 33
23. Link Characteristics Message . . . . . . . . . . . . . . . . . 39 19. Neighbor Up ACK Message. . . . . . . . . . . . . . . . . . . . 35
24. Link Characteristics ACK Message . . . . . . . . . . . . . . . 41 20. Neighbor Down Message . . . . . . . . . . . . . . . . . . . . 35
25. Security Considerations. . . . . . . . . . . . . . . . . . . . 42 21. Neighbor Down ACK Message. . . . . . . . . . . . . . . . . . . 36
26. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 42 22. Neighbor Update Message . . . . . . . . . . . . . . . . . . . 37
26.1 TLV Registrations. . . . . . . . . . . . . . . . . . . . . 43 23. Neighbor Address Update Message. . . . . . . . . . . . . . . . 38
26.2 Expert Review: Evaluation Guidelines . . . . . . . . . . . 43 24. Neighbor Address Update ACK Message. . . . . . . . . . . . . . 39
26.3 Message TLV Type Registrations . . . . . . . . . . . . . . 43 25. Heartbeat Message . . . . . . . . . . . . . . . . . . . . . . 40
26.4 DLEP Order Registrations . . . . . . . . . . . . . . . . . 43 26. Link Characteristics Message . . . . . . . . . . . . . . . . . 40
26.5 DLEP Sub-TLV Type Registrations. . . . . . . . . . . . . . 44 27. Link Characteristics ACK Message . . . . . . . . . . . . . . . 42
27. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . 45 28. Security Considerations. . . . . . . . . . . . . . . . . . . . 43
29. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 43
29.1 TLV Registrations. . . . . . . . . . . . . . . . . . . . . 43
29.2 Expert Review: Evaluation Guidelines . . . . . . . . . . . 43
29.3 Message TLV Type Registrations . . . . . . . . . . . . . . 43
29.4 DLEP Order Registrations . . . . . . . . . . . . . . . . . 44
29.5 DLEP Sub-TLV Type Registrations. . . . . . . . . . . . . . 44
30. Appendix A . . . . . . . . . . . . . . . . . . . . . . . . . . 45
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 bandwidth and quality. Examples of these types of links
include line-of-sight (LOS) radios, satellite terminals, and cable/ include line-of-sight (LOS) radios, satellite terminals, and cable/
DSL modems. Fluctuations in speed and quality of these links can DSL modems. Fluctuations in speed and quality of these links can
occur due to configuration (in the case of cable/DSL modems), or on a occur due to configuration (in the case of cable/DSL modems), or on a
moment-to-moment basis, due to physical phenomena like multipath 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
skipping to change at page 4, line 19 skipping to change at page 4, line 25
unless the network devices emit traffic at rate higher than the unless the network devices emit traffic at rate higher than the
currently established rate. Increasing the traffic rate does not currently established rate. Increasing the traffic rate does not
guarantee additional bandwidth will be allocated; rather, it may guarantee additional bandwidth 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.
In attempting to address the challenges listed above, the authors In attempting to address the challenges listed above, the authors
have developed the Data Link Exchange Protocol, or DLEP. The DLEP have developed the Data Link Exchange Protocol, or DLEP. The DLEP
protocol runs between a router and its attached modem devices, protocol runs between a router and its attached modem devices,
allowing the modem to communicate link characteristics as they allowing the modem to communicate link characteristics as they
change, and convergence events (acquisition and loss of potential change, and convergence events (acquisition and loss of potential
routing neighbors). The diagram below is used to illustrate the routing neighbors). The following diagrams are used to illustrate
scope of DLEP sessions. When a local client (Modem device) the scope of DLEP sessions.
detects the presence of a remote neighbor, it sends an indication
to its local router via the DLEP session. Upon receipt of the
indication, the local router would take appropriate action (e.g.
initiation of discovery or HELLO protocols) to converge the
network. After notification of the new neighbor, the modem device
utilizes the DLEP session to report the characteristics of the
link (bandwidth, latency, etc) to the router on an as-needed
basis. Finally, the Modem is able to use the DLEP session to
notify the router when the remote neighbor is lost, shortening
the time required to re-converge the network.
|-----Local Neighbor-----| |-----Remote Neighbor----| |-----Local Neighbor-----| |-----Remote Neighbor----|
| | | (far-end device) | | | | (far-end device) |
+--------+ +-------+ +-------+ +--------+ +--------+ +-------+ +-------+ +--------+
| Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router | | Router |=======| Modem |{~~~~~~~~}| Modem |=======| Router |
| | | Device| | Device| | | | | | Device| | Device| | |
+--------+ +-------+ +-------+ +--------+ +--------+ +-------+ +-------+ +--------+
| | | Link | | | | | | Link | | |
|-DLEP--| | Protocol | |-DLEP--| |-DLEP--| | Protocol | |-DLEP--|
| | | (e.g. | | | | | | (e.g. | | |
| | | 802.11) | | | | | | 802.11) | | |
Figure 1: DLEP Network Figure 1: DLEP Network
In Figure 1, when a local client (Modem device) detects the
presence of a remote neighbor, it sends an indication to its
local router via the DLEP session. Upon receipt of the indication,
the local router would take appropriate action (e.g. initiation
of discovery or HELLO protocols) to converge the network. After
notification of the new neighbor, the modem device utilizes the
DLEP session to report the characteristics of the link (bandwidth,
latency, etc) to the router on an as-needed basis.
DLEP is independent of the underlying link type and topology.
Figure 2 shows how DLEP can support a configuration whereby
routers are connected with different link types and with different
network configurations. In this setup, the routers are connected
with two different devices (Modem device A and Modem device B).
Modem A is connected via a point-to-point link, whereas Modem B
is connected via a shared medium. In both cases, the DLEP session
is used to report the characteristics of the link (bandwidth,
latency, etc.) to network neighbors on an as-needed basis. The
modem is also able to use the DLEP session to notify the router
when the remote neighbor is lost, shortening the time required to
re-converge the network.
+--------+ +--------+ +------+ Modem A| | Modem A+-----+ | | Device | <===== // ======> | Device | | | +--------+ P-t-P Link +--------+ | | Protocol | +---+----+ +---+----+ | Router | | Router | | | | | +---+----+ +---+----+ | + | +--------+ +--------+ | +------+ Modem B| | Modem B| | | Device | o o o o o o o o | Device +-----+ +--------+ o Shared o +--------+ o Medium o o o o o o o o +--------+ | Modem B| | Device | +---+----+ | | +---+----+ | Router | | | +--------+ Figure 2: DLEP Network with Multiple Modem Devices
DLEP exists as a collection of type-length-value (TLV) based messages DLEP exists as a collection of type-length-value (TLV) based messages
using [RFC5444] formatting. The protocol can be used for both Ethernet using [RFC5444] formatting. The protocol can be used for both Ethernet
attached modems (utilizing, for example, a UDP socket for transport attached modems (utilizing, for example, a UDP socket for transport
of the RFC 5444 packets), or in environments where the modem is an of the RFC 5444 packets), or in environments where the modem is an
interface card in a chassis (via a message passing scheme). DLEP interface card in a chassis (via a message passing scheme). DLEP
utilizes a session paradigm between the modem device and its utilizes a session paradigm between the modem device and its
associated router. If multiple modem devices are attached to a associated router. If multiple modem devices are attached to a
router, a separate DLEP session MUST exist for each modem. If a modem router (as in FIgure 2), a separate DLEP session MUST exist for each
device supports multiple connections to a router (via multiple modem. If a modem device supports multiple connections to a router
interfaces), or supports connections to multiple routers, a separate (via multiple logical or physical interfaces), or supports
DLEP session MUST exist for each connection. connections to multiple routers, a separate DLEP session MUST exist
for each connection.
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
In order to implement discovery in the DLEP protocol (thereby In order to implement discovery in the DLEP protocol (thereby
avoiding some configuration), we have defined a first-speaker and a avoiding some configuration), we have defined a first-speaker and a
passive-listener scheme. Specifically, the router is defined as the passive-listener scheme. Borrowing from existing terminology, this
passive-listener, and the modem device defined as the first-speaker document refers to the first-speaker as the 'client', and the passive
(e.g. the initiator for discovery). Borrowing from existing listener as the 'server', even though there is no client/server
terminology, this document refers to the first-speaker as the relationship in the classic sense. In a typical deployment, a router
'client', even though there is no client/server relationship in the would appear as the DLEP 'server', and an attached modem device would
classic sense. act as the 'client' (e.g. the initiator for discovery).
DLEP assumes that participating modem devices appear to the router DLEP assumes that participating clients appear to the server as a
as a transparent bridge - specifically, the assumption is that the transparent bridge - specifically, the assumption is that the
destination MAC address for data traffic in any frame emitted by destination MAC address for data traffic in any frame emitted by
the router should be the MAC address of the next-hop router or end- the server should be the MAC address of the next-hop router or end-
device, and not the MAC address of any of the intervening modem device, and not the MAC address of any of the intervening clients.
devices.
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 for the RFC 5444 packets (e.g. by the underlying transport mechanism for the RFC 5444 packets (e.g. by
using a transport such as DTLS [DTLS]). using a transport such as DTLS [DTLS]).
DLEP utilizes a session-oriented paradigm. There are two classes
of sessions - the first is identified as a 'peer session'. The
peer session exists between a DLEP server and a DLEP client. All
DLEP messages between client and server are transmitted within the
context of the peer session.
The other type of DLEP session is referred to as a 'neighbor session'.
Neighbor sessions can be instantiated by either the DLEP server or
client, and represent an identifiable destination (i.e. an address)
within the network. Examples of a destination would be a unicast
address (for either a next-hop router, or for an end-station), or
a multicast address. A DLEP neighbor session MUST exist for every
destination that exists in the network.
The optional [RFC5444] message header Sequence Number MUST be The optional [RFC5444] message header Sequence Number MUST be
included in all DLEP packets. Sequence Numbers start at 1 and are included in all DLEP packets. Sequence Numbers start at 1 and are
incremented by one for each original and retransmitted message. The incremented by one for each original and retransmitted message. The
unsigned 16-bit Sequence Number rolls over at 65535 to 1. A unsigned 16-bit Sequence Number rolls over at 65535 to 1. A
Sequence Number of 0 is not valid. Peer level Sequence Numbers are Sequence Number of 0 is not valid. Sequence Numbers are unique
unique within the context of a DLEP session. Sequence numbers are within the context of a DLEP session. Sequence numbers are used in
used in DLEP to correlate a response to a request. DLEP to correlate a response to a request.
3. Normal Session Flow 3. Credits
A session between a router and a client is established by exchanging DLEP includes an OPTIONAL credit-windowing scheme analogous to the
one documented in [RFC5578]. In this scheme, traffic between the
DLEP client and the DLEP server is treated as two unidirectional
windows. This document identifies these windows as the "Client
Receive Window", or CRW, and the "Server Receive Window", or SRW.
If credits are used, they MUST be granted by the receiver on a
given window - that is, on the "Client Receive Window" (CRW),
the DLEP client is responsible for granting credits to the server,
allowing it (the server) to send data to the client. Likewise,
the DLEP server is responsible for granting credits on the SRW,
which allows the client to send data to the server.
DLEP expresses all credit data in number of octets. The total number
of credits on a window, and the increment to add to a grant, are
always expressed as a 64-bit unsigned quantity.
If used, credits are managed on a neighbor session basis; that is,
separate credit counts are maintained for each neighbor session
requiring the service. Credits do not apply to DLEP peer sessions.
4. Metrics
DLEP includes the ability for the client and server to communicate
metrics that reflect the characteristics (e.g. bandwidth, latency)
of the variable-quality link in use. 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 - neighbor session context (those for a given destination
within the network), and peer session context (those that apply
to all destinations accessed via the DLEP client). Metrics
supplied on DLEP Peer messages are, by definition, in the context
of a peer session; metrics supplied on Neighbor messages are, by
definition, used in the context of a neighbor session.
Supplying metrics in a peer session context gives clients the
ability to supply default metrics on a 'device-wide' basis. It is
left to implementations to choose sensible default values based on
their specific characteristics. Additionally, the metrics (either
at a peer or neighbor session context) MAY be used to report non-
changing, or static, metrics. Clients having static link metric
characteristics SHOULD report metrics only once for a given
neighbor session (or peer session, if all connections via the client
are of this static nature).
The approach of allowing for different contexts for metric data
increases both the flexibility and the complexity of using metric
data. This document details the mechanism whereby the data is
transmitted, however, the specific algorithms for utilizing the
dual-context metrics is out of scope and not addressed by this
document.
5. Extensions to DLEP
While this draft represents the best efforts of the co-authors, and
the working group, to be functionally complete, it is recognized
that extensions to DLEP will in all likelihood be necessary as more
link types are utilized. To allow for future innovation, the draft
allocates numbering space for experimental orders and sub-TLVs. DLEP
implementations MUST be capable of parsing and acting on the orders
and sub-TLVs as documented in this specification. DLEP orders/sub-TLVs
in the experimental numbering range SHOULD be silently dropped by an
implementation if they are not understood. The intent of the
experimental numbering space is to allow for further development of
DLEP protocol features and function. If subsequent development yields
new features with sufficient applicability, those features should be
either included in an update of this specification, or documented in
a standalone specification.
6. Normal Session Flow
A session between a client and a server is established by exchanging
the "Peer Discovery" and "Peer Offer" messages described below. the "Peer Discovery" and "Peer Offer" messages described below.
Once that exchange has successfully occurred, the client informs the The flows described in this document create a state-full protocol
router of the presence of a new potential routing partner via the between client and server. Both client and server initialize in a
"Neighbor Up" message. The loss of a neighbor is communicated via the "discovery" state, and the client issues a "Peer Discovery" message.
"Neighbor Down" message, and link quality is communicated via the When the server receives a Peer Discovery, it responds with a "Peer
"Neighbor Update" message. Note that, due to the issue of metrics Offer" message, and enters an "in session" state with the client.
varying depending on neighbor (discussed above), DLEP link metrics Receipt of the Peer Offer at the client causes it (the client) to
are expressed within the context of a neighbor relationship, instead transition into the "in session" state.
of on the link as a whole.
Once the DLEP session has started, the session partners exchange Once that exchange has successfully occurred, messages transferred
heartbeat messages based on a negotiated time interval. The heartbeat in the context of the peer session will consist of
messages are used to assure the session partners are in an o Periodic 'Heartbeat' messages, intended to keep the peer session
appropriate state, and that bidirectional connectivity still exists. alive, and to verify bidirectional connectivity, and/or
o Peer Update messages, indicating some change in status that one
of the peers needs to communicate to the other.
In addition to the messages above, the peers will transmit DLEP
messages concerning destinations in the network. These messages
trigger creation/maintenance/termination of 'neighbor sessions'. For
example, a peer will inform its DLEP partner of the presence of a
new destination via the "Neighbor Up" message. Receipt of a Neighbor
Up causes the receiving peer to allocate the necessary resources,
creating a neighbor session, and transition to an "in session" state
on the newly created neighbor session. The in-session state persists
until notification of neighbor loss is received, or by optional
timeout due to inactivity.
The loss of a destination is communicated via the "Neighbor Down"
message, and changes in status to the destination (e.g. varying
link quality, or addressing changes) are communicated via a
"Neighbor Update" message.
Again, metrics can be expressed within the context of a neighbor
session via the Neighbor Update message, or within the context of
a peer session (reflecting the link as a whole) via the Peer Update
message. In cases where metrics are provided on the peer session, the
receiving peer MUST propagate the metrics to all neighbor sessions
accessed via the peer. A DLEP peer MAY send metrics both in a peer
session context (via the Peer Update message) and a neighbor session
context (via Neighbor Update) at any time. The heuristics for
applying received peer session and neighbor session metrics is left
to implementations.
In addition to receiving metrics about the link, DLEP provides for In addition to receiving metrics about the link, DLEP provides for
the ability for the router to request a different amount of the ability for a server to request a different amount of bandwidth,
bandwidth, or latency, for its client via the Link Characteristics or latency, from the client via the Link Characteristics Message.
Message. This allows the router to deal with requisite increases This allows the server to deal with requisite increases (or decreases)
(or decreases) of allocated bandwidth/latency in demand-based of allocated bandwidth/latency in demand-based schemes in a more
schemes in a more deterministic manner. deterministic manner.
4. Generic DLEP Packet Definition 7. Generic DLEP Packet Definition
The Generic DLEP Packet Definition follows the format for packets The Generic DLEP Packet Definition follows the format for packets
defined in [RFC5444]. defined in [RFC5444].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| Flags | Packet Sequence Number | Packet TLV | |Version| Flags | Packet Sequence Number | Packet TLV |
skipping to change at page 6, line 44 skipping to change at page 9, line 47
which the packet/messages/TLVs are which the packet/messages/TLVs are
constructed. constructed.
Flags - 4 bit field. All bits MUST be ignored Flags - 4 bit field. All bits MUST be ignored
by DLEP implementations. by DLEP implementations.
Packet Sequence Number - If present, the packet sequence number Packet Sequence Number - If present, the packet sequence number
is parsed and ignored. DLEP does NOT is parsed and ignored. DLEP does NOT
use or generate packet sequence numbers. use or generate packet sequence numbers.
Packet TLV block - a TLV block which contains packet level Packet TLV block - A TLV block which contains packet level
TLV information. DLEP implementations TLV information. DLEP implementations
MUST NOT use this TLV block. MUST NOT use this TLV block.
Message - the packet MAY contain zero or more Message - The packet MAY contain zero or more
messages, however, DLEP messages are messages, however, DLEP messages are
encoded within an RFC 5444 Message encoded within an RFC 5444 Message
TLV Block. TLV Block.
5. Message Header Format 8. Message Header Format
DLEP utilizes the following format for the RFC 5444 message header DLEP utilizes the following format for the RFC 5444 message header
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type |Msg Flg|AddrLen| Message Size | | Msg Type |Msg Flg|AddrLen| Message Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num | TLV Block... | | Message Seq Num | TLV Block... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - an 8-bit field which specifies the type Message Type - An 8-bit field which specifies the type
of the message. For DLEP, this field of the message. For DLEP, this field
contains DLEP_MESSAGE (value TBD) contains DLEP_MESSAGE (value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is
set). All other bits are unused and MUST set). All other bits are unused and MUST
be set to '0'. be set to '0'.
Message Address Length - a 4-bit unsigned integer field encoding the Message Address Length - A 4-bit unsigned integer field encoding the
length of all addresses included in this length of all addresses included in this
message. DLEP implementations do not use message. DLEP implementations do not use
this field; contents SHOULD be ignored. this field; contents SHOULD be ignored.
Message Size - a 16-bit unsigned integer field which Message Size - A 16-bit unsigned integer field which
specifies the number of octets that make up specifies the number of octets that make up
the message including the message header. the message including the message header.
Message Sequence Number - a 16-bit unsigned integer field that Message Sequence Number - A 16-bit unsigned integer field that
contains a sequence number, generated by contains a sequence number, generated by
the originator of the message. Sequence the originator of the message. Sequence
numbers range from 1 to 65535. Sequence numbers range from 1 to 65535. Sequence
numbers roll over at 65535 to 1; 0 is numbers roll over at 65535 to 1; 0 is
invalid. invalid.
TLV Block - TLV Block included in the message. TLV Block - TLV Block included in the message.
6. Message TLV Block Format 9. Message TLV Block Format
The DLEP protocol is organized as a set of orders, each with a The DLEP protocol is organized as a set of orders, each with a
collection of Sub-TLVs. The Sub-TLVs carry information needed collection of Sub-TLVs. The Sub-TLVs carry information needed
to process and/or establish context (e.g. the MAC address of a to process and/or establish context (e.g. the MAC address of a
far-end router), and the 'tlv-type' field in the message TLV far-end router), and the 'tlv-type' field in the message TLV
block carries the DLEP order itself. The DLEP orders are block carries the DLEP order itself. The DLEP orders are
enumerated in section 8.1 of this document, and the messages enumerated in section 11.1 of this document, and the messages
created using these orders are documented in sections 9 through created using these orders are documented in sections 12 through
24. 27.
DLEP uses the following settings for an RFC 5444 Message TLV DLEP uses the following settings for an RFC 5444 Message TLV
block: block:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLVs Length | TLV Type | TLV Flags | | TLVs Length | TLV Type | TLV Flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Value... | | Length | Value... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLVs Length - a 16-bit unsigned integer field that contains the total TLVs Length - A 16-bit unsigned integer field that contains the total
number of octets in all of the immediately following number of octets in all of the immediately following
TLV elements (tlvs-length not included). TLV elements (tlvs-length not included).
TLV Type - an 8-bit unsigned integer field specifying the type TLV Type - An 8-bit unsigned integer field specifying the type
of the TLV. DLEP uses this field to specify the DLEP of the TLV. DLEP uses this field to specify the DLEP
order. Valid DLEP orders are defined in section 8.1 of order. Valid DLEP orders are defined in section 11.1
this document. of this document.
TLV Flags - an 8-bit flags bit field. Bit 3 (thasvalue) MUST be TLV Flags - An 8-bit flags bit field. Bit 3 (thasvalue) MUST be
set; all other bits are not used and MUST be set set; all other bits are not used and MUST be set
to '0'. to '0'.
Length - Length of the 'Value' field of the TLV Length - Length of the 'Value' field of the TLV
Value - A field of length <Length> which contains data Value - A field of length <Length> which contains data
specific to a particular TLV type. In the DLEP specific to a particular TLV type. In the DLEP
case, this field will consist of a collection of case, this field will consist of a collection of
DLEP sub-TLVs appropriate for the DLEP action DLEP sub-TLVs appropriate for the DLEP action
specified in the TLV type field. specified in the TLV type field.
7. DLEP sub-TLVs 10. DLEP sub-TLVs
DLEP protocol messages are transported in an RFC 5444 message TLV. DLEP protocol messages are transported in an RFC 5444 message TLV.
All DLEP messages use the RFC 5444 DLEP_MESSAGE value (TBD). The All DLEP messages use the RFC 5444 DLEP_MESSAGE value (TBD). The
protocol messages consist of a DLEP order, encoded in the 'tlv-type' protocol messages consist of a DLEP order, encoded in the 'tlv-type'
field in the message TLV block, with the 'value' field of the TLV field in the message TLV block, with the 'value' field of the TLV
block containing a collection (1 or more) DLEP sub-TLVs. block containing a collection (1 or more) DLEP sub-TLVs.
The format of DLEP Sub-TLVs is consistent with RFC 5444 in that the The format of DLEP Sub-TLVs is consistent with RFC 5444 in that the
Sub-TLVs contain a flag field in addition to the type, length, and Sub-TLVs contain a flag field in addition to the type, length, and
value fields. Valid DLEP Sub-TLVs are: value fields. Valid DLEP Sub-TLVs are:
skipping to change at page 9, line 8 skipping to change at page 12, line 9
TBD Identification sub-TLV TBD Identification sub-TLV
TBD DLEP Version sub-TLV TBD DLEP Version sub-TLV
TBD Peer Type sub-TLV TBD Peer Type sub-TLV
TBD MAC Address sub-TLV TBD MAC Address sub-TLV
TBD IPv4 Address sub-TLV TBD IPv4 Address sub-TLV
TBD IPv6 Address sub-TLV TBD IPv6 Address sub-TLV
TBD Maximum Data Rate (MDR) sub-TLV TBD Maximum Data Rate (MDR) sub-TLV
TBD Current Data Rate (CDR) sub-TLV TBD Current Data Rate (CDR) sub-TLV
TBD Latency sub-TLV TBD Latency sub-TLV
TBD Resources sub-TLV TBD Resources sub-TLV
TBD Expected Forwarding Time (ETX) sub-TLV
TBD Relative Link Quality (RLQ) sub-TLV TBD Relative Link Quality (RLQ) sub-TLV
TBD Status sub-TLV TBD Status sub-TLV
TBD Heartbeat Interval sub-TLV TBD Heartbeat Interval sub-TLV
TBD Heartbeat Threshold sub-TLV TBD Heartbeat Threshold sub-TLV
TBD Neighbor down ACK timer sub-TLV TBD Neighbor down ACK timer sub-TLV
TBD Link Characteristics ACK timer sub-TLV TBD Link Characteristics ACK timer sub-TLV
TBD Credit Window Status sub-TLV
TBD Credit Grant sub-TLV
TBD Credit Request sub-TLV
DLEP sub-TLVs contain the following fields: DLEP sub-TLVs contain the following fields:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV Type |TLV Flags=0x10 | Length | Value... | | TLV Type |TLV Flags=0x10 | Length | Value... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - an 8-bit unsigned integer field specifying the type TLV Type - An 8-bit unsigned integer field specifying the type
of the sub-TLV. of the sub-TLV.
TLV Flags - an 8-bit flags bit field. Bit 3 (thasvalue) MUST be TLV Flags - An 8-bit flags bit field. Bit 3 (thasvalue) MUST be
set, all other bits are not used and MUST be set to set, all other bits are not used and MUST be set to
'0'. '0'.
Length - an 8-bit length of the value field of the sub-TLV Length - An 8-bit length of the value field of the sub-TLV
Value - A field of length <Length> which contains data Value - A field of length <Length> which contains data
specific to a particular sub-TLV. specific to a particular sub-TLV.
7.1 Identification Sub-TLV 10.1 Identification Sub-TLV
This Sub-TLV MUST exist in the TLV Block for all DLEP messages, and This Sub-TLV MUST exist in the TLV Block for all DLEP messages, and
MUST be the first Sub-TLV of the message. Further, there MUST be ONLY MUST be the first Sub-TLV of the message. Further, there MUST be ONLY
one Identification Sub-TLV in an RFC 5444 message TLV block. The one Identification Sub-TLV in an RFC 5444 message TLV block. The
Identification sub-TLV contains client and router identification Identification sub-TLV contains client and server identification
information used to establish the proper context for processing DLEP information used to establish the proper context for processing DLEP
protocol messages. protocol messages.
The Identification sub-TLV contains the following fields: The Identification sub-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 | Router ID | |TLV Type = TBD |TLV Flags=0x10 |Length = 8 | Server ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID | | Server ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID | | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - Value TBD TLV Type - Value TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are
unused and MUST be set to '0'. unused and MUST be set to '0'.
Length - 8 Length - 8
Router ID - indicates the router ID of the DLEP session. Server ID - Indicates the Server ID of the DLEP session.
Client ID - indicates the client ID of the DLEP session. Client ID - indicates the Client ID of the DLEP session.
When the client initiates discovery (via the Peer Discovery message), When the client initiates discovery (via the Peer Discovery message),
it MUST set the Client ID to a 32-bit quantity that will be used to it MUST set the Client ID to a 32-bit quantity that will be used to
uniquely identify this session from the client-side. The client MUST uniquely identify this session from the client-side. The client MUST
set the Router ID to '0'. When responding to the Peer Discovery set the Server ID to '0'. When responding to the Peer Discovery
message, the router MUST echo the Client ID, and MUST supply its own message, the server MUST echo the Client ID, and MUST supply its own
unique 32-bit quantity to identify the session from the router's unique 32-bit quantity to identify the session from the server's
perspective. After the Peer Discovery/Peer Offer exchange, both the perspective. After the Peer Discovery/Peer Offer exchange, both the
Client ID and the Router ID MUST be set to the values obtained from Client ID and the Server ID MUST be set to the values obtained from
the Peer DIscovery/Peer Offer sequence. the Peer DIscovery/Peer Offer sequence.
7.2 DLEP Version Sub-TLV 10.2 DLEP Version Sub-TLV
The DLEP Version Sub-TLV is an OPTIONAL TLV in both the Peer The DLEP Version Sub-TLV is an OPTIONAL TLV in both the Peer
Discovery and Peer Offer messages. The Version Sub-TLV is used to Discovery and Peer Offer messages. The Version Sub-TLV is used to
indicate the client or router version of the protocol. The client indicate the client or server version of the protocol. The client
and router MAY use this information to decide if the peer is running and server MAY use this information to decide if the peer is running
at a supported level. at a supported level.
The DLEP Version Sub-TLV contains the following fields: The DLEP Version Sub-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=4 | Major Version | |TLV Type =TBD |TLV Flags=0x10 |Length=4 | Major Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Major Version | Minor Version | | Major Version | Minor Version |
skipping to change at page 10, line 55 skipping to change at page 14, line 14
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are
not used and MUST be set to '0'. not used and MUST be set to '0'.
Length - Length is 4 Length - Length is 4
Major Version - Major version of the client or router protocol. Major Version - Major version of the client or router protocol.
Minor Version - Minor version of the client or router protocol. Minor Version - Minor version of the client 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 '1' (e.g. Version 1.1). to '1', and the Minor Version to '2' (e.g. Version 1.2).
7.3 Peer Type Sub-TLV 10.3 Peer Type Sub-TLV
The Peer Type Sub-TLV is used by the router and client to give The Peer Type Sub-TLV is used by the server and client to give
additional information as to its type. It is an OPTIONAL sub-TLV in additional information as to its type. It is an OPTIONAL sub-TLV in
both the Peer Discovery Message and the Peer Offer message. The peer both the Peer Discovery Message and the Peer Offer message. The peer
type is a string and is envisioned to be used for informational type is a string and is envisioned to be used for informational
purposes (e.g. display command). purposes (e.g. as output in a display command).
The Peer Type sub-TLV contains the following fields: The Peer Type sub-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= peer |Peer Type Str | |TLV Type =TBD |TLV Flags=0x10 |Length= peer |Peer Type Str |
| | |type string len|Max Len = 80 | | | |type string len|Max Len = 80 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits
are not used and MUST be set to '0'. are not used and MUST be set to '0'.
Length - length of peer type string (80 bytes maximum) Length - Length of peer type string (80 bytes maximum).
Peer Type String - Non-Null terminated peer type string, maximum Peer Type String - Non-Null terminated peer type string, maximum
length of 80 bytes. For example, a satellite length of 80 bytes. For example, a satellite
modem might set this variable to 'Satellite modem might set this variable to 'Satellite
terminal'. terminal'.
7.4 MAC Address Sub-TLV 10.4 MAC Address Sub-TLV
The MAC address Sub-TLV MUST appear in all neighbor-oriented The MAC address Sub-TLV MUST appear in all neighbor-oriented
messages (e.g. Neighbor Up, Neighbor Up ACK, Neighbor Down, Neighbor messages (e.g. Neighbor Up, Neighbor Up ACK, Neighbor Down, Neighbor
Down ACK, Neighbor Update, Link Characteristics Request, and Link Down ACK, Neighbor Update, Link Characteristics Request, and Link
Characteristics ACK). The MAC Address sub-TLV contains the address Characteristics ACK). The MAC Address sub-TLV contains the address
of the far-end (neighbor) router. of the far-end (neighbor) destination, and may be either a physical
or a virtual destination. Examples of a virtual destination would
be a multicast MAC address, or the broadcast MAC (0xFFFFFFFFFFFF).
The MAC Address sub-TLV contains the following fields: The MAC Address sub-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 = 6 |MAC Address | |TLV Type =TBD |TLV Flags=0x10 |Length = 6 |MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address | | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address | | MAC Address |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not
used and MUST be set to '0'. used and MUST be set to '0'.
Length - 6 Length - 6
MAC Address - MAC Address of the far-end router. MAC Address - MAC Address of the destination (either physical or
virtual).
7.5 IPv4 Address Sub-TLV 10.5 IPv4 Address Sub-TLV
The IPv4 Address Sub-TLV MAY be used in Neighbor Up, Neighbor Update, The IPv4 Address Sub-TLV MAY be used in Neighbor Up, Neighbor
and Peer Update Messages, if the client is aware of the Layer 3 Update, and Peer Update Messages, if the client is aware of the
address. When included in Neighbor messages, the IPv4 Address sub-TLV Layer 3 address. When included in Neighbor messages, the IPv4
contains the IPv4 address of the far-end router (neighbor). In Address sub-TLV contains the IPv4 address of the far-end neighbor.
the Peer Update message, it contains the IPv4 address of the local In the Peer Update message, it contains the IPv4 address of the
router. In either case, the sub-TLV also contains an indication of sending peer. In either case, the sub-TLV also contains an
whether this is a new or existing address, or is a deletion of indication of whether this is a new or existing address, or is a
a previously known address. deletion of a previously known address.
The IPv4 Address Sub-TLV contains the following fields: The IPv4 Address Sub-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 = 5 | Add/Drop | |TLV Type =TBD |TLV Flags=0x10 |Length = 5 | Add/Drop |
| | | | Indicator | | | | | Indicator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address | | IPv4 Address |
skipping to change at page 12, line 41 skipping to change at page 15, line 59
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not
used and MUST be set to '0'. used and MUST be set to '0'.
Length - 5 Length - 5
Add/Drop - Value indicating whether this is a new or existing Add/Drop - Value indicating whether this is a new or existing
Indicator address (0x01), or a withdrawal of an address (0x02). Indicator address (0x01), or a withdrawal of an address (0x02).
IPv4 Address - IPv4 Address of the far-end router. IPv4 Address - IPv4 Address of the far-end neighbor or peer.
7.6 IPv6 Address Sub-TLV 10.6 IPv6 Address Sub-TLV
The IPv6 Address Sub-TLV MAY be used in Neighbor Up, Neighbor Update, The IPv6 Address Sub-TLV MAY be used in Neighbor Up, Neighbor
and Peer Update Messages, if the client is aware of the Layer 3 Update, and Peer Update Messages, if the client is aware of the
address. When included in Neighbor messages, the IPv6 Address sub-TLV Layer 3 address. When included in Neighbor messages, the IPv6
contains the IPv6 address of the far-end router (neighbor). In Address sub-TLV contains the IPv6 address of the far-end neighbor.
the Peer Update, it contains the IPv6 address of the local router. In the Peer Update, it contains the IPv6 address of the
In either case, the sub-TLV also contains an indication of whether originating peer. In either case, the sub-TLV also contains an
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 IPv6 Address sub-TLV contains the following fields: The IPv6 Address sub-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 = 17 | Add/Drop | |TLV Type =TBD |TLV Flags=0x10 |Length = 17 | Add/Drop |
| | | | Indicator | | | | | Indicator |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address | | IPv6 Address |
skipping to change at page 13, line 33 skipping to change at page 16, line 44
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are not
used and MUST be set to '0'. used and MUST be set to '0'.
Length - 17 Length - 17
Add/Drop - Value indicating whether this is a new or Add/Drop - Value indicating whether this is a new or
Indicator existing address (0x01), or a withdrawal of Indicator existing address (0x01), or a withdrawal of
an address (0x02). an address (0x02).
IPv6 Address - IPv6 Address of the far-end router. IPv6 Address - IPv6 Address of the far-end neighbor or peer.
7.7 Maximum Data Rate Sub-TLV 10.7 Maximum Data Rate Sub-TLV
The Maximum Data Rate (MDR) Sub-TLV is used in Neighbor Up, Neighbor The Maximum Data Rate (MDR) Sub-TLV is used in Neighbor Up, Neighbor
Update, and Link Characteristics ACK Messages to indicate the Update, Peer Discovery, Peer Update, and Link Characteristics ACK
maximum theoretical data rate, in bits per second, that can be Messages to indicate the maximum theoretical data rate, in bits per
achieved on the link. When metrics are reported via the messages second, that can be achieved on the link. When metrics are reported
listed above, the maximum data rate MUST be reported. via the messages listed above, the maximum data rate MUST be reported.
The Maximum Data Rate sub-TLV contains the following fields: The Maximum Data Rate sub-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 | MDR (bps) | |TLV Type =TBD |TLV Flags=0x10 |Length = 8 | MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) | | MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 14, line 14 skipping to change at page 17, line 29
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'. bits are not used and MUST be set to '0'.
Length - 8 Length - 8
Maximum Data Rate - A 64-bit unsigned number, representing the Maximum Data Rate - A 64-bit unsigned number, representing the
maximum theoretical data rate, in bits per maximum theoretical data rate, in bits per
second (bps), that can be achieved on the second (bps), that can be achieved on the
link. link.
7.8 Current Data Rate Sub-TLV 10.8 Current Data Rate Sub-TLV
The Current Data Rate (CDR) Sub-TLV is used in Neighbor Up, Neighbor The Current Data Rate (CDR) Sub-TLV is used in Neighbor Up, Neighbor
Update, Link Characteristics Request, and Link Characteristics ACK Update, Peer Discovery, Peer Update, Link Characteristics Request,
messages to indicate the rate at which the link is currently and Link Characteristics ACK messages to indicate the rate at which
operating, or in the case of the Link Characteristics Request, the link is currently operating, or in the case of the Link
the desired data rate for the link. Characteristics Request, the desired data rate for the link.
The Current Data Rate sub-TLV contains the following fields: The Current Data Rate sub-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 |CDR (bps) | |TLV Type =TBD |TLV Flags=0x10 |Length = 8 |CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) | | CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 14, line 42 skipping to change at page 17, line 57
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'. bits are not used and MUST be set to '0'.
Length - 8 Length - 8
Current Data Rate - A 64-bit unsigned number, representing the Current Data Rate - A 64-bit unsigned number, representing the
current data rate, in bits per second (bps), current rate, in bits per second (bps),
on the link. When reporting metrics (e.g, on the link. When reporting metrics (e.g,
in Neighbor Up, Neighbor Down, or Link in Neighbor Up, Neighbor Down, Peer
Discovery, Peer Update, or Link
Characteristics ACK), if there is no Characteristics ACK), if there is no
distinction between current and maximum distinction between current and maximum
data rates, current data rate SHOULD be data rates, current data rate SHOULD be
set equal to the maximum data rate. set equal to the maximum data rate.
7.9 Latency Sub-TLV 10.9 Expected Forwarding Time Sub-TLV
The Latency Sub-TLV is used in Neighbor Up, Neighbor Update, Link The Expected Forwarding Time (EFT) Sub-TLV is used in Neighbor Up,
Characteristics Request, and Link Characteristics ACK messages to Neighbor Update, Peer Discovery, and Peer Update messages to indicate
indicate the amount of latency on the link, or in the case of the the typical latency between the arrival of a given packet at the
Link Characteristics Request, to indicate the maximum latency transmitting device and the reception of the packet at the other end
required (e.g. a should-not-exeed value) on the link. of the link. EFT combines transmission time, idle time, waiting time,
freezing time, and queuing time to the degree that those values are
meaningful to a given transmission medium.
The Expected Forwarding Time sub-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 |TLV Flags=0x10 |Length = 4 | EFT (ms) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EFT |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'.
Length - 4
Current Data Rate - A 32-bit unsigned number, representing the
expected forwarding time, in milliseconds,
on the link.
10.10 Latency Sub-TLV
The Latency Sub-TLV is used in Neighbor Up, Neighbor Update, Peer
Discovery, Peer Update, Link Characteristics Request, and Link
Characteristics ACK messages to indicate the amount of latency on
the link, or in the case of the Link Characteristics Request, to
indicate the maximum latency required (e.g. a should-not-exeed value)
on the link.
The Latency Sub-TLV contains the following fields: The Latency Sub-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 = 2 |Latency (ms) | |TLV Type =TBD |TLV Flags=0x10 |Length = 2 |Latency (ms) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Latency (ms) | |Latency (ms) |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'. bits are not used and MUST be set to '0'.
Length - 2 Length - 2
Latency - the transmission delay that a packet Latency - The transmission delay that a packet
encounters as it is transmitted over the encounters as it is transmitted over the
link. In Neighbor Up, Neighbor Update, link. In Neighbor Up, Neighbor Update,
and Link Characteristics ACK, this value and Link Characteristics ACK, this value
is reported in absolute delay, in is reported in absolute delay, in
milliseconds. The calculation of latency milliseconds. The calculation of latency
is modem-device dependent. For example, is implementation dependent. For example,
the latency may be a running average the latency may be a running average
calculated from the internal queuing. If calculated from the internal queuing. If
the modem device cannot calculate latency, a device cannot calculate latency, it
it SHOULD be reported as 0. In the Link SHOULD be reported as 0. In the Link
Characteristics Request Message, this value Characteristics Request Message, this value
represents the maximum delay, in milliseconds, represents the maximum delay, in
expected on the link. milliseconds, expected on the link.
7.10 Resources Sub-TLV 10.11 Resources Sub-TLV
The Resources Sub-TLV is used in Neighbor Up, Neighbor Update, and Link The Resources Sub-TLV is used in Neighbor Up, Neighbor Update, Peer
Characteristics ACK messages to indicate a percentage (0-100) amount Discovery, Peer Update, and Link Characteristics ACK messages to
of resources (e.g. battery power) remaining on the modem device. indicate a percentage (0-100) amount of resources (e.g. battery
power) remaining on the originating peer.
The Resources TLV contains the following fields: The Resources 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 = 1 | Resources | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Resources |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'. bits are not used and MUST be set to '0'.
Length - 1 Length - 1
Resources - a percentage, 0-100, representing the amount Resources - A percentage, 0-100, representing the
of remaining resources, such as battery power. amount of remaining resources, such as
If resources cannot be calculated, a value of battery power. If resources cannot be
100 SHOULD be reported. calculated, a value of 100 SHOULD be
reported.
7.11 Relative Link Quality Sub-TLV 10.12 Relative Link Quality Sub-TLV
The Relative Link Quality (RLQ) Sub-TLV is used in Neighbor Up, The Relative Link Quality (RLQ) Sub-TLV is used in Neighbor Up,
Neighbor Update, and Link Characteristics ACK messages to indicate Neighbor Update, Peer Discovery, Peer Update, and Link
the quality of the link as calculated by the modem device. Characteristics ACK messages to indicate the quality of the link
as calculated by the originating peer.
The Relative Link Quality sub-TLV contains the following fields: The Relative Link Quality sub-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 = 1 |Relative Link | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 |Relative Link |
| | | |Quality (RLQ) | | | | |Quality (RLQ) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other
bits are not used and MUST be set to '0'. bits are not used and MUST be set to '0'.
Length - 1 Length - 1
Relative Link Quality - a non-dimensional number, 0-100, Relative Link Quality - A non-dimensional number, 0-100,
representing the relative link quality. representing relative link quality. A value
A value of 100 represents a link of the of 100 represents a link of the highest
highest quality. If the RLQ cannot be quality. If the RLQ cannot be calculated, a
calculated, a value of 100 SHOULD be value of 100 SHOULD be reported.
reported.
7.12 Status Sub-TLV 10.13 Status Sub-TLV
The Status Sub-TLV is sent from either the client or router to The Status Sub-TLV is sent from either the client or server to
indicate the success or failure of a given request indicate the success or failure of a given request
The Status Sub-TLV contains the following fields: The Status Sub-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 = 1 | Code | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits
not used and MUST be set to '0'. are not used and MUST be set to '0'.
Length - 1 Length - 1
Termination Code - 0 = Success Termination Code - 0 = Success
Non-zero = Failure. Specific values of a non- Non-zero = Failure. Specific values of a non-
zero termination code depend on the operation zero termination code depend on the operation
requested (e.g. Neighbor Up, Neighbor Down, etc). requested (e.g. Neighbor Up, Neighbor Down, etc).
7.13 Heartbeat Interval Sub-TLV 10.14 Heartbeat Interval Sub-TLV
The Heartbeat Interval Sub-TLV MAY be sent from the client during The Heartbeat Interval Sub-TLV MAY be sent from the client during
Peer Discovery to indicate the desired Heartbeat timeout window. Peer Discovery to indicate the desired Heartbeat timeout window.
If included in the Peer Discovery, the router MUST either accept the If included in the Peer Discovery, the server MUST either accept the
timeout interval, or reject the Peer Discovery. timeout interval, or reject the Peer Discovery. Failing to include
the Heartbeat Interval Sub-TLV in Peer Discovery indicates a
desire to establish the peer-to-peer DLEP session without an
activity timeout (e.g. an infinite timeout value).
The Heartbeat Interval Sub-TLV contains the following fields: The Heartbeat Interval Sub-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 = 1 | Interval | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are
not used and MUST be set to '0'. not used and MUST be set to '0'.
Length - 1 Length - 1
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.
7.14 Heartbeat Threshold Sub-TLV 10.15 Heartbeat Threshold Sub-TLV
The Heartbeat Threshold Sub-TLV MAY be sent from the client during The Heartbeat Threshold Sub-TLV MAY be sent from the client during
Peer Discovery to indicate the desired number of windows, of time Peer Discovery to indicate the desired number of windows, of time
(Heartbeat Interval) seconds, to wait before either peer declares (Heartbeat Interval) seconds, to wait before either peer declares
the peer-to-peer session lost. In this case, the overall amount of the peer session lost. In this case, the overall amount of time
time before a peer-to-peer session is declared lost is expressed as before a peer session is declared lost is expressed as
(Interval * Threshold), where 'Interval' is the value in the (Interval * Threshold), where 'Interval' is the value in the
Heartbeat Interval sub-TLV, documented above. If this sub-TLV is Heartbeat Interval sub-TLV, documented above. If this sub-TLV is
included by the client in the Peer Discovery, the client MUST also included by the client in the Peer Discovery, the client MUST also
specify the Heartbeat Interval sub-TLV with a non-zero interval. If specify the Heartbeat Interval sub-TLV with a non-zero interval. If
this sub-TLV is received during Peer Discovery, the router MUST this sub-TLV is received during Peer Discovery, the server MUST
either accept the threshold, or reject the Peer Discovery. either accept the threshold, or reject the Peer Discovery. If the
Heartbeat Interval Sub-TLV is included, but this Sub-TLV is
omitted, then a threshold of '1' is assumed.
The Heartbeat Threshold Sub-TLV contains the following fields: The Heartbeat Threshold Sub-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 = 1 | Threshold | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Threshold |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD TLV Type - TBD
skipping to change at page 18, line 25 skipping to change at page 22, line 25
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits are
not used and MUST be set to '0'. not used and MUST be set to '0'.
Length - 1 Length - 1
Threshold - 0 = Do NOT use heartbeats on this peer-to-peer Threshold - 0 = Do NOT use heartbeats on this peer-to-peer
session. Non-zero = Number of windows, of session. Non-zero = Number of windows, of
Heartbeat Interval seconds, to wait before Heartbeat Interval seconds, to wait before
declaring a peer-to-peer session to be lost. declaring a peer-to-peer session to be lost.
7.15 Link Characteristics ACK Timer Sub-TLV 10.16 Link Characteristics ACK Timer Sub-TLV
The Link Characteristic ACK Timer Sub-TLV MAY be sent from the The Link Characteristic ACK Timer Sub-TLV MAY be sent from the
client during Peer Discovery to indicate the desired number of client during Peer Discovery to indicate the desired number of
seconds the router should wait for a response to a Link seconds the server should wait for a response to a Link
Characteristics Request. If this sub-TLV is received during Peer Characteristics Request. If this sub-TLV is received during Peer
Discovery, the router MUST either accept the timeout value, or Discovery, the server MUST either accept the timeout value, or
reject the Peer Discovery. reject the Peer Discovery. If this Sub-TLV is omitted,
implementations SHOULD choose a default value.
The Link Characteristics ACK Timer Sub-TLV contains the The Link Characteristics ACK Timer Sub-TLV contains the
following fields: 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 = 1 | Interval | |TLV Type =TBD |TLV Flags=0x10 |Length = 1 | Interval |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 19, line 5 skipping to change at page 23, line 5
not used and MUST be set to '0'. not used and MUST be set to '0'.
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 peer-to-peer session. requests on this peer-to-peer session.
Non-zero = Interval, in seconds, to wait before Non-zero = Interval, in seconds, to wait before
considering a Link Characteristics Request has considering a Link Characteristics Request has
been lost. been lost.
8. DLEP Protocol Messages 10.17 Credit Window Status Sub-TLV
The Credit Window Status Sub-TLV MUST be sent by the DLEP peer
originating a Neighbor Up message when use of credits is desired
for a given session. In the Neighbor Up message, when credits
are desired, the originating peer MUST set the value of the
window it controls (e.g. the Client Receive Window, or Server
Receive Window) to an initial, non-zero value. The peer receiving
a Neighbor Up message with a Credit Window Status Sub-TLV MUST
either reject the use of credits, via a Neighbor Up ACK response
with the correct Status Sub-TLV, or set the initial value from
the data contained in the Credit Window Status Sub-TLV. If the
initialization completes successfully, the receiving peer MUST
respond to the Neighbor Up message with a Neighbor Up ACK message
that contains a Credit Window Status Sub-TLV, initializing its
receive window.
The Credit Window Status Sub-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 |TLV Flags=0x10 |Length = 16 | Client Receive|
| | | | Window value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client Receive Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client Receive Window Value | Server Receive|
| | Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server Receive Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server Receive Window Value |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits
are not used and MUST be set to '0'.
Length - 16
Client Receive - A 64-bit unsigned number, indicating the
Window value current (or initial) number of credits
available on the Client Receive Window.
Server Receive - A 64-bit unsigned number, indicating the
Window Value current (or initial) number of credits
available on the Server Receive Window.
10.18 Credit Grant Sub-TLV
The Credit Grant Request Sub-TLV MAY be sent from either DLEP
peer to grant an increment to credits on a window. The Credit
Grant Sub-TLV is sent as part of a Neighbor Update message. The
value in a Credit Grant Sub-TLV represents an increment to be
added to any existing credits available on the window. Upon
successful receipt and processing of a Credit Grant Sub-TLV, the
receiving peer SHOULD respond with a DLEP Neighbor Update message
containing a Credit Window Status Sub-TLV to report the updated
aggregate values for synchronization purposes.
The Credit Grant Sub-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 |TLV Flags=0x10 |Length = 8 | Credit |
| | | | Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Credit Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Credit Increment |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits
are not used and MUST be set to '0'.
Length - 0
Reserved - A 64-bit unsigned number representing the
additional credits to be assigned to the
credit window. Since credits can only be
granted by the receiver on a window, the
applicable credit window (either the CRW or
the SRW) is derived from the sender of the
grant. The Credit Increment MUST NOT cause
the window to overflow; if this condition
occurs, implementations MUST set the credit
window to the maximum value contained in a
64-bit quantity.
10.19 Credit Request Sub-TLV
The Credit Request Sub-TLV MAY be sent from either DLEP peer, via
a Neighbor Update order, to indicate the desire for the partner to
grant additional credits in order for data transfer to proceed on
the session. If the corresponding Neighbor Up message for this
session did NOT contain a Credit Window Status Sub-TLV, indicating
that credits are to be used on the session, then the Credit Request
Sub-TLV MUST be rejected, by sending a Neighbor Update ACK containing
a Status Sub-TLV, by the receiving peer. If credits are in use on
the session, then the receiving peer MAY respond with a DLEP
Neighbor Update message containing a Credit Grant Sub-TLV with
an increment of credits for the session.
The Credit Request Sub-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 |TLV Flags=0x10 |Length = 0 | Reserved, MUST|
| | | | be set to 0 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TLV Type - TBD
TLV Flags - 0x10, Bit 3 (thasvalue) is set, all other bits
are not used and MUST be set to '0'.
Length - 0
Reserved - 0 = This field is currently unused and MUST be
set to 0.
11. DLEP Protocol Messages
DLEP places no additional requirements on the RFC 5444 Packet DLEP places no additional requirements on the RFC 5444 Packet
formats, or the packet header. DLEP does require that the optional formats, or the packet header. DLEP does require that the optional
'msg-seq-num' in the message header exist, and defines a set of 'msg-seq-num' in the message header exist, and defines a set of
values for the 'tlv-type' field in the RFC 5444 TLV block. Therefore, values for the 'tlv-type' field in the RFC 5444 TLV block. Therefore,
a DLEP message, starting from the RFC 5444 Message header, would a DLEP message, starting from the RFC 5444 Message header, would
appear as follows: appear as follows:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
skipping to change at page 19, line 28 skipping to change at page 25, line 50
| DLEP_MESSAGE | 0x1 | 0x0 | | | DLEP_MESSAGE | 0x1 | 0x0 | |
| (value TBD) | | | | | (value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num | TLV block length (length of | | Message Seq Num | TLV block length (length of |
| | DLEP order + Sub-TLVs) | | | DLEP order + Sub-TLVs) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Message |TLV Flags=0x10 | Length | Start of DLEP | | DLEP Message |TLV Flags=0x10 | Length | Start of DLEP |
| Block value | | | Sub-TLVs... | | Block value | | | Sub-TLVs... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
8.1 Message Block TLV Values 11.1 Message Block TLV Values
As mentioned above, all DLEP messages utilize a single RFC 5444 As mentioned above, all DLEP messages utilize a single RFC 5444
message type, the DLEP_MESSAGE (TBD). DLEP further identifies message type, the DLEP_MESSAGE (TBD). DLEP further identifies
protocol messages by using the 'tlv-type' field in the RFC 5444 protocol messages by using the 'tlv-type' field in the RFC 5444
message TLV block. DLEP defines the following Message-Type- message TLV block. DLEP defines the following Message-Type-
specific values for the tlv-type field: specific values for the tlv-type field:
TLV TLV TLV TLV
Value Description Value Description
========================================= =========================================
skipping to change at page 20, line 8 skipping to change at page 26, line 29
TBD Neighbor Update TBD Neighbor Update
TBD Neighbor Address Update TBD Neighbor Address Update
TBD Neighbor Address Update ACK TBD Neighbor Address Update ACK
TBD Heartbeat TBD Heartbeat
TBD Link Characteristics Request TBD Link Characteristics Request
TBD Link Characteristics ACK TBD Link Characteristics ACK
In all of the diagrams following, the message layouts begin with the In all of the diagrams following, the message layouts begin with the
RFC 5444 message header. RFC 5444 message header.
9. Peer Discovery Messages 12. Peer Discovery Messages
There are two different types of Peer Discovery Messages, Attached There are two different types of Peer Discovery Messages, Attached
and Detached. Attached Peer Discovery Messages are sent by the and Detached. Attached Peer Discovery Messages are sent by the
client when it is directly attached to the router (e.g. the client client when it is directly attached to the server (e.g. the client
exists as a card in the chassis, or it is connected via Ethernet with exists as a card in the chassis, or it is connected via Ethernet with
no intervening devices). The Detached Peer Discovery message, on the no intervening devices). The Detached Peer Discovery message, on the
other hand, is sent by a "remote" client -- for example, a client at other hand, is sent by a "remote" client -- for example, a client at
a satellite hub system might use a Detached Discovery Message in a satellite hub system might use a Detached Discovery Message in
order to act as a proxy for remote ground terminals. To explain in order to act as a proxy for remote ground terminals. To explain in
another way, a detached client uses the variable link itself (the another way, a detached client uses the variable link itself (the
radio or satellite link) to establish a DLEP session with a remote radio or satellite link) to establish a DLEP session with a remote
router. server.
9.1 Attached Peer Discovery Message 12.1 Attached Peer Discovery Message
The Attached Peer Discovery Message is sent by an attached client The Attached Peer Discovery Message is sent by an attached client
to a router to begin a new DLEP association. The Peer Offer message to a server to begin a new DLEP association. The Peer Offer message
is required to complete the discovery process. The client MAY is required to complete the discovery process. The client MAY
implement its own retry heuristics in the event it (the client) implement its own retry heuristics in the event it (the client)
determines the Attached Peer Discovery Message has timed out. determines the Attached Peer Discovery Message has timed out. An
Attached Peer Discovery Message received from a peer that is already
in session MUST be processed as if a Peer Termination Message had
been received. An implementation MAY then process the received
Attached Peer Discovery Message.
Note that metric Sub-TLVs MAY be supplied with the Peer Discovery
order. If metric Sub-TLVs are supplied, they MUST be used as a
default value for all neighbor sessions established via this peer.
The Attached Peer Discovery Message contains the following fields: The Attached Peer Discovery Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLV | | (value TBD) | | | sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Attached |TLV Flags=0x10 | Length =11 + | Sub-TLV type= | | DLEP Attached |TLV Flags=0x10 | Length =11 + | Sub-TLVs |
| Peer Discovery| | opt sub-TLVs | Identification| | Peer Discovery| | opt sub-TLVs | as noted below|
| (Value TDB) | | | sub-TLV (TBD) | | (Value TDB) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Version | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 4 | Major Version | Minor Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minor Version |Sub-TLV type= |TLV Flags=0x10 | Length = Len |
| |Peer Type (TBD)| |of peer string |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from previous page) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peer Type Str |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
|MaxLen=80 bytes|Heartbeat Int. | | |
| |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
| Interval |HB Thresh. | | |
| (seconds) |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV FLags=0x10 | Length = 1 |
| Threshold |Link Char. ACK | | |
|(# of windows) |Timer (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Link Char ACK |
|Timer (sec) |
+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (value TBD) Message Type - DLEP_MESSAGE (value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum Message Flags - Set to 0x1 (bit 3, mhasseqnum
bit is set). No other bits are bit is set). No other bits are
used and MUST be set to '0'. used and MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional sub-TLVs Message Size - 22 + size of optional sub-TLVs
Message Sequence Number - a 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing a sequence number containing a sequence number
generated by the message generated by the message
originator. originator.
TLV Block - TLVs Length: 14 + size of optional TLV Block - TLVs Length: 14 + size of optional
sub-TLVs. sub-TLVs.
DLEP Attached Peer Disc. order Sub-TLVs:
Identification TLV (MANDATORY) Identification (MANDATORY)
Version Sub-TLV (OPTIONAL) Version (OPTIONAL)
Peer Type Sub-TLV (OPTIONAL) Peer Type (OPTIONAL)
Heartbeat Int. Sub-TLV (OPTIONAL) Heartbeat Interval (OPTIONAL)
Heartbeat Threshold Sub-TLV (OPT.) Heartbeat Threshold (OPTIONAL)
Link Characteristics ACK Timer Link Characteristics ACK Timer
Sub-TLV (OPTIONAL) (OPTIONAL)
Maximum Data Rate (OPTIONAL)
Current Data Rate (OPTIONAL)
Latency (OPTIONAL)
Expected Forwarding Time (OPTIONAL)
Resources (OPTIONAL)
Relative Link Quality (OPTIONAL)
9.2 Detached Peer Discovery Message 12.2 Detached Peer Discovery Message
The Detached Peer Discovery Message is sent by a detached client The Detached Peer Discovery Message is sent by a detached client
proxy to a router to begin a new DLEP session. The Peer Offer proxy to a server to begin a new DLEP session. The Peer Offer
message is required to complete the discovery process. The client message is required to complete the discovery process. The client
MAY implement its own retry heuristics in the event it (the client) MAY implement its own retry heuristics in the event it (the client)
determines the Detached Peer Discovery Message has timed out. determines the Detached Peer Discovery Message has timed out. When
a DLEP implementation responds to a Detached Discovery Message with
a Peer Offer, the implementation MUST enter an "in session" state
with the peer. Any subsequent discovery message received from the
peer MUST be processed as if a Peer Termination Message had been
received (e.g. the existing peer session MUST be terminated). An
implementation MAY then process the received discovery message.
If metric sub-TLVs (e.g. Maximum Data Rate) are supplied with the
Detached Peer Discovery message, these metrics MUST be used as the
initial values for all far-end sessions (neighbors) established via
the peer.
The Detached Peer Discovery Message contains the following fields: The Detached Peer Discovery Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLV | | (value TBD) | | | sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Detached |TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | | DLEP Detached |TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| Peer Discovery| | opt sub-TLVs | Identification| | Peer Discovery| | opt sub-TLVs | noted below |
| (Value TDB) | | | sub-TLV (TBD) | | (Value TDB) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Version | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 4 | Major Version | Minor Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minor Version |Sub-TLV type= |TLV Flags=0x10 | Length = Len |
| |Peer Type (TBD)| |of peer string |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peer Type Str |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
|MaxLen=80 bytes|Heartbeat Int. | | |
| |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
| Interval |HB Thresh. | | |
| (seconds) |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV FLags=0x10 | Length = 1 |
| Threshold |Link Char. ACK | | |
|(# of windows) |Timer (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Link Char ACK |
|Timer (sec) |
+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (value TBD) Message Type - DLEP_MESSAGE (value TBD)
Message Flags - Set to 0x1 (bit 3, Message Flags - Set to 0x1 (bit 3,
mhasseqnum bit is set). mhasseqnum bit is set).
All other bits are not used All other bits are not used
and MUST be set to '0'. and MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional Message Size - 22 + size of optional
sub-TLVs sub-TLVs
skipping to change at page 23, line 22 skipping to change at page 28, line 54
sub-TLVs sub-TLVs
Message Sequence Number - A 16-bit unsigned integer Message Sequence Number - A 16-bit unsigned integer
field containing a sequence field containing a sequence
number, generated by the number, generated by the
message originator. message originator.
TLV Block - TLVs Length: 14 + size of TLV Block - TLVs Length: 14 + size of
optional sub-TLVs. optional sub-TLVs.
DLEP Detached Peer Discovery order Sub-TLVs
Identification sub-TLV (MANDATORY) Identification (MANDATORY)
Version sub-TLV (OPTIONAL) Version (OPTIONAL)
Peer Type Sub-TLV (OPTIONAL) Peer Type (OPTIONAL)
Heartbeat Interval Sub-TLV (OPTIONAL) Heartbeat Interval (OPTIONAL)
Heartbeat Threshold Sub-TLV (OPTIONAL) Heartbeat Threshold (OPTIONAL)
Link Char. ACK Timer Sub-TLV(OPTIONAL) Link Char. ACK Timer (OPTIONAL)
Maximum Data Rate (OPTIONAL)
Current Data Rate (OPTIONAL)
Latency (OPTIONAL)
Expected Forwarding Time (OPTIONAL)
Resources (OPTIONAL)
Relative Link Quality (OPTIONAL)
10. Peer Offer Message As in the Attached Peer Discovery, the client MAY include metric
sub-TLVs. If included, the router SHOULD use these values as defaults
that will apply to all sessions established via this client.
The Peer Offer Message is sent by a router to a client or client 13. Peer Offer Message
proxy in response to a Peer Discovery Message. The Peer Offer
Message is the response to either of the Peer Discovery messages The Peer Offer Message is sent by a server to a client in response
(either Attached or Detached), and completes the DLEP session to a Peer Discovery Message. The Peer Offer Message is the response
establishment. to either of the Peer Discovery messages (Attached or Detached),
and completes the DLEP peer session establishment. Upon sending the
Peer Offer Message, the server then enters an "in session" state
with the client. From the client perspective, receipt and successful
parsing of a Peer Offer order MUST cause the client to enter the "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 contains the following fields: The Peer Offer Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLV | | (value TBD) | | | sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|DLEP Peer Offer|TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | |DLEP Peer Offer|TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| (Value TBD) | | opt sub-TLVs | Identification| | (Value TBD) | | opt sub-TLVs | indicated |
| | | | sub-TLV (TBD) | | | | | below |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Version | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 4 | Major Version | Minor Version |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Minor Version |Peer Type sub- |TLV Flags=0x10 | Length = Len |
| |TLV = TDB | |of peer string |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Peer Type Str |DLEP IPv4 sub- |TLV Flags=0x10 | Length = 5 |
|MaxLen=80 bytes|TLV (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Add/Drop Ind. | IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address |DLEP IPv6 sub- |TLV Flags=0x10 | Length = 17 |
| |TLV Type = TBD | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Add/Drop Ind. | IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|IPv6 Address |Sub-TLV type= |TLV Flags=0x10 | Length = 1 |
| |Heartbeat Int. | | |
| |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
| Interval |Heartbeat | | |
| (seconds) |Threshold (TBD)| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Heartbeat |Sub-TLV Type= |TLV FLags=0x10 | Length = 1 |
| Threshold |Link Char. ACK | | |
| (# of windows)|Timer (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Link Char ACK |Sub-TLV Type= |TLV Flags=0x10 | Length = 1 |
|Timer (sec) |DLEP Status | | |
| |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Code |
+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional sub-TLVs Message Size - 22 + size of optional sub-TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
a sequence number, generated by the message a sequence number, generated by the message
skipping to change at page 25, line 17 skipping to change at page 30, line 6
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional sub-TLVs Message Size - 22 + size of optional sub-TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
a sequence number, generated by the message a sequence number, generated by the message
originator. originator.
TLV Block - TLV Length: 14 + size of optional sub-TLVs TLV Block - TLV Length: 14 + size of optional sub-TLVs
DLEP Peer Offer order
Identification sub-TLV (MANDATORY)
DLEP Version sub-TLV (OPTIONAL)
Peer Type sub-TLV (OPTIONAL)
IPv4 Address sub-TLV (OPTIONAL)
IPv6 Address sub-TLV (OPTIONAL)
Status sub-TLV (OPTIONAL)
Heartbeat Interval Sub-TLV (OPTIONAL)
Heartbeat Threshold Sub-TLV (OPTIONAL)
Link Char. ACK Timer Sub-TLV (OPTIONAL)
11. Peer Update Message Sub TLVs
Identification (MANDATORY)
Version (OPTIONAL)
Peer Type (OPTIONAL)
IPv4 Address (OPTIONAL)
IPv6 Address (OPTIONAL)
Status (OPTIONAL)
Heartbeat Interval (OPTIONAL)
Heartbeat Threshold (OPTIONAL)
Link Characteristics ACK Timer (OPTIONAL)
The Peer Update message is sent by the router to indicate local 14. Peer Update Message
Layer 3 address changes. For example, addition of an IPv4 address
to the router would prompt a Peer Update message to its attached The Peer Update message is sent by a DLEP peer to indicate local
DLEP clients. If the modem device is capable of understanding and Layer 3 address changes, or for metric changes on a device-wide
forwarding this information, the address update would prompt any basis. For example, addition of an IPv4 address to the server would
remote DLEP clients (DLEP clients that are on the far-end of the prompt a Peer Update message to its attached DLEP clients. Also, a
variable link) to issue a "Neighbor Update" message to their local client that changes its Maximum Data Rate for all destinations MAY
routers, with the address change information. Clients that do not reflect that change via a Peer Update Message to its attached server.
track Layer 3 addresses MUST silently ignore the Peer Update
Message. Clients that track Layer 3 addresses MUST acknowledge the With Layer 3 address changes, if the client is capable of
Peer Update with a Peer Update ACK message. Routers MAY employ understanding and forwarding this information, the address update
heuristics to retransmit Peer Update messages. Sending of Peer would prompt any remote DLEP clients (DLEP clients that are on the
Update Messages SHOULD cease when a router implementation far-end of the variable link) to issue a "Neighbor Update" message to
determines that a partner modem device does NOT support Layer 3 their local servers with the new (or deleted) addresses. Clients that
do not track Layer 3 addresses MUST silently parse and ignore the Peer
Update Message. Clients that track Layer 3 addresses MUST acknowledge
the Peer Update with a Peer Update ACK message. Servers receiving a
Peer Update with metric changes MUST apply the new metric to all
neighbor sessions established via the client. Peers MAY employ
heuristics to retransmit Peer Update messages. The sending of Peer
Update Messages for Layer 3 address changes SHOULD cease when a server
implementation determines that a client does NOT support Layer 3
address tracking. address tracking.
If metric Sub-TLVs are supplied with the Peer Update message (e.g.
Maximum Data Rate), these metrics MUST be applied to all neighbor
sessions accessible via the peer.
The Peer Update Message contains the following fields: The Peer Update Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | | DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| Update | | opt sub-TLVs | Identification| | Update | | opt sub-TLVs | noted below |
| (Value TDB) | | | sub-TLV (TBD) | | (Value TDB) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP IPv4 | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 5 | Add/Drop Ind. | IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address | Sub-TLV type= |TLV Flags=0x10 |
| | DLEP IPv6 | |
| | sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 17 | Add/Drop Ind. | IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + optional Sub-TLVs Message Size - 22 + optional Sub-TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer containing a
a sequence number generated by the message sequence number (generated by originator).
originator.
TLV Block - TLV Length: 14 + length of optional TLV Block - TLV Length: 14 + length of optional
sub-TLVs. sub-TLVs.
DLEP Peer Update order Sub TLVs
Identification sub-TLV (MANDATORY) Identification (MANDATORY)
IPv4 Address Sub-TLV (OPTIONAL) IPv4 Address (OPTIONAL)
IPv6 Address Sub-TLV (OPTIONAL) IPv6 Address (OPTIONAL)
Maximum Data Rate (OPTIONAL)
Current Data Rate (OPTIONAL)
Latency (OPTIONAL)
Expected Forwarding Time (OPTIONAL)
Resources (OPTIONAL)
Relative Link Quality (OPTIONAL)
12. Peer Update ACK Message 15. Peer Update ACK Message
The client sends the Peer Update ACK Message to indicate whether a A peer sends the Peer Update ACK Message to indicate whether a
Peer Update Message was successfully processed. Peer Update Message was successfully processed.
The Peer Update ACK message contains the following fields: The Peer Update ACK message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | | DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| Update ACK | | opt sub-TLVs | Identification| | Update ACK | | opt sub-TLVs | noted below |
| (Value TDB) | | | sub-TLV (TBD) | | (Value TDB) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Status | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional sub-TLVs. Message Size - 22 + size of optional sub-TLVs.
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number from the Neighbor Up the sequence number from the Neighbor Up
Message that is being acknowledged. Message that is being acknowledged.
TLV Block - TLV Length: 14 + optional sub-TLVs TLV Block - TLV Length: 14 + optional sub-TLVs
DLEP Peer Update ACK order
Identification Sub-TLV (MANDATORY)
Status Sub-TLV (OPTIONAL)
13. Peer Termination Message Sub TLVs
Identification (MANDATORY)
Status (OPTIONAL)
16. Peer Termination Message
The Peer Termination Message is sent by either the client or the The Peer Termination Message is sent by either the client or the
router when a session needs to be terminated. Transmission of a server when a session needs to be terminated. Transmission of a
Peer Termination ACK message is required to confirm the Peer Termination ACK message is required to confirm the
termination process. The sender of the Peer Termination message termination process. The sender of the Peer Termination message
is free to define its heuristics in event of a timeout. The is free to define its heuristics in event of a timeout. The
receiver of a Peer Termination Message MUST terminate all receiver of a Peer Termination Message MUST terminate all
neighbor relationships and release associated resources. No neighbor sessions and release associated resources. State
Neighbor Down messages are sent. machines are returned to the "discovery" state. No Neighbor Down
messages are sent.
The Peer Termination Message contains the following fields: The Peer Termination Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | | DLEP Peer |TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| Termination | | opt sub-TLVs | Identification| | Termination | | opt sub-TLVs | noted below |
| (Value TDB) | | | sub-TLV (TBD) | | (Value TDB) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Status | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum Message Flags - Set to 0x1 (bit 3, mhasseqnum
bit is set). All other bits are bit is set). All other bits are
unused and MUST be set to '0'. unused and MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + size of optional sub-TLVs. Message Size - 22 + size of optional sub-TLVs.
Message Sequence Number - A 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing a sequence number containing a sequence number
generated by the message originator. generated by the message originator.
TLV Block - TLV Length = 14 + optional sub-TLVs TLV Block - TLV Length = 14 + optional sub-TLVs
DLEP Peer Termination order
Identification Sub-TLV (MANDATORY)
Status Sub-TLV (OPTIONAL)
14. Peer Termination ACK Message Sub TLVs
Identification (MANDATORY)
Status (OPTIONAL)
The Peer Termination Message ACK is sent by either the client or 17. Peer Termination ACK Message
the router when a session needs to be terminated.
The Peer Termination Message ACK is sent by a DLEP peer in response
to a received Peer Termination order.
The Peer Termination ACK Message contains the following fields: The Peer Termination ACK Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 22 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =14 + opt sub-TLVs | | Message Seq Num |TLVs Length =14 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Peer Term|TLV Flags=0x10 | Length = 11 + | Sub-TLV type= | | DLEP Peer Term|TLV Flags=0x10 | Length = 11 + | Sub-TLVs as |
| ACK | | opt sub-TLVs | Identification| | ACK | | opt sub-TLVs | noted below |
| (Value TBD) | | | sub-TLV (TBD) | | (Value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP Status | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum Message Flags - Set to 0x1 (bit 3, mhasseqnum
bit is set). All other bits are bit is set). All other bits are
unused and MUST be set to '0'. unused and MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 + optional sub-TLVs. Message Size - 22 + optional sub-TLVs.
Message Sequence Number - A 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing the sequence number in containing the sequence number in
the corresponding Peer Termination the corresponding Peer Termination
Message being acknowledged. Message being acknowledged.
TLV Block - TLV Length = 14 + optional Sub-TLVs TLV Block - TLV Length = 14 + optional Sub-TLVs
DLEP Peer Termination ACK order
Identification Sub-TLV (MANDATORY)
Status Sub-TLV (OPTIONAL)
15. Neighbor Up Message Sub-TLVs
Identification (MANDATORY)
Status (OPTIONAL)
18. Neighbor Up Message
A peer sends the Neighbor Up message to report that a new
potential routing neighbor, or a new destination within the
network, has been detected. A Neighbor Up ACK Message is required
to confirm a received Neighbor Up. A Neighbor Up message can be
sent by a client to signal that it (the client) has detected a new
neighbor, or by the server to indicate that new destinations
(e.g. Multicast groups) exist within the network.
The client sends the Neighbor Up message to report that a new
potential routing neighbor has been detected. A Neighbor Up
ACK Message is required to confirm a received Neighbor Up.
The sender of the Neighbor Up Message is free to define its The sender of the Neighbor Up Message is free to define its
retry heuristics in event of a timeout. retry heuristics in event of a timeout. When a Neighbor Up
message is received and successfully parsed, the receiver
should enter an "in session" state with regard to the far-end
destination, and send an acknowledgement to the originating peer.
The Neighbor Up Message contains the following fields: The Neighbor Up Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =23 + opt sub-TLVs | | Message Seq Num |TLVs Length =23 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Neighbor |TLV Flags=0x10 | Length =20 + | Sub-TLV type= | | DLEP Neighbor |TLV Flags=0x10 | Length =20 + | Sub-TLVs as |
| Up (TBD) | | opt sub-TLVs | Identification| | Up (TBD) | | opt sub-TLVs | noted below |
| | | | sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP IPv4 (TBD)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 5 | Add/Drop Ind. | IPv4 Address |
| | | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address |Sub-TLV type= |
| |DLEP IPv6 (TBD)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 17 | Add/Drop Ind. | IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |Sub-TLV type= |
| |DLEP MDR (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |sub-TLV Type = |TLV Flags=0x10 |
| |DLEP CDR (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 8 | CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |sub-TLV Type = |TLV Flags=0x10 | Length = 2 |
| |Latency (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Latency (ms) |sub-TLV Type = |TLV Flags=0x10 |
| |Resources(TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | Resources |sub-TLV Type = |TLV Flags=0x10 |
| | |DLEP RLQ (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | RLQ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + optional Sub-TLVs Message Size - 31 + optional Sub-TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
a sequence number generated by the message a sequence number generated by the message
originator. originator.
TLV Block - TLV Length: 23 + optional Sub-TLVs. TLV Block - TLV Length: 23 + optional Sub-TLVs.
DLEP Neighbor Up order
Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY)
IPv4 Address Sub-TLV (OPTIONAL)
IPv6 Address Sub-TLV (OPTIONAL)
Maximum Data Rate Sub-TLV (OPTIONAL)
Current Data Rate Sub-TLV (OPTIONAL)
Latency Sub-TLV (OPTIONAL)
Resources Sub-TLV (OPTIONAL)
Relative Link Factor Sub-TLV (OPTIONAL)
16. Neighbor Up ACK Message Sub-TLVs
Identification (MANDATORY)
MAC Address (MANDATORY)
IPv4 Address (OPTIONAL)
IPv6 Address (OPTIONAL)
Maximum Data Rate (OPTIONAL)
Current Data Rate (OPTIONAL)
Latency (OPTIONAL)
Expected Forwarding Time (OPTIONAL)
Resources (OPTIONAL)
Relative Link Factor (OPTIONAL)
Credit Window Status (OPTIONAL)
The router sends the Neighbor Up ACK Message to indicate whether a 19. Neighbor Up ACK Message
Neighbor Up Message was successfully processed.
A peer sends the Neighbor Up ACK Message to indicate whether a
Neighbor Up Message was successfully processed. When a peer
receives a Neighbor Up ACK message containing a Status Sub-TLV
with a status code of 0, the receiving peer should enter an "in
session" state with respect to the far-end destination.
The Neighbor Up ACK message contains the following fields: The Neighbor Up ACK message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 35 | | DLEP_MESSAGE | 0x1 | 0x0 | 35 |
| (value TBD) | | | | | (value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length = 27 | | Message Seq Num |TLVs Length = 27 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLV type= | | DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLVs as |
| Up ACK (TBD) | | | Identification| | Up ACK (TBD) | | | noted below |
| | | | sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP Status
| |(TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 | Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 35 Message Size - 35
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number from the Neighbor Down the sequence number from the Neighbor Down
skipping to change at page 33, line 18 skipping to change at page 35, line 44
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 35 Message Size - 35
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number from the Neighbor Down the sequence number from the Neighbor Down
Message that is being acknowledged. Message that is being acknowledged.
TLV Block - TLV Length: 27 TLV Block - TLV Length: 27
DLEP Neighbor Up ACK order Sub-TLVs - Identification (MANDATORY)
Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address Sub-TLV (MANDATORY)
Status Sub-TLV (MANDATORY) Status Sub-TLV (MANDATORY)
Credit Window Status (OPTIONAL)
17. Neighbor Down Message 20. Neighbor Down Message
The client sends the Neighbor Down message to report when a neighbor A DLEP peer sends the Neighbor Down message to report when a
is no longer reachable from the client. The Neighbor Down message destination (a routing peer or a multicast group) is no longer
MUST contain a MAC Address TLV. Any other TLVs present MAY be reachable. The Neighbor Down message MUST contain a MAC Address TLV.
ignored. A Neighbor Down ACK Message is required to confirm the Any other TLVs present MAY be ignored. A Neighbor Down ACK Message is
process. The sender of the Neighbor Down message is free to define required to confirm the process. The sender of the Neighbor Down
its retry heuristics in event of a timeout. message is free to define its retry heuristics in event of a timeout.
Upon successful receipt and parsing of a Neighbor Down message, the
receiving peer MUST remove all state information for the destination,
and send a Neighbor Down ACK message to the originating peer.
The Neighbor Down Message contains the following fields: The Neighbor Down Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + optional | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + optional |
| (value TBD) | | | sub-TLV | | (value TBD) | | | sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num | TLVs Length = 23 + optional | | Message Seq Num | TLVs Length = 23 + optional |
| | Sub-TLV | | | Sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TLV Type = |TLV Flags=0x10 | Length = 20 + | Sub-TLV type= | | TLV Type = |TLV Flags=0x10 | Length = 20 + | Sub-TLVs as |
| DLEP Neighbor | | optional Sub- | Identification| | DLEP Neighbor | | optional Sub- | noted below |
| Down (TBD) | | TLV | sub-TLV (TBD) | | Down (TBD) | | TLV | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP Status
| |(TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 | Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + optional TLVs Message Size - 31 + optional TLVs
Message Sequence Number - A 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing a sequence number generated containing a sequence number generated
by the message originator. by the message originator.
TLV Block - TLV Length: 23 + optional Sub-TLVs TLV Block - TLV Length: 23 + optional Sub-TLVs
DLEP Neighbor Down order Sub TLVs
Identification Sub-TLV (MANDATORY) Identification (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address (MANDATORY)
Status Sub-TLV (OPTIONAL) Status (OPTIONAL)
18. Neighbor Down ACK Message 21. Neighbor Down ACK Message
The router sends the Neighbor Down ACK Message to indicate whether A peer sends the Neighbor Down ACK Message to indicate whether
a Neighbor Down Message was successfully processed. a received Neighbor Down Message was successfully processed. If
successfully processed, the sending peer MUST remove all state
information on the referenced neighbor session.
The Neighbor Down ACK message contains the following fields: The Neighbor Down ACK message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 35 | | DLEP_MESSAGE | 0x1 | 0x0 | 35 |
| (value TBD) | | | | | (value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length = 27 | | Message Seq Num |TLVs Length = 27 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLV type= | | DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLVs as |
| Down ACK (TBD)| | | Identification| | Down ACK (TBD)| | | noted below |
| | | | sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP Status
| |(TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 | Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 35 Message Size - 35
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number from the Neighbor Down the sequence number from the Neighbor Down
Message that is being acknowledged. Message that is being acknowledged.
TLV Block - TLV Length: 27 TLV Block - TLV Length: 27
DLEP Neighbor Down ACK order Sub-TLVs - Identification (MANDATORY)
Identification Sub-TLV (MANDATORY) MAC Address (MANDATORY)
MAC Address Sub-TLV (MANDATORY) Status (MANDATORY)
Status Sub-TLV (MANDATORY)
19. Neighbor Update Message 22. Neighbor Update Message
The client sends the Neighbor Update message when a change in link The client sends the Neighbor Update message when a change in link
metric parameters is detected for a routing neighbor. metric parameters is detected for a destination.
The Neighbor Update Message contains the following fields: The Neighbor Update Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + optional | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + optional |
| (value TBD) | | | sub-TLV | | (value TBD) | | | sub-TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num | TLVs Length = 23 + optional | | Message Seq Num | TLVs Length = 23 + optional |
| | Sub-TLVs | | | Sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Type = |TLV Flags=0x10 |Length = 20 + |Sub-TLV type = | |TLV Type = |TLV Flags=0x10 |Length = 20 + |Sub-TLVs as |
|DLEP Neighbor | |optional Sub- |Identification | |DLEP Neighbor | |optional Sub- |noted below |
|Update (TBD) | |TLVs |Sub-TLV (TBD) | |Update (TBD) | |TLVs | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP MDR (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |Sub-TLV Type = |TLV Flags=0x10 |
| |DLEP CDR (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 8 | CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |Sub-TLV Type = |TLV Flags=0x10 | Length = 2 |
| |DLEP Latency | | |
| |(TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Latency (ms) |Sub-TLV Type= |TLV Flags=0x10 |
| |DLEP Resources | |
| |(TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | Resources |Sub-TLV Type= |TLV FLags=0x10 |
| | |DLEP RLQ (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | RLQ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum Message Flags - Set to 0x1 (bit 3, mhasseqnum
bit is set). All other bits are bit is set). All other bits are
unused and MUST be set to '0'. unused and MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + optional TLVs Message Size - 31 + optional TLVs
Message Sequence Number - A 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing a sequence number, containing a sequence number,
generated by the message originator. generated by the message originator.
TLV Block - TLVs Length - 23 + optional Sub-TLVs. TLV Block - TLVs Length - 23 + optional Sub-TLVs.
DLEP Neighbor Update order Sub TLVs
Identification Sub-TLV (MANDATORY) Identification (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address (MANDATORY)
Maximum Data Rate Sub-TLV (OPTIONAL) Maximum Data Rate (OPTIONAL)
Current Data Rate Sub-TLV (OPTIONAL) Current Data Rate (OPTIONAL)
Latency Sub-TLV (OPTIONAL) Latency (OPTIONAL)
Resources Sub-TLV (OPTIONAL) Resources (OPTIONAL)
Relative Link Quality Sub-TLV Relative Link Quality (OPTIONAL)
(OPTIONAL) Credit Window Status (OPTIONAL)
Credit Grant (OPTIONAL)
Credit Request (OPTIONAL)
20. Neighbor Address Update Message 23. Neighbor Address Update Message
The client sends the Neighbor Address Update message when a change The client sends the Neighbor Address Update message when a change
in Layer 3 addressing is detected for a routing neighbor. in Layer 3 addressing is detected for a neighbor session.
The Neighbor Address Update Message contains the following fields: The Neighbor Address Update Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =23 + opt sub-TLVs | | Message Seq Num |TLVs Length =23 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) | | DLEP Neighbor |TLV Flags=0x10 | Length =20 + | Sub-TLVs as |
0 1 2 3 | Address Update| | opt sub-TLVs | noted below |
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 |(TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Neighbor |TLV Flags=0x10 | Length =20 + | Sub-TLV type= |
| Address Update| | opt sub-TLVs | Identification|
|(TBD) | | | Sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP IPv4 (TBD)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 5 | Add/Drop Ind. | IPv4 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv4 Address |Sub-TLV type= |
| |DLEP IPv6 (TBD)|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 17 | Add/Drop Ind. | IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IPv6 Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is
set). All other bits are unused and set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + optional TLVs Message Size - 31 + optional TLVs
Message Sequence Number - A 16-bit unsigned integer field Message Sequence Number - A 16-bit unsigned integer field
containing a sequence number, containing a sequence number,
generated by the message originator. generated by the message originator.
TLV Block - TLVs Length - 23 + optional Sub-TLVs. TLV Block - TLVs Length - 23 + optional Sub-TLVs.
DLEP Neighbor Address Update order Sub TLVs
Identification Sub-TLV (MANDATORY) Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address Sub-TLV (MANDATORY)
IPv4 Address Sub-TLV (OPTIONAL) IPv4 Address Sub-TLV (OPTIONAL)
IPv6 Address Sub-TLV (OPTIONAL) IPv6 Address Sub-TLV (OPTIONAL)
21. Neighbor Address Update ACK Message 24. Neighbor Address Update ACK Message
The router sends the Neighbor Address Update ACK Message to The server sends the Neighbor Address Update ACK Message to
indicate whether a Neighbor Address Update Message was indicate whether a Neighbor Address Update Message was
successfully processed. successfully processed.
The Neighbor Address Update ACK message contains the following The Neighbor Address Update ACK message contains the following
fields: fields:
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 35 | | DLEP_MESSAGE | 0x1 | 0x0 | 35 |
| (value TBD) | | | | | (value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length = 27 | | Message Seq Num |TLVs Length = 27 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLV type= | | DLEP Neighbor |TLV Flags=0x10 | Length = 24 | Sub-TLVs as |
| Address Update| | | Identification| | Address Update| | | noted below |
| ACK (TBD) | | | sub-TLV (TBD) | | ACK (TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP Status
| |(TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 | Length = 1 | Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 35 Message Size - 35
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number from the Neighbor Down the sequence number from the Neighbor Down
Message that is being acknowledged. Message that is being acknowledged.
TLV Block - TLV Length: 27 TLV Block - TLV Length: 27
Sub TLVs
DLEP Neighbor Address Update ACK order
Identification Sub-TLV (MANDATORY) Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address Sub-TLV (MANDATORY)
Status Sub-TLV (MANDATORY) Status Sub-TLV (MANDATORY)
22. Heartbeat Message 25. Heartbeat Message
A Heartbeat Message is sent by a peer every N seconds, where N is A Heartbeat Message is sent by a peer every N seconds, where N is
defined in the "Heartbeat Interval" field of the discovery message. defined in the "Heartbeat Interval" field of the discovery message.
The message is used by peers to detect when a DLEP session partner The message is used by peers to detect when a DLEP session partner
is no longer communicating. Peers SHOULD allow some integral number is no longer communicating. Peers SHOULD allow some integral number
of heartbeat intervals (default 4) to expire with no traffic on the of heartbeat intervals (default 4) to expire with no traffic on the
session before initiating DLEP session termination procedures. session before initiating DLEP session termination procedures.
The Heartbeat Message contains the following fields: The Heartbeat Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 22 | | DLEP_MESSAGE | 0x1 | 0x0 | 22 |
| (value TBD) | | | | | (value TBD) | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length = 14 | | Message Seq Num |TLVs Length = 14 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Heartbeat|TLV Flags=0x10 | Length = 11 | Sub-TLV type= | | DLEP Heartbeat|TLV Flags=0x10 | Length = 11 | Sub-TLVs as |
| (TBD) | | | Identification| | (TBD) | | | noted below |
| | | | sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is
set). All other bits are unused and SHOULD set). All other bits are unused and SHOULD
be set to '0'. be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 Message Size - 22
skipping to change at page 41, line 4 skipping to change at page 40, line 42
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is Message Flags - Set to 0x1 (bit 3, mhasseqnum bit is
set). All other bits are unused and SHOULD set). All other bits are unused and SHOULD
be set to '0'. be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 22 Message Size - 22
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
a sequence number generated by the message a sequence number generated by the message
originator. originator.
TLV Block - TLV Length = 14 TLV Block - TLV Length = 14
DLEP Heartbeat order Sub TLVs -
Identification Sub-TLV (MANDATORY) Identification Sub-TLV (MANDATORY)
23. Link Characteristics Request Message 26. Link Characteristics Request Message
The Link Characteristics Request Message is sent by the router to The Link Characteristics Request Message is sent by the server to
the modem device when the router detects that a different set of the client when the server detects that a different set of
transmission characteristics is necessary (or desired) for the transmission characteristics is necessary (or desired) for the
type of traffic that is flowing on the link. The request contains type of traffic that is flowing on the link. It is important to
either a Current Data Rate (CDR) TLV to request a different note that the link can be a logical link for a multicast session
where more than one remote neighbor participates. The request
contains either a Current Data Rate (CDR) TLV to request a different
amount of bandwidth than what is currently allocated, a Latency amount of bandwidth than what is currently allocated, a Latency
TLV to request that traffic delay on the link not exceed the TLV to request that traffic delay on the link not exceed the
specified value, or both. A Link Characteristics ACK Message is specified value, or both. A Link Characteristics ACK Message is
required to complete the request. Implementations are free to required to complete the request. Implementations are free to
define their retry heuristics in event of a timeout. Issuing a define their retry heuristics in event of a timeout. Issuing a
Link Characteristics Request with ONLY the MAC Address TLV is a Link Characteristics Request with ONLY the MAC Address TLV is a
mechanism a peer MAY use to request metrics (via the Link mechanism a peer MAY use to request metrics (via the Link
Characteristics ACK) from its partner. Characteristics ACK) from its partner.
The Link Characteristics Request Message contains the following The Link Characteristics Request Message contains the following
skipping to change at page 41, line 41 skipping to change at page 41, line 29
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =23 + opt sub-TLVs | | Message Seq Num |TLVs Length =23 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Link Char|TLV Flags=0x10 | Length =20 + | Sub-TLV type= | | DLEP Link Char|TLV Flags=0x10 | Length =20 + | Sub-TLVs as |
| Request (TBD) | | opt sub-TLVs | Identification| | Request (TBD) | | opt sub-TLVs | noted below |
| | | | Sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued on next page) |
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| (Continued from above) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP CDR (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |Sub-TLV Type= |TLV Flags=0x10 |
| |Latency (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 2 | Latency (ms) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + length of optional (Current Data Message Size - 31 + length of optional (Current Data
Rate and/or Latency) Sub-TLVs Rate and/or Latency) Sub-TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
a sequence number generated by the message a sequence number generated by the message
originator. originator.
TLV Block - Length: 23 + optional Sub-TLVs TLV Block - Length: 23 + optional Sub-TLVs
DLEP Link Characteristics Request order Sub TLVs
Identification Sub-TLV (MANDATORY) Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address Sub-TLV (MANDATORY)
Current Data Rate Sub-TLV - if present, Current Data Rate Sub-TLV - if present,
this value represents the requested data this value represents the requested data
rate in bits per second (bps). (OPTIONAL) rate in bits per second (bps). (OPTIONAL)
Latency TLV - if present, this value Latency TLV - if present, this value
represents the maximum latency, in represents the maximum latency, in
milliseconds, desired on the link. milliseconds, desired on the link.
(OPTIONAL) (OPTIONAL)
24. Link Characteristics ACK Message 27. Link Characteristics ACK Message
The Link Characteristics ACK Message is sent by the client to the The Link Characteristics ACK Message is sent by the client to the
router letting the router know the success (or failure) of the server letting the server know the success (or failure) of the
requested change in link characteristics. The Link Characteristics requested change in link characteristics. The Link Characteristics
ACK message SHOULD contain a complete set of metric TLVs. It MUST ACK message SHOULD contain a complete set of metric TLVs. It MUST
contain the same TLV types as the request. The values in the contain the same TLV types as the request. The values in the
metric TLVs in the Link Characteristics ACK message MUST reflect metric TLVs in the Link Characteristics ACK message MUST reflect
the link characteristics after the request has been processed. the link characteristics after the request has been processed.
The Link Characteristics ACK Message contains the following fields: The Link Characteristics ACK Message 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Msg Type = |Msg Flg|AddrLen| Message Size | | Msg Type = |Msg Flg|AddrLen| Message Size |
| DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt | | DLEP_MESSAGE | 0x1 | 0x0 | 31 + size of opt |
| (value TBD) | | | sub-TLVs | | (value TBD) | | | sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Seq Num |TLVs Length =23 + opt sub-TLVs | | Message Seq Num |TLVs Length =23 + opt sub-TLVs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| DLEP Link Char|TLV Flags=0x10 | Length =20 + | Sub-TLV type= | | DLEP Link Char|TLV Flags=0x10 | Length =20 + | Sub-TLVs as |
| ACK (TBD) | | opt sub-TLVs | Identification| | ACK (TBD) | | opt sub-TLVs | noted below |
| | | | Sub-TLV (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | Router ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Router ID | Client ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Client ID |Sub-TLV type= |TLV Flags=0x10 |
| |DLEP MAC | |
| |sub-TLV (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 6 | MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC Address |Sub-TLV type= |
| |DLEP MDR (TBD) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TLV Flags=0x10 |Length = 8 | MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MDR (bps) |Sub-TLV Type= |TLV Flags=0x10 |
| |DLEP CDR (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Length = 8 | CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CDR (bps) |Sub-TLV Type = |TLV Flags=0x10 | Length = 2 |
| |Latency (TBD) | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Latency (ms) |Sub-TLV Type= |TLV Flags=0x10 |
| |Resources (TBD)| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | Resources |Sub-TLV Type= |TLV Flags=0x10 |
| | |RLQ (TBD) | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length = 1 | RLQ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type - DLEP_MESSAGE (Value TBD) Message Type - DLEP_MESSAGE (Value TBD)
Message Flags - Set to 0x1 (bit 3, mhasseqnum bit Message Flags - Set to 0x1 (bit 3, mhasseqnum bit
is set). All other bits are unused and is set). All other bits are unused and
MUST be set to '0'. MUST be set to '0'.
Message Address Length - 0x0 Message Address Length - 0x0
Message Size - 31 + length of optional (Current Data Message Size - 31 + length of optional (Current Data
Rate and/or Latency) TLVs Rate and/or Latency) TLVs
Message Sequence Number - A 16-bit unsigned integer field containing Message Sequence Number - A 16-bit unsigned integer field containing
the sequence number that appeared on the the sequence number that appeared on the
corresponding Link Characteristics Request corresponding Link Characteristics Request
message. message.
TLV Block - TLVs Length = 23 + Optional TLVs TLV Block - TLVs Length = 23 + Optional TLVs
DLEP Link Characteristics ACK order Sub TLVs
Identification Sub-TLV (MANDATORY) Identification Sub-TLV (MANDATORY)
MAC Address Sub-TLV (MANDATORY) MAC Address Sub-TLV (MANDATORY)
Maximum Data Rate Sub-TLV (OPTIONAL) Maximum Data Rate Sub-TLV (OPTIONAL)
Current Data Rate Sub-TLV - if present, Current Data Rate Sub-TLV - if present,
this value represents the NEW (or this value represents the NEW (or
unchanged, if the request is denied) unchanged, if the request is denied)
Current Data Rate in bits per second (bps). Current Data Rate in bits per second (bps).
(OPTIONAL) (OPTIONAL)
Latency Sub-TLV - if present, this value Latency Sub-TLV - if present, this value
represents the NEW maximum latency (or represents the NEW maximum latency (or
unchanged, if the request is denied), unchanged, if the request is denied),
expressed in milliseconds, on the link. expressed in milliseconds, on the link.
(OPTIONAL) (OPTIONAL)
Resources Sub-TLV (OPTIONAL) Resources Sub-TLV (OPTIONAL)
Relative Link Quality Sub-TLV (OPTIONAL) Relative Link Quality Sub-TLV (OPTIONAL)
skipping to change at page 44, line 43 skipping to change at page 43, line 14
Latency Sub-TLV - if present, this value Latency Sub-TLV - if present, this value
represents the NEW maximum latency (or represents the NEW maximum latency (or
unchanged, if the request is denied), unchanged, if the request is denied),
expressed in milliseconds, on the link. expressed in milliseconds, on the link.
(OPTIONAL) (OPTIONAL)
Resources Sub-TLV (OPTIONAL) Resources Sub-TLV (OPTIONAL)
Relative Link Quality Sub-TLV (OPTIONAL) Relative Link Quality Sub-TLV (OPTIONAL)
25. Security Considerations 28. Security Considerations
The protocol does not contain any mechanisms for security (e.g. The protocol does not contain any mechanisms for security (e.g.
authentication or encryption). The protocol assumes that any authentication or encryption). The protocol assumes that any
security would be implemented in the underlying transport (for security would be implemented in the underlying transport (for
example, by use of DTLS or some other mechanism), and is example, by use of DTLS or some other mechanism), and is
therefore outside the scope of this document. therefore outside the scope of this document.
26. IANA Considerations 29. IANA Considerations
This section specifies requests to IANA. This section specifies requests to IANA.
26.1 TLV Registrations 29.1 TLV Registrations
This specification defines: This specification defines:
o One TLV types which must be allocated from the 0-223 range o One TLV types which must be allocated from the 0-223 range
of the "Assigned Message TLV Types" repository of [RFC5444]. of the "Assigned Message TLV Types" repository of [RFC5444].
o A new repository for DLEP orders, with seventeen values currently o A new repository for DLEP orders, with seventeen values currently
assigned. assigned.
o A new repository for DLEP Sub-TLV assignments with fifteen values o A new repository for DLEP Sub-TLV assignments with nineteen values
currently assigned. currently assigned.
26.2 Expert Review: Evaluation Guidelines 29.2 Expert Review: Evaluation Guidelines
For the registries for TLV type extensions where an Expert Review is For the registries for TLV type extensions where an Expert Review is
required, the designated expert SHOULD take the same general required, the designated expert SHOULD take the same general
recommendations into consideration as are specified by [RFC5444]. recommendations into consideration as are specified by [RFC5444].
26.3 Message TLV Type Registration 29.3 Message TLV Type Registration
The Message TLV specified below must be allocated from the "Message The Message TLV specified below must be allocated from the "Message
TLV Types" namespace of [RFC5444]. TLV Types" namespace of [RFC5444].
o DLEP_MESSAGE o DLEP_MESSAGE
26.4 DLEP Order Registration 29.4 DLEP Order Registration
A new repository must be created with the values of the DLEP orders. A new repository must be created with the values of the DLEP orders.
Valid orders are: Valid orders are:
o Attached Peer Discovery Message o Attached Peer Discovery Message
o Detached Peer Discovery Message o Detached Peer Discovery Message
o Peer Offer Message o Peer Offer Message
o Peer Update Message o Peer Update Message
o Peer Update ACK Message o Peer Update ACK Message
o Peer Termination Message o Peer Termination Message
skipping to change at page 46, line 9 skipping to change at page 44, line 32
o Neighbor Address Update Message o Neighbor Address Update Message
o Neighbor Address Update ACK Message o Neighbor Address Update ACK Message
o Heartbeat Message o Heartbeat Message
o Link Characteristics Request Message o Link Characteristics Request Message
o Link Characteristics ACK Message o Link Characteristics ACK Message
This registry should be created according to the guidelines for This registry should be created according to the guidelines for
'Message-Type-Specific TLV' registration as specified in section 'Message-Type-Specific TLV' registration as specified in section
6.2.1 of [RFC5444]. 6.2.1 of [RFC5444].
26.5 DLEP Sub-TLV Type Registrations 29.5 DLEP Sub-TLV Type Registrations
A new repository for DLEP Sub-TLVs must be created. Valid Sub-TLVs are: A new repository for DLEP Sub-TLVs must be created. Valid Sub-TLVs are:
o Identification Sub-TLV o Identification Sub-TLV
o DLEP Version Sub-TLV o DLEP Version Sub-TLV
o Peer Type Sub-TLV o Peer Type Sub-TLV
o MAC Address Sub-TLV o MAC Address Sub-TLV
o IPv4 Address Sub-TLV o IPv4 Address Sub-TLV
o IPv6 Address Sub-TLV o IPv6 Address Sub-TLV
o Maximum Data Rate Sub-TLV o Maximum Data Rate Sub-TLV
o Current Data Rate Sub-TLV o Current Data Rate Sub-TLV
o Latency Sub-TLV o Latency Sub-TLV
o Expected Forwarding Time Sub-TLV
o Resources Sub-TLV o Resources Sub-TLV
o Relative Link Quality Sub-TLV o Relative Link Quality Sub-TLV
o Status Sub-TLV o Status Sub-TLV
o Heartbeat Interval Sub-TLV o Heartbeat Interval Sub-TLV
o Heartbeat Threshold Sub-TLV o Heartbeat Threshold Sub-TLV
o Link Characteristics ACK Timer Sub-TLV o Link Characteristics ACK Timer Sub-TLV
o Credit Window Status Sub-TLV
o Credit Grant Sub-TLV
o Credit Request Sub-TLV
It is also requested that the registry allocation contain space It is also requested that the registry allocation contain space
reserved for experimental sub-TLVs. reserved for experimental sub-TLVs.
27. Appendix A. 30. Appendix A.
Peer Level Message Flows Peer Level Message Flows
*Modem Device (Client) Restarts Discovery *Modem Device (Client) Restarts Discovery
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<-------Peer Discovery--------- Modem initiates discovery <-------Peer Discovery--------- Client initiates discovery
---------Peer Offer-----------> Router detects a problem, sends ---------Peer Offer-----------> Server 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 Client accepts failure, restarts
discovery process. discovery process.
<-------Peer Discovery--------- Modem initiates discovery <-------Peer Discovery--------- Client initiates discovery
---------Peer Offer-----------> Router accepts, sends Peer Offer ---------Peer Offer-----------> Server 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.
*Modem Device Detects Peer Offer Timeout *Modem Device Detects Peer Offer Timeout
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<-------Peer Discovery--------- Modem initiates discovery, <-------Peer Discovery--------- Client initiates discovery,
starts a guard timer. starts a guard timer.
Modem guard timer expires. Client guard timer expires.
Modem restarts discovery process. Client restarts discovery process.
<-------Peer Discovery--------- Modem initiates discovery, <-------Peer Discovery--------- Client initiates discovery,
starts a guard timer. starts a guard timer.
---------Peer Offer-----------> Router accepts, sends Peer Offer ---------Peer Offer-----------> Server 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.
*Router Peer Offer Lost *Server Peer Offer Lost
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<-------Peer Discovery--------- Modem initiates discovery, <-------Peer Discovery--------- Client initiates discovery,
starts a guard timer. starts a guard timer.
---------Peer Offer-------|| Router offers availability ---------Peer Offer-------|| Server offers availability
Modem times out on Peer Offer, Client times out on Peer Offer,
restarts discovery process. restarts discovery process.
<-------Peer Discovery--------- Modem initiates discovery <-------Peer Discovery--------- Client initiates discovery
---------Peer Offer-----------> Router detects subsequent discovery, ---------Peer Offer-----------> Server detects subsequent discovery,
internally terminates the previous, internally terminates the previous,
accepts the new association, sends accepts the new association, sends
Peer Offer w/ Status TLV indicating Peer Offer w/ Status TLV indicating
success. success.
Discovery completed. Discovery completed.
*Discovery Success *Discovery Success
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<-------Peer Discovery--------- Modem initiates discovery <-------Peer Discovery--------- Client initiates discovery
---------Peer Offer-----------> Router offers availability ---------Peer Offer-----------> Server offers availability
-------Peer Heartbeat---------> -------Peer Heartbeat--------->
<-------Peer Heartbeat--------- <-------Peer Heartbeat---------
-------Peer Heartbeat---------> -------Peer Heartbeat--------->
<==============================> Neighbor Sessions <==============================> Neighbor Sessions
<-------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
*Router Detects a Heartbeat timeout *Server Detects a Heartbeat timeout
Router Client Message Description Server Client 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, Server Heartbeat Timer expires,
detects missing heartbeats. Router detects missing heartbeats. Server
takes down all neighbor sessions takes down all neighbor sessions
and terminates the Peer association. and terminates the Peer association.
------Peer Terminate ---------> Peer Terminate Request ------Peer Terminate ---------> Peer Terminate Request
Modem takes down all neighbor Client takes down all neighbor
sessions, then acknowledges the sessions, then acknowledges the
Peer Terminate Peer Terminate
<----Peer Terminate ACK--------- Peer Terminate ACK <----Peer Terminate ACK--------- Peer Terminate ACK
*Modem Detects a Heartbeat timeout *Client Detects a Heartbeat timeout
Router Client Message Description Server Client 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, Client Heartbeat Timer expires,
detects missing heartbeats. Modem detects missing heartbeats. Modem
takes down all neighbor sessions takes down all neighbor sessions
and terminates the Peer association. and terminates the Peer association.
<-------Peer Terminate-------- Peer Terminate Request <-------Peer Terminate-------- Peer Terminate Request
Router takes down all neighbor Server takes down all neighbor
sessions, then acknowledges the sessions, then acknowledges the
Peer Terminate Peer Terminate
------Peer Terminate ACK-----> Peer Terminate ACK ------Peer Terminate ACK-----> Peer Terminate ACK
*Peer Terminate (from Modem) Lost *Peer Terminate (from Client) Lost
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
||------Peer Terminate-------- Modem Peer Terminate Request ||------Peer Terminate-------- Client Peer Terminate Request
Router Heartbeat times out, Server Heartbeat times out,
terminates association. terminates association.
--------Peer Terminate-------> Router Peer Terminate --------Peer Terminate-------> Server Peer Terminate
<-----Peer Terminate ACK------ Modem sends Peer Terminate ACK <-----Peer Terminate ACK------ Client sends Peer Terminate ACK
*Peer Terminate (from router) Lost *Peer Terminate (from server) Lost
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
-------Peer Terminate--------> Router Peer Terminate Request -------Peer Terminate--------> Server Peer Terminate Request
Modem HB times out, Client HB times out,
terminates association. terminates association.
<------Peer Terminate-------- Modem Peer Terminate <------Peer Terminate-------- Client Peer Terminate
------Peer Terminate ACK-----> Peer Terminate ACK ------Peer Terminate ACK-----> Peer Terminate ACK
Neighbor Level Message Flows Neighbor Level Message Flows
*Modem Neighbor Up Lost *Client Neighbor Up Lost
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
||-----Neighbor Up ------------ Modem sends Neighbor Up ||-----Neighbor Up ------------ Client sends Neighbor Up
Modem timesout on ACK Client timesout on ACK
<------Neighbor Up ------------ Modem sends Neighbor Up <------Neighbor Up ------------ Client sends Neighbor Up
------Neighbor Up ACK---------> Router accepts the neighbor ------Neighbor Up ACK---------> Server accepts the neighbor
session session
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
*Router Detects Duplicate Neighbor Ups *Server Detects Duplicate Neighbor Ups
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<------Neighbor Up ------------ Modem sends Neighbor Up <------Neighbor Up ------------ Client sends Neighbor Up
------Neighbor Up ACK-------|| Router accepts the neighbor ------Neighbor Up ACK-------|| Server accepts the neighbor
session session
Modem timesout on ACK Client timesout on ACK
<------Neighbor Up ------------ Modem resends Neighbor Up <------Neighbor Up ------------ Client resends Neighbor Up
Router detects duplicate Server detects duplicate
Neighbor, takes down the Neighbor, takes down the
previous, accepts the new previous, accepts the new
Neighbor. Neighbor.
------Neighbor Up ACK---------> Router accepts the neighbor ------Neighbor Up ACK---------> Server accepts the neighbor
session session
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
*Neighbor Up, No Layer 3 Addresses *Neighbor Up, No Layer 3 Addresses
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<------Neighbor Up ------------ Modem sends Neighbor Up <------Neighbor Up ------------ Client sends Neighbor Up
------Neighbor Up ACK---------> Router accepts the neighbor ------Neighbor Up ACK---------> Server accepts the neighbor
session session
Router ARPs for IPv4 if defined. Server ARPs for IPv4 if defined.
Router drives ND for IPv6 if Server drives ND for IPv6 if
defined. defined.
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
*Neighbor Up with IPv4, No IPv6 *Neighbor Up with IPv4, No IPv6
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<------Neighbor Up ------------ Modem sends Neighbor Up with <------Neighbor Up ------------ Client sends Neighbor Up with
the IPv4 TLV the IPv4 TLV
------Neighbor Up ACK---------> Router accepts the neighbor ------Neighbor Up ACK---------> Server accepts the neighbor
session session
Router drives ND for IPv6 if Server drives ND for IPv6 if
defined. defined.
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
*Neighbor Up with IPv4 and IPv6 *Neighbor Up with IPv4 and IPv6
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
<------Neighbor Up ------------ Modem sends Neighbor Up with <------Neighbor Up ------------ Client sends Neighbor Up with
the IPv4 and IPv6 TLVs the IPv4 and IPv6 TLVs
------Neighbor Up ACK---------> Router accepts the neighbor ------Neighbor Up ACK---------> Server accepts the neighbor
session session
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem Neighbor Metrics <------Neighbor Update--------- Client Neighbor Metrics
*Neighbor Session Success *Neighbor Session Success
Router Client Message Description Server Client Message Description
==================================================================== ====================================================================
---------Peer Offer-----------> Router offers availability ---------Peer Offer-----------> Server offers availability
-------Peer Heartbeat---------> -------Peer Heartbeat--------->
<------Neighbor Up ----------- Modem <------Neighbor Up ----------- Client
------Neighbor Up ACK--------> Router ------Neighbor Up ACK--------> Server
<------Neighbor Update--------- Modem <------Neighbor Update--------- Client
. . . . . . . . . . . . . . . .
<------Neighbor Update--------- Modem <------Neighbor Update--------- Client
Modem initiates the terminate Client initiates the terminate
<------Neighbor Down ---------- Modem <------Neighbor Down ---------- Client
------Neighbor Down ACK-------> Router ------Neighbor Down ACK-------> Server
or or
Router initiates the terminate Server initiates the terminate
------Neighbor Down ----------> Router ------Neighbor Down ----------> Server
<------Neighbor Down ACK------- Modem <------Neighbor Down ACK------- Client
Acknowledgements Acknowledgements
The authors would like to acknowledge the influence and contributions The authors would like to acknowledge the influence and contributions
of Chris Olsen and Teco Boot. of Chris Olsen, Teco Boot, Subir Das, Jaewon Kang, Vikram Kaul, Rick
Taylor, and John Dowdell.
Normative References Normative References
[RFC5444] Clausen, T., Ed,. "Generalized Mobile Ad Hoc Network (MANET) [RFC5444] Clausen, T., Ed,. "Generalized Mobile Ad Hoc Network (MANET)
Packet/Message Format", RFC 5444, Februar, 2009. Packet/Message Format", RFC 5444, Februar, 2009.
[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
skipping to change at page 54, line 34 skipping to change at page 52, line 34
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
Cisco NetApp
170 West Tasman Drive 7301 Kit Creek Road, Building 2
San Jose, CA 95134 Research Triangle Park, NC 27709
USA USA
Email: sjury@cisco.com Email: shawn.jury@netapp.com
Darryl Satterwhite Darryl Satterwhite
Cisco Cisco
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
USA USA
Email: dsatterw@cisco.com Email: dsatterw@cisco.com
 End of changes. 302 change blocks. 
978 lines changed or deleted 930 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/