Updated Processing of Control Flags for BGP Virtual Private LAN Service (VPLS)
updates
- rfc-4761 — Virtual Private LAN Service (VPLS) Using BGP for Auto-Discovery and Signaling
Extracted elements (18)
RFC 4761 did not specify PE behavior in mixed environments where some PEs support Control Word (CW) or sequencing and others do not. If a PE set the C-bit or S-bit and the remote PE disagreed, the PW would not come up, which was overly restrictive for real deployments.
The S-bit mismatch causes PW non-establishment (SHOULD NOT come up) rather than graceful fallback, specifically to prevent out-of-sequence delivery in multihomed scenarios where multiple PEs serve the same site with differing sequencing capabilities.
A PE advertising C-bit=1 must set up its data plane to conditionally strip the CW only for frames received from PEs that indicated they send CW-marked frames, and must not strip CW from frames received from PEs that advertised C-bit=0.
This document updates RFC 4761 by changing C-bit mismatch behavior (PW now comes up without CW instead of failing) and S-bit mismatch behavior (PW SHOULD NOT come up, replacing the implicit fail). Implementations upgrading from RFC 4761 must account for both behavioral changes.
If both PEs advertise a C-bit of 0, CWs MUST NOT be used on the PW.
If both PEs at the ends of a PW set the S-bit to 1, non-zero sequence numbers MUST be used in both directions of the PW.
If both PEs send an S-bit of 0, sequence numbers MUST NOT be used on the PW.
If the PEs at both ends of a PW set the C-bit to 1, CWs MUST be used in both directions of the PW.
If the PEs at both ends of the PW do not agree on the S-bit setting, the PW SHOULD NOT come up, to avoid out-of-sequence ordering issues in multihoming scenarios as described in RFC 4385 Section 4.2.
In multihoming scenarios, each PW SHOULD be evaluated independently for C-bit requirements, rather than enforcing a uniform CW policy across all PWs representing the same service destination endpoint.
In multihoming scenarios, the S-bit evaluation SHOULD be independent per PW, following the same rules as Section 3.2; an S-bit mismatch prevents PW establishment for that specific PW, potentially leaving a multihomed site effectively single-homed.
The ingress router for a P2MP LSP should send separate NLRIs for the cases of using the CW and not using the CW.
The set of leaves on the two P2MP LSPs rooted at a given PE MUST NOT contain any PEs that advertised an S-bit value different from what the root PE itself is advertising; such PEs are excluded from both LSPs.
When a deployment is known not to utilize multihoming, an implementation MAY provide a user-configurable override allowing the PW to come up despite an S-bit mismatch; the PE advertising S-bit=0 must set sequence numbers to 0, and the receiving PE must not expect non-zero sequence numbers.
When using P2MP LSPs as VPLS transport with mixed CW support, a source PE that supports CW MUST set up two different P2MP LSPs: one transporting CW-marked frames to PEs that advertised C-bit=1, and another transporting frames without CW to PEs that advertised C-bit=0.
The C-bit in the Control Flags field of the Layer2 Info Extended Community is redefined: setting it now means the PE has the *ability* to send and receive frames with a Control Word, not that the PE unconditionally requires CW use.
The S-bit in the Control Flags field is redefined: setting it means the PE has the ability to set sequence numbers per Section 4.1 of RFC 4385 and process them per Section 4.2, rather than unconditionally requiring sequencing.
Bit-flipping media errors that cause C/S-bit mismatches between PEs no longer adversely affect PW availability (under the updated rules); they cause CW non-use or disable sequence number expectations. This is no worse than the prior RFC 4761 behavior where such errors caused the PW to not come up at all.