Control word is a 32-bit field that is inserted between inner MPLS label and the transported L2 frame.
Its purposes are:
- Pad small packets
- Carry control bits of Layer 2 header of the transported protocol (FECN, etc)
- Preserve the sequence of the transported frames (out of sequence packets are dropped)
- Facilitate the correct load balancing of AToM packets in the MPLS backbone
- Facilitate fragmentation and reassembly
You can think about Control Word as the 3rd label on a AToM packet. The 1st being the PE-to-PE label, the 2nd being the VC to VC label. Although Control Word is not really an MPLS label.
Control Word is optional for AToM (except for ATM AAL5 and FR). The use of Control Word is negotiated during the PW session setup between the PE.
Control Word is enable by default on Cisco IOS and IOS-XR
Control Word is REQUIRED for ATM AAL5 and Frame Relay
Some LSR forward traffic by looking into the 1st byte after the inner label to check whether the packet is a IPv4 or IPv6 packet when ECMP exists, when it found out the packet is an IP packet, it will try to load balanced the ECMP per flow by looking into the IP packet header. When Control Word is enable, the 1st byte is always 0, it helps the LSR not to accidentally treat a Layer 2 frame as IPv4 or IPv6 packets. For example, Ethernet header would start with 4, which is the same as IPv4 header.