draft-ietf-manet-dlep-da-credit-extension-02.txt | draft-ietf-manet-dlep-da-credit-extension-03.txt | |||
---|---|---|---|---|
Network Working Group B. Cheng | Network Working Group B. Cheng | |||
Internet-Draft D. Wiggins | Internet-Draft D. Wiggins | |||
Intended status: Standards Track Lincoln Laboratory | Intended status: Standards Track Lincoln Laboratory | |||
Expires: May 3, 2018 L. Berger | Expires: May 15, 2018 L. Berger | |||
LabN Consulting, L.L.C. | LabN Consulting, L.L.C. | |||
October 30, 2017 | November 11, 2017 | |||
DLEP DiffServ Aware Credit Windowing Extension | DLEP DiffServ Aware Credit Windowing Extension | |||
draft-ietf-manet-dlep-da-credit-extension-02 | draft-ietf-manet-dlep-da-credit-extension-03 | |||
Abstract | Abstract | |||
This document defines an extension to the DLEP protocol that enables | This document defines an extension to the DLEP protocol that enables | |||
a DiffServ aware credit-windowing scheme for destination-specific and | a DiffServ aware credit-windowing scheme for destination-specific and | |||
shared flow control. | shared flow control. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
skipping to change at page 1, line 34 ¶ | skipping to change at page 1, line 34 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on May 3, 2018. | This Internet-Draft will expire on May 15, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 15 ¶ | skipping to change at page 2, line 15 ¶ | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Key Words . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 | 2. Extension Overview . . . . . . . . . . . . . . . . . . . . . 3 | |||
3. Extension Usage and Identification . . . . . . . . . . . . . 5 | 3. Extension Usage and Identification . . . . . . . . . . . . . 5 | |||
4. Data Plane Considerations . . . . . . . . . . . . . . . . . . 5 | 4. Data Plane Considerations . . . . . . . . . . . . . . . . . . 5 | |||
5. Extension Messages . . . . . . . . . . . . . . . . . . . . . 5 | 5. Extension Messages . . . . . . . . . . . . . . . . . . . . . 5 | |||
5.1. Credit Control Message . . . . . . . . . . . . . . . . . 5 | 5.1. Credit Control Message . . . . . . . . . . . . . . . . . 5 | |||
5.2. Credit Control Response Message . . . . . . . . . . . . . 6 | 5.2. Credit Control Response Message . . . . . . . . . . . . . 6 | |||
6. Extension Data Items . . . . . . . . . . . . . . . . . . . . 6 | 6. Extension Data Items . . . . . . . . . . . . . . . . . . . . 7 | |||
6.1. Credit Window Initialization . . . . . . . . . . . . . . 7 | 6.1. Credit Window Initialization . . . . . . . . . . . . . . 7 | |||
6.2. Credit Window Traffic Classification . . . . . . . . . . 9 | 6.2. Credit Window Traffic Classification . . . . . . . . . . 9 | |||
6.2.1. Traffic Classification Sub Data Item . . . . . . . . 11 | 6.2.1. Traffic Classification Sub Data Item . . . . . . . . 11 | |||
6.2.2. DiffServ Traffic Classification Sub Data Item . . . . 11 | 6.2.2. DiffServ Traffic Classification Sub Data Item . . . . 12 | |||
6.3. Credit Window Associate . . . . . . . . . . . . . . . . . 13 | 6.3. Credit Window Associate . . . . . . . . . . . . . . . . . 13 | |||
6.4. Credit Window Credit Grant . . . . . . . . . . . . . . . 14 | 6.4. Credit Window Credit Grant . . . . . . . . . . . . . . . 14 | |||
6.5. Credit Window Status . . . . . . . . . . . . . . . . . . 15 | 6.5. Credit Window Status . . . . . . . . . . . . . . . . . . 16 | |||
6.6. Credit Window Request . . . . . . . . . . . . . . . . . . 17 | 6.6. Credit Window Request . . . . . . . . . . . . . . . . . . 17 | |||
7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 18 | 7. Compatibility . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 18 | 9.1. Extension Type Value . . . . . . . . . . . . . . . . . . 19 | |||
9.2. Message Values . . . . . . . . . . . . . . . . . . . . . 19 | 9.2. Message Values . . . . . . . . . . . . . . . . . . . . . 19 | |||
9.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 19 | 9.3. Data Item Values . . . . . . . . . . . . . . . . . . . . 19 | |||
9.4. DLEP Sub Data Item Registry . . . . . . . . . . . . . . . 20 | 9.4. DLEP Sub Data Item Registry . . . . . . . . . . . . . . . 20 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 20 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 21 | 10.2. Informative References . . . . . . . . . . . . . . . . . 21 | |||
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 21 | Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 22 | |||
Appendix B. Open and Resolved Issues . . . . . . . . . . . . . . 21 | Appendix B. Open and Resolved Issues . . . . . . . . . . . . . . 22 | |||
B.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . . 21 | B.1. Merge with [I-D.ietf-manet-credit-window] . . . . . . . . 22 | |||
B.2. Supporting Router Limits . . . . . . . . . . . . . . . . 22 | B.2. Supporting Router Limits . . . . . . . . . . . . . . . . 22 | |||
B.3. Absolute vs Increment . . . . . . . . . . . . . . . . . . 22 | B.3. Absolute vs Increment . . . . . . . . . . . . . . . . . . 23 | |||
B.4. Bidirectional Flow | B.4. Bidirectional Flow | |||
Control (closed) . . . . . . . . . . . . . . . . . . . . 22 | Control (closed) . . . . . . . . . . . . . . . . . . . . 23 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
1. Introduction | 1. Introduction | |||
The Dynamic Link Event Protocol (DLEP) is defined in [RFC8175]. It | The Dynamic Link Event Protocol (DLEP) is defined in [RFC8175]. It | |||
provides the exchange of link related control information between | provides the exchange of link related control information between | |||
DLEP peers. DLEP peers are comprised of a modem and a router. DLEP | DLEP peers. DLEP peers are comprised of a modem and a router. DLEP | |||
defines a base set of mechanisms as well as support for possible | defines a base set of mechanisms as well as support for possible | |||
extensions. This document defines one such extension. | extensions. This document defines one such extension. | |||
The base DLEP specification does not include any flow control | The base DLEP specification does not include any flow control | |||
skipping to change at page 4, line 5 ¶ | skipping to change at page 4, line 5 ¶ | |||
capitals, as shown here. | capitals, as shown here. | |||
2. Extension Overview | 2. Extension Overview | |||
The DA Credit extension can be used to support credit based flow | The DA Credit extension can be used to support credit based flow | |||
control of traffic sent from a router to a modem. The extension can | control of traffic sent from a router to a modem. The extension can | |||
be used to support DiffServ and non-DiffServ based flow control. | be used to support DiffServ and non-DiffServ based flow control. | |||
Both types of DLEP endpoints, i.e., a router and a modem, negotiate | Both types of DLEP endpoints, i.e., a router and a modem, negotiate | |||
the use of extension during session initialization, see Section 5.2 | the use of extension during session initialization, see Section 5.2 | |||
[RFC8175]. When using this extension, data is allowed to be sent by | [RFC8175]. When using this extension, data traffic is allowed to be | |||
the router to the modem only when there are credits available. | sent by the router to the modem only when there are credits | |||
available. | ||||
Credits are managed on a per logical "Credit Windows" basis. Each | Credits are managed on a per logical "Credit Windows" basis. Each | |||
credit window can be thought of as corresponding to a queue within a | credit window can be thought of as corresponding to a queue within a | |||
modem. Modems pass to the router information on its credit windows | modem. Modems pass to the router information on its credit windows | |||
and identify each via a "Credit Window Identifier", or "CID". In | and identify each via a "Credit Window Identifier", or "CID". In | |||
addition to the CID, credit window information includes an initial | addition to the CID, credit window information includes an initial | |||
credit window size, as well as the maximum size of the logical queue | credit window size, as well as the maximum size of the logical queue | |||
associated with each CID. The maximum size is included for | associated with each CID. The maximum size is included for | |||
informative and, potential, future uses. | informative and, potential, future uses. | |||
skipping to change at page 5, line 21 ¶ | skipping to change at page 5, line 21 ¶ | |||
Item. The Extensions Supported Data Item is sent and processed | Item. The Extensions Supported Data Item is sent and processed | |||
according to [RFC8175]. | according to [RFC8175]. | |||
The DiffServ Aware Credit Windowing Extension Type Value is TBA1, see | The DiffServ Aware Credit Windowing Extension Type Value is TBA1, see | |||
Section 9. | Section 9. | |||
4. Data Plane Considerations | 4. Data Plane Considerations | |||
When the use of the extension defined in this document is agreed upon | When the use of the extension defined in this document is agreed upon | |||
per standard DLEP processing, see Section 3, a router MUST NOT send | per standard DLEP processing, see Section 3, a router MUST NOT send | |||
data to a modem for forwarding when there are no credits available in | data traffic to a modem for forwarding when there are no credits | |||
the associated Credit Window. This document defines credit windows | available in the associated Credit Window. This document defines | |||
in octets. A credit window value MUST be larger than the number of | credit windows in octets. A credit window value MUST be larger than | |||
octets contained in a packet, including any MAC headers used between | the number of octets contained in a packet, including any MAC headers | |||
the router and the modem, in order for the router to send the packet | used between the router and the modem, in order for the router to | |||
to a modem for forwarding. The credit window is decremented by the | send the packet to a modem for forwarding. The credit window is | |||
number of sent octets. | decremented by the number of sent octets. | |||
A router MUST identify the credit window associated with traffic sent | A router MUST identify the credit window associated with traffic sent | |||
to a modem based on the traffic classification information provided | to a modem based on the traffic classification information provided | |||
in the data items defined in this document. The definitions support | in the data items defined in this document. The definitions support | |||
identification based on DLEP destination and, at the modem's | identification based on DLEP destination and, at the modem's | |||
discretion, DSCPs. Note that routers will typically view a DLEP | discretion, DSCPs. Note that routers will typically view a DLEP | |||
destination as the next hop. | destination as the next hop. | |||
5. Extension Messages | 5. Extension Messages | |||
Two new messages are defined by this extension: the Credit Control | Two new messages are defined by this extension: the Credit Control | |||
and the Credit Control Response Message. Sending and receiving both | and the Credit Control Response Message. Sending and receiving both | |||
message types MUST be supported by any implementation that advertises | message types MUST be supported by any implementation that advertises | |||
use of this extension per Section 3. | use of this extension per Section 3. | |||
5.1. Credit Control Message | 5.1. Credit Control Message | |||
Credit Control Messages are sent by modems to provide credit window | Credit Control Messages are sent by modems and routers. Each sender | |||
increases. For messages sent by modems, only one message can be | is only permitted to have one message outstanding at one time. That | |||
outstanding at one time. That is, a modem MUST NOT send a second (or | is, a sender (modem or router) MUST NOT send a second (or any | |||
any subsequent) Credit Control Message until a Credit Control | subsequent) Credit Control Message until a Credit Control Response | |||
Response Message is received from its peer router. | Message is received from its peer (router or modem). | |||
Credit Control Messages MAY be sent by routers, e.g., to request | Credit Control Messages are sent by modems to provide credit window | |||
credits or provide window status. No specific response message is | increases. Modems send credit increases when there is transmission | |||
required from a modem from a message transaction perspective. There | or local queue availability that exceeds the credit window value | |||
is no restriction on when a router can send a Credit Control Message. | previous provided to the router. Modems will need to balance the | |||
load generated by sending and processing frequent credit window | ||||
increases against a router having data traffic available to send, but | ||||
no credits available. | ||||
[TBD: Should anything be said about sending, or limiting, multiple | Credit Control Messages MAY be sent by routers to request credits and | |||
credit requests?] | provide window status. Routers will need to balance the load | |||
generated by sending and processing frequent credit window requests | ||||
against a having data traffic available to send, but no credits | ||||
available. | ||||
The Message Type value in the DLEP Message Header is set to TBA2. | The Message Type value in the DLEP Message Header is set to TBA2. | |||
A message sent by a modem, MUST contain one or more Credit Window | A message sent by a modem, MUST contain one or more Credit Window | |||
Grant Data Items as defined below in Section 6.4. A router receiving | Grant Data Items as defined below in Section 6.4. A router receiving | |||
this message MUST respond with a Credit Control Response Message. | this message MUST respond with a Credit Control Response Message. | |||
A message sent by a router, MUST contain the Credit Window Request | A message sent by a router, MUST contain one or more Credit Window | |||
Data Item defined below in Section 6.6. A modem receiving this | Request Data Items defined below in Section 6.6 and SHOULD contain a | |||
message MUST process the received message and data item as defined | Credit Window Status Data Item, defined in Section 6.5, corresponding | |||
below, which will result in credit window increments being provided | to each credit window request. A modem receiving this message MUST | |||
via Credit Window Grant Data Items carried in one more more new | respond with a Credit Control Response Message based on the received | |||
Credit Control Message. | message and data item and the processing defined below, which will | |||
typically result in credit window increments being provided. | ||||
Specific processing associated with each Credit Data Item is provided | Specific processing associated with each Credit Data Item is provided | |||
below. | below. | |||
5.2. Credit Control Response Message | 5.2. Credit Control Response Message | |||
Credit Control Response Messages are sent by routers to report the | Credit Control Response Messages are sent by routers to report the | |||
current Credit Window for a destination. | current Credit Window for a destination. A message sent by a router, | |||
MUST contain one or more Credit Window Status Data Items as defined | ||||
The Message Type value in the DLEP Message Header is set to TBA3. | below in Section 6.5. Specific receive processing associated with | |||
the Credit Window Window Status Data Item is provided below. | ||||
A message sent by a router, MUST contain one or more Credit Window | Credit Control Response Messages sent by modems MUST contain one or | |||
Status data items as defined below in Section 6.5. | more Credit Window Credit Grant Data Items. A data item for every | |||
Credit Window Request data item contained in the for Credit Control | ||||
Response Message sent by the router MUST be included. Each Grant | ||||
Data Item MAY provide zero or more additional credits based on a the | ||||
modem;s transmission or local queue availability. Specific receive | ||||
processing associated with each Grant Data Item is provided below. | ||||
Specific processing associated with the Credit Window Window Status | The Message Type value in the DLEP Message Header is set to TBA3. | |||
Data Item is provided below. | ||||
6. Extension Data Items | 6. Extension Data Items | |||
Six data items are defined by this extension. The Credit Window | Six data items are defined by this extension. The Credit Window | |||
Initialization Data Item is used by a modem to identify a credit | Initialization Data Item is used by a modem to identify a credit | |||
window and set its size. The Credit Window Traffic Classification | window and set its size. The Credit Window Traffic Classification | |||
Data Item is used by a modem to identify a set which identifies which | Data Item is used by a modem to identify a set which identifies which | |||
DSCPs are mapped to a credit window. The Credit Window Association | DSCPs are mapped to a credit window. The Credit Window Association | |||
Data Item is used by a modem to identify which traffic classification | Data Item is used by a modem to identify which traffic classification | |||
set should be used when sending traffic to a particular DLEP | set should be used when sending traffic to a particular DLEP | |||
identified destination. The Credit Window Grant is used by a modem | identified destination. The Credit Window Grant is used by a modem | |||
to provide additional credits to a router. The Credit Request is | to provide additional credits to a router. The Credit Request is | |||
used by a router to request additional credits. The Credit Window | used by a router to request additional credits. The Credit Window | |||
Status is used to advertise the sender's view of number of available | Status is used to advertise the sender's view of number of available | |||
credits for state synchronization purposes. | credits for state synchronization purposes. | |||
Any errors or inconsistencies encountered in parsing data items are | Any errors or inconsistencies encountered in parsing data items are | |||
handled in the same fashion as any other Data Item parsing error | handled in the same fashion as any other data dtem parsing error | |||
encountered in DLEP, see [RFC8175]. In particular, the node parsing | encountered in DLEP, see [RFC8175]. In particular, the node parsing | |||
the data item MUST terminate the session with a Status Data Item | the data item MUST terminate the session with a Status Data Item | |||
indicating Invalid Data. | indicating Invalid Data. | |||
The defined data items and operations have similar objectives as | The defined data items and operations have similar objectives as | |||
those found in [I-D.ietf-manet-credit-window]. One notable | those found in [I-D.ietf-manet-credit-window]. One notable | |||
difference from this extension is that in this document credits are | difference from this extension is that in this document credits are | |||
never provided by the router to the modem. | never provided by the router to the modem. | |||
6.1. Credit Window Initialization | 6.1. Credit Window Initialization | |||
The Credit Window Initialization Data Item is used by a modem to | The Credit Window Initialization Data Item is used by a modem to | |||
identify a credit window and set its size. This data item SHOULD be | identify a credit window and set its size. This Data Item SHOULD be | |||
included in any Session Initialization Response Message that also | included in any Session Initialization Response Message that also | |||
contains the DiffServ Aware Credit Windowing Extension Type Value in | contains the DiffServ Aware Credit Windowing Extension Type Value in | |||
the Extensions Supported Data Item. Updates to previously identified | the Extensions Supported Data Item. Updates to previously identified | |||
credit windows or new credit windows MAY be sent by a modem by | credit windows or new credit windows MAY be sent by a modem by | |||
including the data item in Session Update Messages. More than one | including the data item in Session Update Messages. More than one | |||
data item MAY be included in a message to provide information on | data item MAY be included in a message to provide information on | |||
multiple credit windows. | multiple credit windows. | |||
The Credit Window Initialization Data Item identifies a credit window | The Credit Window Initialization Data Item identifies a credit window | |||
using a Credit Window Identifier, or CID. It also provides the size | using a Credit Window Identifier, or CID. It also provides the size | |||
skipping to change at page 8, line 15 ¶ | skipping to change at page 8, line 29 ¶ | |||
Data Item Type: TBA4 | Data Item Type: TBA4 | |||
Length: 16 | Length: 16 | |||
Per [RFC8175] Length is the number of octets in the data item, | Per [RFC8175] Length is the number of octets in the data item, | |||
excluding the Type and Length fields. | excluding the Type and Length fields. | |||
Credit Window Identifier (CID): | Credit Window Identifier (CID): | |||
A 16-bit unsigned integer identifying a credit window. The value | A 16-bit unsigned integer identifying a credit window. The value | |||
of 0xFFFFFFFF is reserved and MUST not be used in this Data Item. | of 0xFFFFFFFF is reserved and MUST not be used in this data item. | |||
There is no other restriction on values used by a modem, and there | There is no other restriction on values used by a modem, and there | |||
is no requirement for sequential or ordered values. | is no requirement for sequential or ordered values. | |||
Reserved: | Reserved: | |||
MUST be set to zero by the sender (a modem) and ignored by the | MUST be set to zero by the sender (a modem) and ignored by the | |||
receiver (a router). | receiver (a router). | |||
Credit Value: | Credit Value: | |||
skipping to change at page 8, line 50 ¶ | skipping to change at page 9, line 20 ¶ | |||
3 GB - Gigabytes (MB/1024) | 3 GB - Gigabytes (MB/1024) | |||
Credit Window Size: | Credit Window Size: | |||
A 24-bit unsigned integer representing the maximum size, in the | A 24-bit unsigned integer representing the maximum size, in the | |||
octet scale indicated by the Scale field, of the associated credit | octet scale indicated by the Scale field, of the associated credit | |||
window. | window. | |||
A router that receives a Credit Window Initialization Data Item MUST | A router that receives a Credit Window Initialization Data Item MUST | |||
locate the credit window that is associated with the CID indicated in | locate the credit window that is associated with the CID indicated in | |||
each received Data Item. If no associated credit window is found, | each received data item. If no associated credit window is found, | |||
the router MUST initialize a new credit window using the values | the router MUST initialize a new credit window using the values | |||
carried in the Data Item. When an associated credit window is found, | carried in the data item. When an associated credit window is found, | |||
the router MUST update the credit window using the values carried in | the router MUST update the credit window using the values carried in | |||
the Data Item. It is worth noting, that such updates can result in a | the Data Item. It is worth noting, that such updates can result in a | |||
credit window size being reduced, for example, due to a transmission | credit window size being reduced, for example, due to a transmission | |||
rate change on the modem. | rate change on the modem. | |||
6.2. Credit Window Traffic Classification | 6.2. Credit Window Traffic Classification | |||
The Credit Window Traffic Classification Data Item is used by a modem | The Credit Window Traffic Classification Data Item is used by a modem | |||
to provide information to enable router to identify the credit window | to provide information to enable router to identify the credit window | |||
associated with traffic the router sends. Each data item includes a | associated with traffic the router sends. Each data item includes a | |||
set of credit windows and provides traffic classification for each | set of credit windows and provides traffic classification for each | |||
window. The data item is defined to support classification based on | window. The data item is defined to support classification based on | |||
DSCPs, but is designed to be extensible for future traffic | DSCPs, but is designed to be extensible for future traffic | |||
classification types. The data item is not required to provide full | classification types. The data item is not required to provide full | |||
traffic classification information. In the context of the definition | traffic classification information. In the context of the definition | |||
included in this document, the DLEP destination address needed to | included in this document, the DLEP destination address needed to | |||
complete the traffic classification information is provided by a | complete the traffic classification information is provided by a | |||
modem when it identifies the traffic classification set in a | modem when it identifies the traffic classification set in a | |||
Destination Up message using the Credit Window Associate Data Item | Destination Up Message using the Credit Window Associate Data Item | |||
defined below. | defined below. | |||
The Credit Window Traffic Classification Data Item SHOULD be included | The Credit Window Traffic Classification Data Item SHOULD be included | |||
by a modem in any Session Initialization Response Message that also | by a modem in any Session Initialization Response Message that also | |||
contains the DiffServ Aware Credit Windowing Extension Type Value in | contains the DiffServ Aware Credit Windowing Extension Type Value in | |||
the Extensions Supported Data Item. Updates to previously provided | the Extensions Supported Data Item. Updates to previously provided | |||
traffic classifications or new traffic classifications MAY be sent by | traffic classifications or new traffic classifications MAY be sent by | |||
a modem by including the data item in Session Update Messages. More | a modem by including the data item in Session Update Messages. More | |||
than one data item MAY be included in a message to provide | than one data item MAY be included in a message to provide | |||
information on multiple traffic classifiers. | information on multiple traffic classifiers. | |||
skipping to change at page 10, line 52 ¶ | skipping to change at page 11, line 13 ¶ | |||
receiver (a router). | receiver (a router). | |||
Traffic Classification Sub Data Item: | Traffic Classification Sub Data Item: | |||
Zero or more Traffic Classification Sub Data Items of the format | Zero or more Traffic Classification Sub Data Items of the format | |||
defined below MAY be included. The number MUST match the value | defined below MAY be included. The number MUST match the value | |||
carried in the Num SDIs field. | carried in the Num SDIs field. | |||
A router receiving the Traffic Classification Data Item MUST locate | A router receiving the Traffic Classification Data Item MUST locate | |||
the traffic classification information that is associated with the | the traffic classification information that is associated with the | |||
TID indicated in each received Data Item. If no associated traffic | TID indicated in each received data item. If no associated traffic | |||
classification information is found, the router MUST initialize a new | classification information is found, the router MUST initialize a new | |||
information set using the values carried in the Data Item. When | information set using the values carried in the data item. When | |||
associated traffic classification information is found, the router | associated traffic classification information is found, the router | |||
MUST update the information using the values carried in the Data | MUST update the information using the values carried in the Data | |||
Item. In both cases, a router MUST also ensure that any data plane | Item. In both cases, a router MUST also ensure that any data plane | |||
state, see Section 4, that is associated with the TID is updated as | state, see Section 4, that is associated with the TID is updated as | |||
needed. | needed. | |||
6.2.1. Traffic Classification Sub Data Item | 6.2.1. Traffic Classification Sub Data Item | |||
All Traffic Classification Sub Data Items share a common format that | All Traffic Classification Sub Data Items share a common format that | |||
is patterned after the standard DLEP data item format, see [RFC8175] | is patterned after the standard DLEP data item format, see [RFC8175] | |||
Section 11.3. There is no requirement on, or meaning to Sub Data | Section 11.3. There is no requirement on, or meaning to sub data | |||
Item ordering. Any errors or inconsistencies encountered in parsing | item ordering. Any errors or inconsistencies encountered in parsing | |||
Sub Data Items are handled in the same fashion as any other Data Item | sub data items are handled in the same fashion as any other data item | |||
parsing error encountered in DLEP. | parsing error encountered in DLEP. | |||
The format of the Traffic Classification Sub Data Item is: | The format of the Traffic Classification Sub Data Item is: | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sub Data Item Type | Length | | | Sub Data Item Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Value... : | | Value... : | |||
skipping to change at page 13, line 8 ¶ | skipping to change at page 13, line 16 ¶ | |||
+---+---+---+---+---+---+---+---+ | +---+---+---+---+---+---+---+---+ | |||
| DSCP | CU | | | DSCP | CU | | |||
+---+---+---+---+---+---+---+---+ | +---+---+---+---+---+---+---+---+ | |||
DSCP: differentiated services codepoint | DSCP: differentiated services codepoint | |||
CU: currently unused, MUST be zero | CU: currently unused, MUST be zero | |||
A router receiving the DiffServ Traffic Classification Sub Data Item | A router receiving the DiffServ Traffic Classification Sub Data Item | |||
MUST validate the information on receipt prior to the information and | MUST validate the information on receipt prior to the information and | |||
data plan update described earlier in this section. The credit | data plan update described earlier in this section. The credit | |||
window associated with the CID indicated in each Data Item must be | window associated with the CID indicated in each data item must be | |||
located. It is important to note that the CID value may be present | located. It is important to note that the CID value may be present | |||
in a Credit Window Initialization Data Item carried in the same | in a Credit Window Initialization Data Item carried in the same | |||
message as the Sub Data Item. If the CID is not located, the it MUST | message as the sub data item. If the CID is not located, the it MUST | |||
be treated as an error as described above. | be treated as an error as described above. | |||
In the case there are no unknown CIDs, the receiver MUST ensure that | In the case there are no unknown CIDs, the receiver MUST ensure that | |||
each DS Field value is listed only once across the whole Credit | each DS Field value is listed only once across the whole Credit | |||
Window Traffic Classification Data Item. Note, this check is across | Window Traffic Classification Data Item. Note, this check is across | |||
the Data Item and not the individual Sub Data Item. If the same DS | the data item and not the individual sub data item. If the same DS | |||
Field value is listed more than once within the same Credit Window | Field value is listed more than once within the same Credit Window | |||
Traffic Classification Data Item, the Data Item MUST be treated as an | Traffic Classification Data Item, the data item MUST be treated as an | |||
error as described above. | error as described above. | |||
6.3. Credit Window Associate | 6.3. Credit Window Associate | |||
The Credit Window Associate Data Item is used by a modem to associate | The Credit Window Associate Data Item is used by a modem to associate | |||
traffic classification information with a destination. The traffic | traffic classification information with a destination. The traffic | |||
classification information is identified using a TID value that has | classification information is identified using a TID value that has | |||
been previously been sent by the modem or is listed in a Credit | been previously been sent by the modem or is listed in a Credit | |||
Window Traffic Classification Data Item carried in the same message | Window Traffic Classification Data Item carried in the same message | |||
as the data item. | as the data item. | |||
A single Credit Window Associate Data Item MUST be included in all | A single Credit Window Associate Data Item MUST be included in all | |||
Destination Up and Destination Update Messages sent by a modem when | Destination Up and Destination Update Messages sent by a modem when | |||
the use of the extension defined in this document is agreed upon, see | the use of the extension defined in this document is agreed upon, see | |||
Section 3. | Section 3. | |||
The format of the Credit Window Traffic Classification Data Item is: | The format of the Credit Window Associate Data Item is: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type | Length (2) | | | Data Item Type | Length (2) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Traffic Class. Identifier (TID)| | |Traffic Class. Identifier (TID)| | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Data Item Type: TBA6 | Data Item Type: TBA6 | |||
skipping to change at page 14, line 15 ¶ | skipping to change at page 14, line 22 ¶ | |||
Traffic Classification Identifier (TID): | Traffic Classification Identifier (TID): | |||
A 16-bit unsigned integer identifying a traffic classification set | A 16-bit unsigned integer identifying a traffic classification set | |||
that has been identified in a Credit Window Traffic Classification | that has been identified in a Credit Window Traffic Classification | |||
Data Item, see Section 6.2. Unknown TID values SHOULD be reported | Data Item, see Section 6.2. Unknown TID values SHOULD be reported | |||
and result in associated traffic being dropped. | and result in associated traffic being dropped. | |||
A router that receives the Credit Window Associate Data Item MUST | A router that receives the Credit Window Associate Data Item MUST | |||
locate the traffic classification information indicated by the | locate the traffic classification information indicated by the | |||
received TID. If no corresponding information can be located, the | received TID. If no corresponding information can be located, the | |||
Data Item MUST be treated as an error as described above. Once the | data item MUST be treated as an error as described above. Once the | |||
traffic classification information is located, it MUST be associated | traffic classification information is located, it MUST be associated | |||
with the destination and the router MUST ensure that any data plane | with the destination and the router MUST ensure that any data plane | |||
state, see Section 4, that is associated with the TID is updated as | state, see Section 4, that is associated with the TID is updated as | |||
needed. | needed. | |||
6.4. Credit Window Credit Grant | 6.4. Credit Window Credit Grant | |||
The Credit Window Credit Grant data item is used by a modem to | The Credit Window Credit Grant data item is used by a modem to | |||
provide credits to a router. One or more Credit Window Grant Data | provide credits to a router. One or more Credit Window Grant Data | |||
Items MAY be carried in the DLEP Destination Up, Destination Announce | Items MAY be carried in the DLEP Destination Up, Destination Announce | |||
Response, Destination Update, and Credit Control Messages. Multiple | Response, Destination Update, Credit Control Messages, and Credit | |||
Credit Window Grant Data Items in a single message are used to | Control Response Messages. Multiple Credit Window Grant Data Items | |||
indicate different credit values for different credit windows. In | in a single message are used to indicate different credit values for | |||
all message types, this data item provides an additional number of | different credit windows. In all message types, this data item | |||
octets to be added to the indicated credit window. Credit window are | provides an additional number of octets to be added to the indicated | |||
identified via using using CID values that have been previously been | credit window. Credit window are identified via using using CID | |||
sent by the modem or are listed in a Credit Window Initialization | values that have been previously been sent by the modem or are listed | |||
Data Item carried in the same messages as the Data Item. | in a Credit Window Initialization Data Item carried in the same | |||
messages as the data item. | ||||
The format of the Credit Window Grant Data Item is: | The format of the Credit Window Grant Data Item is: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type | Length (12) | | | Data Item Type | Length (12) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Credit Window Identifier (CID)| Reserved | | | Credit Window Identifier (CID)| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 15, line 19 ¶ | skipping to change at page 15, line 36 ¶ | |||
Credit Window Identifier (CID): | Credit Window Identifier (CID): | |||
A 16-bit unsigned integer identifying a credit window that has | A 16-bit unsigned integer identifying a credit window that has | |||
been identified in a Credit Window Initialization Data Item, see | been identified in a Credit Window Initialization Data Item, see | |||
Section 6.1. Unknown CID values SHOULD be reported and ignored. | Section 6.1. Unknown CID values SHOULD be reported and ignored. | |||
Additional Credit: | Additional Credit: | |||
A 64-bit unsigned integer representing the credits, in octets, to | A 64-bit unsigned integer representing the credits, in octets, to | |||
be added to the Credit Window. This value includes MAC headers as | be added to the Credit Window. This value includes MAC headers as | |||
seen on the link between the modem and router. | seen on the link between the modem and router. A value of zero | |||
indicates that no additional credits are being provided. | ||||
When receiving this data item, a router MUST identify the credit | When receiving this data item, a router MUST identify the credit | |||
window indicated by the CID. If the CID is not known to the router, | window indicated by the CID. If the CID is not known to the router, | |||
it SHOULD report or log this information and discard the Data Item. | it SHOULD report or log this information and discard the Data Item. | |||
It is important to note that while this data item can be received in | It is important to note that while this data item can be received in | |||
a destination specific message, credit windows are managed | a destination specific message, credit windows are managed | |||
independently from the destination identified in the message carrying | independently from the destination identified in the message carrying | |||
this Data Item, and the indicated CID MAY even be disjoint from the | this Data Item, and the indicated CID MAY even be disjoint from the | |||
identified destination. | identified destination. | |||
Once the credit window is identified, the credit window size MUST be | Once the credit window is identified, the credit window size MUST be | |||
increased by the value contained in the Additional Credits field. If | increased by the value contained in the Additional Credits field. If | |||
the increase results in a window overflow, i.e., the size of the | the increase results in a window overflow, i.e., the size of the | |||
credit window after the increase is smaller than the original credit | credit window after the increase is smaller than the original credit | |||
window size, the Credit Window must be set to its maximum | window size, the Credit Window must be set to its maximum | |||
(0xFFFFFFFFFFFFFFFF). | (0xFFFFFFFFFFFFFFFF). | |||
Independent of the received message, the receiving router MUST send a | No response is sent by the router to a modem after processing a | |||
Credit Window Window Status data item or items reflecting the | Credit Window Grant Data Item received in a Credit Control Response | |||
resulting Credit Window value of the updated credit window. When the | Message. In other cases, the receiving router MUST send a Credit | |||
Credit Grant data item is received in a Destination Up Message, the | Window Status data item or items reflecting the resulting Credit | |||
Credit Window Window Status data item(s) MUST be sent in the | Window value of the updated credit window. When the Credit Grant | |||
corresponding Destination Up Response Message. In all other cases, a | data item is received in a Destination Up Message, the Credit Window | |||
Credit Control Message MUST be sent. | Status data item(s) MUST be sent in the corresponding Destination Up | |||
Response Message. Otherwise, a Credit Control Message MUST be sent. | ||||
6.5. Credit Window Status | 6.5. Credit Window Status | |||
The Credit Window Status data item is used by a router to report the | The Credit Window Status data item is used by a router to report the | |||
current credit window size to its peer modem. One or more Credit | current credit window size to its peer modem. One or more Credit | |||
Window Status data items MAY be carried in a Destination Up Response | Window Status data items MAY be carried in a Destination Up Response | |||
Message or a Credit Control Response Message. As discussed above, | Message or a Credit Control Response Message. As discussed above, | |||
the Destination Up Response Message is used when the data item is | the Destination Up Response Message is used when the data item is | |||
sent in response to a Destination Up Message, and the Credit Control | sent in response to a Destination Up Message, and the Credit Control | |||
Response Message is sent in response to a Credit Control Message. | Response Message is sent in response to a Credit Control Message. | |||
Multiple Credit Window Window Status data items in a single message | Multiple Credit Window Status data items in a single message are used | |||
are used to indicated different sizes of different credit windows. | to indicated different sizes of different credit windows. Similar to | |||
Similar to the Credit Window Grant, credit windows are identified | the Credit Window Grant, credit windows are identified using CID | |||
using CID values that have been previously been sent by the modem. | values that have been previously been sent by the modem. | |||
The format of the Credit Window Window Status Data Item is: | The format of the Credit Window Status Data Item is: | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Data Item Type | Length (12) | | | Data Item Type | Length (12) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Credit Window Identifier (CID)| Reserved | | | Credit Window Identifier (CID)| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Credit Window Size : | | Credit Window Size : | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 16, line 49 ¶ | skipping to change at page 17, line 20 ¶ | |||
Credit Window Size: | Credit Window Size: | |||
A 64-bit unsigned integer, indicating the current number of | A 64-bit unsigned integer, indicating the current number of | |||
credits, in octets, available for the router to send to the modem. | credits, in octets, available for the router to send to the modem. | |||
This is referred to as the Modem Receive Window in | This is referred to as the Modem Receive Window in | |||
[I-D.ietf-manet-credit-window]. | [I-D.ietf-manet-credit-window]. | |||
When receiving this data item, a modem MUST identify the credit | When receiving this data item, a modem MUST identify the credit | |||
window indicated by the CID. If the CID is not known to the modem, | window indicated by the CID. If the CID is not known to the modem, | |||
it SHOULD report or log this information and discard the Data Item. | it SHOULD report or log this information and discard the data item. | |||
As with the Credit Window Grant Data Item, the CID MAY be unrelated | As with the Credit Window Grant Data Item, the CID MAY be unrelated | |||
to the Destination indicated in the message carrying the Data Item. | to the Destination indicated in the message carrying the data item. | |||
Once the credit window is identified, the modem SHOULD check the | Once the credit window is identified, the modem SHOULD check the | |||
received Credit Window Size field value against the outstanding | received Credit Window Size field value against the outstanding | |||
credit window's available credits at the time the most Credit Window | credit window's available credits at the time the most Credit Window | |||
Initialization or Grant data item associated with the indicated CID | Initialization or Grant data item associated with the indicated CID | |||
was sent. If the values significantly differ, i.e., greater than can | was sent. If the values significantly differ, i.e., greater than can | |||
be accounted for based on observed data frames, then the modem SHOULD | be accounted for based on observed data frames, then the modem SHOULD | |||
send a Credit Window Initialization Data Item to reset the associated | send a Credit Window Initialization Data Item to reset the associated | |||
credit window size to the modem's current view of the available | credit window size to the modem's current view of the available | |||
credits. As defined above, Credit Window Initialization Data Items | credits. As defined above, Credit Window Initialization Data Items | |||
are sent in Session Update Messages. When multiple data items need | are sent in Session Update Messages. When multiple data items need | |||
to be sent, they SHOULD be combined into a single message when | to be sent, they SHOULD be combined into a single message when | |||
possible. Alternatively, and also in cases where there are small | possible. Alternatively, and also in cases where there are small | |||
differences, the modem MAY adjust the values sent in Credit Window | differences, the modem MAY adjust the values sent in Credit Window | |||
Grant data items to account for the reported Credit Window. | Grant data items to account for the reported Credit Window. | |||
6.6. Credit Window Request | 6.6. Credit Window Request | |||
The Credit Window Request Data Item data item is used by a router to | The Credit Window Request Data Item is used by a router to request | |||
request additional credits for particular credit windows. Credit | additional credits for particular credit windows. Credit Window | |||
Window Request Data Items are carried in Credit Control Messages, and | Request Data Items are carried in Credit Control Messages, and one or | |||
only one Credit Window Request data item SHOULD be present in a | more Credit Window Request Data Items MAY be present in a message. | |||
message. | ||||
Credit windows identified using a CID as defined above in | Credit windows identified using a CID as defined above in | |||
Section 6.1. Multiple CIDs MAY be present to allow for the case | Section 6.1. Multiple CIDs MAY be present to allow for the case | |||
where the router identifies that credits are needed in multiple | where the router identifies that credits are needed in multiple | |||
credit windows. The special CID value of 0xFFFFFFFF is used to | credit windows. The special CID value of 0xFFFFFFFF is used to | |||
indicate that a credit request is being made across all queues. | indicate that a credit request is being made across all queues. | |||
The format of the Credit Window Request Data Item is: | The format of the Credit Window Request Data Item is: | |||
0 1 2 3 | 0 1 2 3 | |||
End of changes. 44 change blocks. | ||||
95 lines changed or deleted | 110 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |