Manual:VPLS Control Word
Pseudowire Fragmentation and Reassembly (RFC 4623)
VPLS allows remote sites to share an Ethernet broadcast domain by connecting sites through pseudo-wires(PW) tunnels over a packet switching network (PSN). Since VPLS encapsulation adds additional overhead, each interface in LSP should be able to transmit large enough packet.
Each ethernet chipset has hardware limitation on maximum packet size that it can transmit. Even now there are Ethernets that supports only one Vlan tag, meaning that maximum packet size without Ethernet header and checksum (L2MTU) is 1504 bytes. Obviously it is not enough to forward VPLS encapsulated Ethernet frame without fragmentation (at least 1524 L2MTU support is required). See MTU article for maximum supported L2MTUs on RouterBOADs.
Since not even all RouterBOARDs support enough L2MTU to transmit VPLS encapsulated packet without fragmentation, RouterOS have added Pseudowire Fragmentation and Reassembly (PWE3) support according to RFC 4623 using 4-byte Control Word (CW).
Control Word Usage
In RouterOS Control Word is used for packet fragmentation and reassembly inside VPLS tunnel and is done by utilizing optional Control Word (CW). CW is added between PW label (demultiplexor) and packet payload and adds additional 4-byte overhead.
Until RouterOS v5.5 CW was used always, but, for compatibility with other vendors that do not use CW, feature to turn off Control Word usage was added. CW usage is controlled by one new parameter use-control-word in /interface vpls bgp-vpls and /interface vpls cisco-bgp-vpls
VPLS Packet and CW Format
As you can see Control Word is divided into 5 fileds:
- 0000 - 4-bits identifies that packet packet is PW (not IP)
- Flags - 4bits
- Frag - 2bits value that indicates payload fragmentation.
- Len - 6bits
- Seq - 16bits sequence number used to detect packet loss / misordering.
According to RFC generation and processing of sequence number is optional.
To show CW usage we will use simple three router setup as illustrated below.
This setup will not explain BGP and LDP configuration since its detailed explanation is found in other articles.