The Control Words defined in this section are based on the Generic PW
MPLS Control Word as defined in [RFC4385]. They provide the ability
to sequence individual frames on the PW, avoidance of equal-cost
multiple-path load-balancing (ECMP) [RFC2992], and OAM mechanisms
including VCCV [VCCV].
[RFC4385] states, "If a PW is sensitive to packet misordering and is
being carried over an MPLS PSN that uses the contents of the MPLS
payload to select the ECMP path, it MUST employ a mechanism which
prevents packet misordering." This is necessary because ECMP
implementations may examine the first nibble after the MPLS label
stack to determine whether or not the labelled packet is IP. Thus,
if the VPI of an ATM connection carried over the PW using N-to-one
cell mode encapsulation, without a control word present, begins with
0x4 or 0x6, it could be mistaken for an IPv4 or IPv6 packet. This
Martini, et al. Standards Track [Page 6]
RFC 4717 Encapsulation for ATM over MPLS December 2006
could, depending on the configuration and topology of the MPLS
network, lead to a situation where all packets for a given PW do not
follow the same path. This may increase out-of-order frames on a
given PW, or cause OAM packets to follow a different path than actual
traffic (see section 4.4.3 on Frame. Ordering).
The features that the control word provides may not be needed for a
given ATM PW. For example, ECMP may not be present or active on a
given MPLS network, strict frame. sequencing may not be required, etc.
If this is the case, and the control word is not REQUIRED by the
encapsulation mode for other functions (such as length or the
transport of ATM protocol specific information), the control word
provides little value and is therefore OPTIONAL. Early ATM PW
implementations have been deployed that do not include a control word
or the ability to process one if present. To aid in backwards
compatibility, future implementations MUST be able to send and
receive frames without a control word present.
In all cases, the egress PE MUST be aware of whether the ingress PE
will send a control word over a specific PW. This may be achieved by
configuration of the PEs, or by signaling, as defined in [RFC4447].
If the pseudowire traverses a network link that requires a minimum
frame. size (Ethernet is a practical example), with a minimum frame
size of 64 octets, then such links will apply padding to the
pseudowire PDU to reach its minimum frame. size. In this case, the
control word must include a length field set to the PDU length. A
mechanism is required for the egress PE to detect and remove such
padding.
5.1.1. The Generic Control Word
This control word is used in the following encapsulation modes:
- ATM One-to-one Cell Mode
- AAL5 PDU Frame. Mode
The PWE3 control word document [RFC4385] provides the following
structure for the generic control word:
In the above diagram, the first 4 bits MUST be set to 0 to indicate
PW data. They MUST be ignored by the receiving PE.
The next four bits are reserved and MUST be set to 0 upon
transmission and ignored upon reception.
The next 16 bits provide a sequence number that can be used to
guarantee ordered packet delivery. The processing of the sequence
number field is OPTIONAL.
The sequence number space is a 16-bit, unsigned circular space. The
sequence number value 0 is used to indicate that the sequence number
check algorithm is not used.
The last 8 bits provide space for carrying ATM-specific flags. These
are defined in the protocol-specific details below.
There is no requirement for a length field for the One-to-one Cell
and PDU Frame. modes because the PSN PDU is always greater than 64
bytes; therefore, no padding is applied in Ethernet links in the PSN.
5.1.2. The Preferred Control Word
This control word is used in the following encapsulation modes:
In the above diagram, the first 4 bits MUST be set to 0 to indicate
PW data. They MUST be ignored by the receiving PE.
Martini, et al. Standards Track [Page 8]
RFC 4717 Encapsulation for ATM over MPLS December 2006
The next 4 bits provide space for carrying protocol-specific flags.
These are defined in the protocol-specific details below.
The next 6 bits provide a length field, which is used as follows: If
the packet's length (defined as the length of the layer 2 payload
plus the length of the control word) is less than 64 bytes, the
length field MUST be set to the packet's length. Otherwise, the
length field MUST be set to zero. The value of the length field, if
non-zero, can be used to remove any padding. When the packet reaches
the service provider's egress router, it may be desirable to remove
the padding before forwarding the packet. Note that the length field
is not used in the N-to-one mode and MUST be set to 0.
The last 16 bits provide a sequence number that can be used to
guarantee ordered packet delivery. The processing of the sequence
number field is OPTIONAL.
The sequence number space is a 16-bit, unsigned circular space. The
sequence number value 0 is used to indicate that the sequence number
check algorithm is not used.
5.1.3. Setting the Sequence Number Field in the Control Word
This section applies to the sequence number field of both the Generic
and Preferred Control Words.
For a given emulated VC and a pair of routers PE1 and PE2, if PE1
supports packet sequencing, then the sequencing procedures defined in
[RFC4385] MUST be used.
Packets that are received out of order MAY be dropped or reordered at
the discretion of the receiver.
A simple extension of the processing algorithm in [RFC4385] MAY be
used to detect lost packets.
If a PE router negotiated not to use receive sequence number
processing, and it received a non-zero sequence number, then it
SHOULD send a PW status message indicating a receive fault and
disable the PW.