DLEP DiffServ Aware Credit Window
ExtensionLincoln LaboratoryMassachusetts Institute of Technology244 Wood StreetLexingtonMA02421-6426bcheng@ll.mit.eduLincoln LaboratoryMassachusetts Institute of Technology244 Wood StreetLexingtonMA02421-6426David.Wiggins@ll.mit.eduLabN Consulting, L.L.C.lberger@labn.net
This document defines an extension to the DLEP protocol that enables a
DiffServ aware credit-window scheme for destination-specific and
shared flow control. The extension is logically composed of two
mechanisms. The first provides credit window control, the second
identifies how flows are identified and mapped to a credit window.
The Dynamic Link Exchange Protocol (DLEP) is defined in . It provides the exchange of link
related control information between 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 extensions. This
document defines one such extension.
The base DLEP specification does not include any flow control
capability. There are various flow control techniques theoretically possible
with DLEP. For example, a credit-window scheme for
destination-specific flow control which provides aggregate flow
control for both modem and routers has been proposed in .
This document defines a DLEP extension which provides a
flow control mechanism for traffic sent from a router to a modem. Flow
control is provided using one or more logical "Credit Windows", each of
which will typically be supported by an associated virtual or physical
queue. Traffic sent by a router will use traffic flow classification
information provided by the modem to identify which traffic is
associated with each credit window. (For general background on
traffic classification see Section 2.3.)
Credit windows may be shared or dedicated on a per flow basis. The
extension is structured to allow for reuse of the defined credit
window based flow control with different traffic classification
techniques.
This
document defines traffic classification based on DLEP destination and
DiffServ DSCPs (differentiated services
codepoints). The defined
mechanism allows for credit windows to be shared across traffic sent
to multiple DLEP destinations and DSCPs, or used exclusively for
traffic sent to a particular destination and/or DSCP. The extension
also supports the "wildcard" matching of any DSCP. Traffic
classification information is provided such that it can be
readily extended to support non-DSCP related traffic classification
techniques, or be used by non-credit window related extensions, such
as .
The extension defined in this document is referred to as "DiffServ
Aware Credit Window" or, more simply, the "DA Credit" extension.
Future extensions are expected to define traffic classification
techniques other than DiffServ, e.g., IEEE 802.1 Q priority code
points or even 5-tuple IP flows.
This document defines a new DLEP Extension Type Value in which is used to indicate support for the
extension. Two new messages are defined in
and five new DLEP data items in are
defined to support credit window control. A single data item is
defined in to support traffic
classification in general, as well as identification of flows based on
DSCPs.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 when, and
only when, they appear in all capitals, as shown here.
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
be used to support DiffServ and per DLEP destination based flow control.
Both types of DLEP endpoints, i.e., a router and a modem, negotiate
the use of extension during session initialization, see Section 5.2
. When using this extension,
data traffic is allowed to be sent by the router to the modem only when
there are credits available.
Credits are managed on a per logical "Credit Windows" basis. Each
credit window can be thought of as corresponding to a queue within a
modem. Modems pass to the router information on their credit windows
and identify each via a "Credit Window Identifier", or "CID". In
addition to the CID, credit window information includes an initial
credit window size, as well as the maximum size of the logical queue
associated with each CID. The maximum size is included for
informative and potential future uses.
Modems provide an initial credit window size at the time of "Credit
Window Initialization". Such initialization can take place during
session initiation or any point thereafter. It can also take place
when rate information changes. Additional "Credit Grants", i.e.,
increments to Credit Window size, are provided using a Destination
Up or the new "Credit Control" Message. A router provides its view
of the Credit Window, which is known as "Status", in Destination Up
Response and the new "Credit Control Response" Messages. Routers
can also request credits using the new "Credit Control" Message.
When modems provide credits to a router, they will need to take into
account any overhead of their attached transmission technology and
map it into the credit semantics defined in this document. In
particular, the credit window is defined below to include per frame
(packet) MAC headers and this may not match the actual overhead of
the modem attached transmission technology. In that case a
direct mapping or an approximation will need to be made by the modem
to provide appropriate credit values.
As mentioned above, traffic classification supported by this
document is performed on a per {destination, DSCP} tuple basis.
(Per destination traffic classification is also supported.)
This means that, routers need the combination of the DLEP identified
destination and one or more DSCPs associated with a CID in
order to match traffic they send to specific credit
windows. Modems provide the mapping of DSCPs to CIDs in sets, each
of which is identified via a "Traffic Classification Identifier" or
"TID". When a destination becomes reachable, a modem "Associates"
(identifies) the TID to be used for traffic sent by the router to
that destination. This use of CIDs, TIDs and association of a TID
to a DLEP destination enables a modem to share or dedicate resources
as needed to match the specifics of its implementation and its
attached transmission technology.
The extension defined in this document is composed of the
mechanisms and processing defined in
and .
To indicate that the DiffServ Aware Credit Window
Extension is to be used, an implementation MUST include the DiffServ
Aware Credit Window Type Value in the Extensions Supported Data
Item. The Extensions Supported Data Item is sent and processed
according to .
The DiffServ Aware Credit Window Extension Type Value is TBA1, see
.
This section defines additions to DLEP for the control of
credit based flow control. As mentioned above, the definition
is made in the context of credit windows which can be thought
of as representing different logical queues. Two new messages
and five data items are defined to support credit window control.
Credit window control also impacts the data plane.
When the use of the extension defined in this document is agreed upon
per standard DLEP processing, see , a
router MUST NOT send data traffic to a modem for forwarding when there are no
credits available in the associated Credit Window.
This document defines credit windows in octets. A credit window value
MUST be larger than the number of octets contained in a packet,
including any MAC headers used between the router and the modem, in
order for the router to send the packet to a modem for forwarding.
The credit window is decremented by the number of sent octets.
A router MUST identify the credit window associated with traffic
sent to a modem based on the traffic classification information
provided in the data items defined in this document. Note that
routers will typically view a DLEP destination as the next hop MAC
address.
Two new messages are defined by this extension: the Credit Control
and the Credit Control Response Message. Sending and receiving both
message types MUST be supported by any implementation that
advertises use of this extension per .
Credit Control Messages are sent by modems and routers. Each
sender is only permitted to have one message
outstanding at one time. That is, a sender (modem or router) MUST
NOT send a second (or any subsequent) Credit Control Message
until a Credit Control Response Message is received
from its peer (router or modem).
Credit Control Messages are sent by modems to provide credit
window increases. Modems send credit increases when there is
transmission or local queue availability that exceeds the credit
window value 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.
Credit Control Messages MAY be sent by routers to request
credits and 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.
A message sent by a modem, MUST contain one or more
Credit Window Grant Data Items as defined below in . A router receiving this message MUST
respond with a Credit Control Response Message.
A message sent by a router, MUST contain one or more Credit Window
Request Data Items defined below in and SHOULD contain a Credit Window
Status Data Item, defined in ,
corresponding to each credit window request. A modem receiving
this message MUST respond with a Credit Control Response
Message based on the received 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 below.
Credit Control Response Messages are sent by
routers to report the current Credit Window for a destination.
A message sent by a router, MUST contain one or more
Credit Window Status Data Items as defined below in .
Specific receive processing associated with the Credit Window
Status Data Item is provided below.
Credit Control Response Messages sent by modems MUST contain one
or more Credit Window Grant Data Items. A data item
for every Credit Window Request data item contained in the
corresponding Credit Control Response Message received by the modem MUST be
included. Each Credit Grant Data Item MAY provide zero or more additional
credits based on the modem's transmission or local queue
availability.
Specific receive processing associated with each Grant Data Item
is provided below.
The Message Type value in the DLEP Message Header is set to TBA3.
Five new data items are defined to support credit window control.
The Credit Window Initialization
Data Item is used by a modem to identify a credit window and set its
size.
The Credit Window Association
Data Item is used by a modem to identify which traffic classification
identifiers (flows) should be used when sending traffic to a particular DLEP
identified destination.
The Credit Window Grant is used by a modem to provide additional
credits to a router.
The Credit Request is used by a router to request additional
credits.
The Credit Window Status is used to advertise the sender's view of
number of available credits for state synchronization purposes.
Any errors or inconsistencies encountered in parsing data items
are handled in the same fashion as any other data dtem parsing error
encountered in DLEP, see . In particular, the
node parsing the data item MUST terminate the session with a
Status Data Item indicating Invalid Data.
The defined data items and operations have similar objectives as those
found in . One notable
difference from this extension is that in this document credits are
never provided by the router to the modem.
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
included in any Session Initialization Response Message that also
contains the DiffServ Aware Credit Window Extension Type Value in
the Extensions Supported Data Item. Updates to previously identified
credit windows or new credit windows MAY be sent by a modem by
including the data item in Session Update Messages. More than one data
item MAY be included in a message to provide information on multiple
credit windows.
The Credit Window Initialization Data Item identifies a credit window
using a Credit Window Identifier, or CID. It also provides the size of
the identified credit window. Finally, a queue size (in bytes) is
provided for informational purposes. Note that to be used, a CID must
be associated with in a Traffic Classification Identifier via a Credit
Window Association Data Item.
The format of the Credit Window Initialization Data Item is:
TBA4 16
Per Length
is the number of octets in the data item. It MUST be equal to
sixteen (16).
A 16-bit unsigned integer identifying a credit window. The value
of 0xFFFF is reserved and MUST not be used in this data item.
There is no other restriction on values used by a modem, and there
is no requirement for sequential or ordered values.
MUST be set to zero by the sender (a modem) and ignored by the
receiver (a router).
A 64-bit unsigned integer representing the credits, in octets, to
be applied to the Credit Window. This value includes MAC
headers as seen on the link between the modem and router.
An 8-bit unsigned integer indicating the scale used in the Credit Window
Size fields. The valid values are:
A 24-bit unsigned integer representing the maximum size, in the
octet scale indicated by the Scale field, of the associated credit
window.
A router that receives a Credit Window Initialization Data Item MUST
locate the credit window that is associated with the CID indicated in
each received data item. If no associated credit window is found, the
router MUST initialize a new credit window using the values 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 Data
Item. It is worth noting, that such updates can result in a credit
window size being reduced, for example, due to a transmission rate
change on the modem.
The Credit Window Associate Data Item is used by a modem to
associate traffic classification information with a destination.
The traffic classification information is identified using a TID
value that has previously been sent by the modem or is listed
in a Traffic Classification Data Item carried in the
same message as the data item.
A single Credit Window Associate Data Item MUST be included in all
Destination Up and Destination Update Messages sent by a modem when
the use of the extension defined in this document is agreed upon,
see . Note that a TID will not be used
unless it is listed in a Credit Window Associate Data Item.
The format of the Credit Window Associate Data Item is:
TBA5 2
Per Length
is the number of octets in the data item. It MUST be equal to
two (2).
A 16-bit unsigned integer identifying a traffic classification
set that has been identified in a Credit Window Traffic
Classification Data Item, see .
Unknown TID values SHOULD be reported and result in associated
traffic being dropped.
A router that receives the Credit Window Associate Data Item MUST
locate the traffic classification information indicated by the
received TID. If no corresponding information can be located, the
data item MUST be treated as an error as described above. Once the
traffic classification information is located, it MUST be associated
with the destination and the router MUST ensure that any data plane
state, see , that is associated with the
TID is updated as needed.
The Credit Window Grant data item is used by a modem to
provide credits to a router. One or more Credit Window Grant Data
Items MAY be carried in the DLEP Destination Up, Destination Announce
Response, Destination Update, Credit Control Messages, and Credit
Control Response Messages. Multiple
Credit Window Grant Data Items in a single message are used to
indicate different credit values for different credit windows. In all
message types, this data item provides an additional number of octets
to be added to the indicated credit window. Credit window are
identified via using CID values that have been previously been
sent by the modem or are listed 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:
TBA612
Per , Length
is the number of octets in the data item. It MUST be equal to
twelve (12).
A 16-bit unsigned integer identifying a credit window that has
been identified in a Credit Window Initialization Data Item,
see . Unknown CID values SHOULD be
reported and ignored.
A 64-bit unsigned integer representing the credits, in octets, to
be added to the Credit Window. This value includes MAC
headers as 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
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 is important to note that while this data item can be received in a
destination specific message, credit windows are managed independently
from the destination identified in the message carrying this Data
Item, and the indicated CID MAY even be disjoint from the identified
destination.
Once the credit window is identified, the credit window size MUST be
increased by the value contained in the Additional Credits field. If
the increase results in a window overflow, i.e., the size of the
credit window after the increase is smaller than the original credit
window size, the Credit Window must be set to its maximum
(0xFFFFFFFFFFFFFFFF).
No response is sent by the router to a modem after processing a Credit
Window Grant Data Item received in a Credit Control Response Message.
In other cases, the receiving router MUST send a
Credit Window Status data item or items reflecting the
resulting Credit Window value of the updated credit window. When the
Credit Grant data item is received in a Destination Up Message, the
Credit Window Status data item(s) MUST be sent in the
corresponding Destination Up Response Message. Otherwise, a
Credit Control Message MUST be sent.
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 Window Status data items MAY be carried in a
Destination Up Response Message or a Credit Control Response Message.
As discussed above, the Destination Up Response Message is used when
the data item is sent in response to a Destination Up Message, and
the Credit Control Response Message is sent in response to a Credit
Control Message. Multiple Credit Window Status data items in a
single message are used to indicate different sizes of different
credit windows. Similar to the Credit Window Grant, credit windows
are identified using CID values that have been previously been sent
by the modem.
The format of the Credit Window Status Data Item is:
TBA712
Per Length
is the number of octets in the data item. It MUST be equal to
twelve (12).
A 16-bit unsigned integer identifying a credit window that has
been identified in a Credit Window Initialization Data Item,
see .
A 64-bit unsigned integer, indicating
the current number of credits, in octets, available for the
router to send to the modem. This is referred to as the
Modem Receive Window in .
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,
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 to
the Destination indicated in the message carrying the data item.
Once the credit window is identified, the modem SHOULD check the
received Credit Window Size field value against the outstanding credit
window's available credits at the time the most Credit Window
Initialization or Grant data item associated with the indicated CID
was sent. If the values significantly differ, i.e., greater than can
be accounted for based on observed data frames, then the modem SHOULD
send a Credit Window Initialization Data Item to reset the associated
credit window size to the modem's current view of the available
credits. As defined above, Credit Window Initialization Data Items are
sent in Session Update Messages. When multiple data items need to be
sent, they SHOULD be combined into a single message when possible.
Alternatively, and also in cases where there are small differences,
the modem MAY adjust the values sent in Credit Window Grant data items
to account for the reported Credit Window.
The Credit Window Request Data Item is used by a router to
request additional credits for particular credit windows. Credit
Window Request Data Items are carried in Credit Control Messages, and
one or more Credit Window Request Data Items MAY be present in a
message.
Credit windows identified using a CID as defined above in . Multiple CIDs MAY be present to allow for the
case where the router identifies that credits are needed in multiple
credit windows. The special CID value of 0xFFFF is used to
indicate that a credit request is being made across all queues.
The format of the Credit Window Request Data Item is:
TBA8Variable
Per Length
is the number of octets in the data item, excluding the Type and
Length fields. It will equal the number of CID
fields carried in the data item times 2 and MUST be at least 2.
One or more 16-bit fields used to indicate a credit window that
has been identified in a Credit Window Initialization Data Item,
see . The special value of 0xFFFFFFFF
indicates that the request applies to all CIDs.
A modem receiving this data item MUST provide a Credit Increment for
the indicated credit windows via Credit Window Grant Data Items
carried in a new Credit Control Message. Multiple values and queue
indexes SHOULD be combined into a single Credit Control Message when
possible. Unknown CID values SHOULD be reported or logged and then
ignored by the modem.
Traffic classification is supported by the Traffic Classification
Data Item defined below. The base data item and sub data item
structure is intended to be independent of any specific usage of the
flow identification provided within the data item. It is designed to
be extensible for future traffic classification types. While the
structure of the data items is extensible, actual flow information
is expected to be used in an extension dependent manner.
In the context of the DiffServ Aware Credit Window Extension, the
Traffic Classification Data Item is used by a modem to identify
groups of DSCPs which are to be mapped to a credit window. A DLEP
destination address is also needed to complete the traffic
classification information. This address is provided by a modem when
it identifies the traffic classification set in a Destination Up
Message using the Credit Window Associate Data Item defined above.
This sections defines the Traffic Classification Data Item. This
data item is used by a modem to provide a router with traffic
classification information. When an extension requires use of this
data item the Traffic Classification Data Item SHOULD be included by
a modem in any Session Initialization Response Message that also
contains the corresponding Extension Type Value in the Extensions
Supported Data Item. Updates to previously provided traffic
classifications or new traffic classifications MAY be sent by a
modem by including the data item in Session Update Messages. More
than one data item MAY be included in a message to provide
information on multiple traffic classifiers.
The set of traffic classification information provided in the data
item is identified using a Traffic Classification Identifier, or TID.
Addition information, e.g., the list DSCPs associated with a credit
window, is provided in a variable series of Queue Parameter sub-data
items.
The format of the Traffic Classification Data Item is:
TBA9Variable
Per Length
is the number of octets in the data item, excluding the Type and
Length fields.
A 16-bit unsigned integer identifying a traffic classification
set. There is no restriction on values used by a modem, and there
is no requirement for sequential or ordered values.
An 8-bit unsigned integer indicating the number of Traffic
Classification Sub Data Items included in the data item. A value
of zero (0) is allowed and indicates that no traffic should be
matched against this TID.
MUST be set to zero by the sender (a modem) and ignored by the
receiver (a router).
Zero or more Traffic Classification Sub Data Items of the format
defined below MAY be included. The number MUST match the value
carried in the Num SDIs field.
A router receiving the Traffic Classification Data Item MUST locate
the traffic classification information that is associated with the
TID indicated in each received data item. If no associated traffic
classification information is found, the router MUST initialize a
new information set using the values carried in the data item. When
associated traffic classification information is found, the router
MUST update the information using the values carried in the Data
Item. In both cases, a router MUST also ensure that any data plane
state, see , that is associated with the
TID is updated as needed.
All Traffic Classification Sub Data Items share a common format
that is patterned after the standard DLEP data item format, see
Section 11.3. There is no requirement
on, or meaning to sub data item ordering. Any errors or
inconsistencies encountered in parsing sub data items are handled
in the same fashion as any other data item parsing error
encountered in DLEP.
The format of the Traffic Classification Sub Data Item is:
A 16-bit unsigned integer that indicates the type and
corresponding format of the data item's Value field. Sub Data
Item Types are managed according to the IANA registry described
in .
Variable
Copying , Length a 16-bit unsigned
integer that is the number of octets in the sub data item,
excluding the Type and Length fields.
The DiffServ Credit Window Traffic Classification Sub Data Item is
used to identify the DSCPs associated with a specific credit
window. Credit windows are identified using CID values that have
been previously been sent by the modem or are listed in a Credit
Window Initialization Data Item carried in the same messages as
the sub data item. DSCPs are identified in a list of DiffServ
fields. An implementation that does not support DSCPs, and wants
to use credit window flow control for all traffic to a destination
or destinations, would indicate with 0 DSCPs.
The format of the DiffServ Credit Window Traffic Classification
Sub Data Item is:
Variable
Length is the number of octets
in the sub data item. It is equal to three (3) plus the value
of the Num DSCPs field.
A 16-bit unsigned integer identifying a credit window that has
been identified in a Credit Window Initialization Data Item,
see . Unknown CID values SHOULD be
reported and result in associated traffic being dropped.
An 8-bit unsigned integer indicating the number of DSCPs
carried in the sub data item. A zero (0) indicates a (wildcard)
match against any DSCP value.
Each DS Field is an 8-bit whose definition is the same as .
A router receiving the DiffServ Traffic Classification Sub Data
Item MUST validate the information on receipt prior to the
information and data plane update described earlier in this
section. The credit 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 in a Credit Window Initialization Data
Item carried in the same message as the sub data item. If the CID
is not located, then it MUST be treated as an error as described
above.
When there are no unknown CIDs, the receiver MUST ensure
that each DS Field value is listed only once across the whole
Traffic Classification Data Item. Note, this check
is across the data item and not the individual sub data item. If
the same DS Field value is listed more than once within the same
Traffic Classification Data Item, the data item MUST
be treated as an error as described above.
In all cases, the router MUST use validated DSCPs in data plane
credit window identification as described in .
Sessions established with both peers identified as supporting the
DiffServ Aware Credit Window Extension Type, see , MUST NOT use the defined Credit data items.
If a node supporting the extension defined in this document, receives a
defined data item,
the recipient MUST ignore the received information.
This section provides several network management guidelines
to implementations supporting the DiffServ Aware Credit Window
Extension.
The use of the extension defined in this document SHOULD be
configurable on both modems and routers.
Modems SHOULD support the configuration of DSCP to credit
window (queue) mapping.
Modems MAY support the configuration of the number of credit
windows (queues) to advertise to a router.
Routers may have limits on the number of queues that they can
support and, perhaps, even limits in supported credit window
combinations, e.g., if per destination queues can even be
supported at all. When modem-provided credit window information
exceeds the capabilities of a router, the router MAY use a subset of
the provided credit windows. Alternatively, a router MAY reset the
session and indicate that the extension is not supported. In either
case, the mismatch of capabilities SHOULD be reported to the user via
normal network management mechanisms, e.g., user interface or error
logging.
The extension introduces a DiffServ awareness to the mechanisms
defined in . The
extension does not inherently introduce any additional threats above
those documented in . The
approach taken to Security in that document and apply equally when running
the extension defined in this document.
This document requests the assignment of 5 values by IANA. All
assignments are to registries defined by .
This document requests 1 new assignment to the DLEP Extensions
Registry named "Extension Type Values" in the range with the
"Specification Required" policy. The requested value is as follows:
CodeDescriptionTBA1DiffServ Aware Credit Window
This document requests 2 new assignments to the DLEP Message Registry
named "Message Values" in the range with the "Specification Required"
policy. The requested values are as follows:
Type CodeDescriptionTBA2Credit ControlTBA3Credit Control Response
This document requests the following new assignments to the DLEP Data Item
Registry named "Data Item Type Values" in the range with the "Specification
Required" policy. The requested values are as follows:
Type CodeDescriptionTBA4Credit Window InitializationTBA5Credit Window AssociationTBA6Credit Window GrantTBA7Credit Window StatusTBA8Credit Window RequestTBA9Traffic Classification
Upon approval of this document, IANA is requested to create a new
DLEP registry, named "Sub Data Item Type Values". The registry
shall identify the type code value, the Data Item which may use the
value, and a description of the value. While the same value may be
reused in different data items, this is not recommended at this time.
The following table provides initial registry values and the
defined policies that should apply to the registry:
Type CodeValid Data ItemsDescription0N/AReserved1N/AReserved (for pause sub-DI)2DiffServ Credit Window Traffic ClassificationDiffServ Traffic Classification2-65407Specification Required65408-65534Private Use65535Reserved
IEEE Standard for Local and metropolitan area networks--Bridges and Bridged Networks
IEEE
This standard specifies how the Media Access Control (MAC) Service is supported by Bridged Networks, the principles of operation of those networks, and the operation of MAC Bridges and VLAN Bridges, including management, protocols, and algorithms
The sub data item format was inspired by Rick Taylor's "Data Item
Containers". He also proposed the separation of credit windows from
traffic classification at IETF98. Many useful comments were
received from contributors to the MANET working group.
This document is intended to allow for use of the credit control
mechanisms defined in with
different flow identification techniques. This section explores
the viability of this through the notional definition of credit
control with Ethernet Priority Code Points. Ethernet Priority Code
Point support is defined as part of the IEEE 802.1Q tag format and includes a 3 bit "PCP"
field. The tag format also includes a 12 bit VLAN identifier (VID)
field.
In theory only one new Traffic Classification Sub Data Item is
required to enable support for the traffic classification of a new
flow type. This section defines such a sub data item. This
definition is not a full Extension definition, but may serve as the
foundation for such in the future; in a new document.
The Ethernet Credit Window Traffic Classification Sub Data Item is
used to identify the VLAN and PCPs associated with a specific credit
window. Credit windows are identified using CID values that have
been previously been sent by the modem or are listed in a Credit
Window Initialization Data Item carried in the same messages as
the sub data item. PCPs are identified in a list of priority
fields. An implementation that does not support PCPs, and wants
to use credit window flow control for all traffic to a destination
or destinations, would indicate with 0 PCPs. Such an
implementation could identify a VLAN to use per destination.
The format of the Ethernet Credit Window Traffic Classification
Sub Data Item is:
Variable
Length is the number of octets
in the sub data item. It is equal to eight (8).
A 16-bit unsigned integer identifying a credit window that has
been identified in a Credit Window Initialization Data Item,
see . Unknown CID values SHOULD be
reported and result in associated traffic being dropped.
A 4-bit unsigned integer indicating the number of PCPs
carried in the sub data item. A zero (0) indicates a (wildcard)
match against any PCP value.
A 12-bit unsigned integer field indicating the VLAN to be
used in traffic classification. A value of all ones (0xFFF)
indicates a wild card and any VID is to be accepted during
traffic classification. Zero (0) and any other value are
valid values.
Each Priority Field is an 4-bit whose definition includes the
PCP field defined in
A router receiving the Ethernet Traffic Classification Sub Data
Item MUST validate the information on receipt prior to the
information and data plane update described earlier in this
section. The credit 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 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 be treated as an error as described
above.
When there are no unknown CIDs, the receiver MUST ensure
that each Priority Field value is listed only once across the
whole Traffic Classification Data Item. Note, this check is
across the data item and not the individual sub data item. If
the same Priority Field value is listed more than once within the
same Traffic Classification Data Item, the data item MUST be
treated as an error as described above.
In all cases, the router MUST use validated PCPs in data plane
credit window identification as described in .
A full definition for the support of an Ethernet Credit Window
Extensions would need to assign a new Extension Type Value as
well as the Ethernet Credit Window Traffic Classification Sub
Data Item Value. It would also need to fully document the
implications of multiple VLAN support, including configuration
implications, e.g., limiting value to 0 to indicate PCP-only
usage.