rfc-8237

MPLS Label Switched Path (LSP) Pseudowire (PW) Status Refresh Reduction for Static PWs

L. Martini, G. Swallow, E. Bellagamba
date2017-10 streamIETF areartg wgpals statusPROPOSED STANDARD pages20 canonicalhttps://www.rfc-editor.org/rfc/rfc8237 doi10.17487/RFC8237
This document describes a method for generating an aggregated pseudowire (PW) status message transmitted for a statically configured PW on a Multiprotocol Label Switching (MPLS) Label Switched Path (LSP) to indicate the status of one or more PWs carried on the LSP. The method for transmitting the PW status information is not new; however, this protocol extension allows a Service Provider (SP) to reliably monitor the individual PW status while not overwhelming the network with multiple periodic status messages. This is achieved by sending a single cumulative summary status verification message for all the PWs grouped in the same LSP.

Extracted elements (27)

design-rationale §1

The protocol reduces scalability problems by replacing many per-PW periodic status refreshes with a single LSP-level keepalive. Once the ACTIVE state is reached, PW status messages can use a Refresh Timer of zero (no further retransmission), greatly decreasing message volume.

mpls

design-rationale §3

The PW status refresh reduction Message Refresh Timer should be set much smaller than the PW status Refresh Timer so the protocol reaches ACTIVE state quickly—before the first PW status Refresh Timer expires—minimizing unnecessary PW status retransmissions when an LSP starts forwarding.

mpls

design-rationale §2.2

Timer reduction transitions use 3.5× the original timer as a holddown period when shrinking the timer, so that both peers can safely converge to the new value without prematurely timing out the session.

mpls

normative-requirement §2 MUST

A PE using the PW status refresh reduction protocol MUST send the PW status refresh reduction Message as soon as a PW is configured on the LSP, then retransmit at the locally configured Refresh Timer interval.

mpls

normative-requirement §6 MUST

If a configuration mismatch is detected (a PW configured locally but not on the remote PE), the local PW MUST be considered in 'Not Forwarding' state, and a notification with code 'PW configuration mismatch' MUST be sent to the remote PE.

mpls

normative-requirement §5 MUST

If a control message is not acknowledged after 3.5 times the Refresh Timer value, a fatal notification 'Unacknowledged control message' MUST be sent and the PW status refresh reduction session MUST be terminated.

mpls

normative-requirement §6.1 MUST

If a new PW is added to a particular LSP, the PE MUST place the configuration verification of this PW on hold for at least 30 seconds to minimize false-positive misconfiguration events caused by the two ends of the PW being slightly out of sync.

mpls

normative-requirement §2 SHOULD NOT

If no acknowledgment is received and the protocol has not reached the ACTIVE state, the PE SHOULD NOT send any PW status messages with a Refresh Timer of zero as described in RFC 6478 Section 5.3.1.

mpls

normative-requirement §3 MUST

If the PW status refresh reduction protocol session is terminated (entering INACTIVE or STARTUP), the PE MUST immediately resend all previously sent PW status messages for that LSP, and the Refresh Timer value MUST NOT be set to 0.

mpls

normative-requirement §3 MUST

Implementations MUST take care to avoid flooding the remote PE with a large number of PW status messages at once when a session is terminated; if the session ended for administrative reasons and communication is still possible, the PE SHOULD pace transmission.

mpls

normative-requirement §5.2 MUST NOT

PW status refresh reduction Messages MUST NOT be fragmented. If a sender has more configuration information than fits in one message, it may send additional messages with additional TLVs.

mpls

normative-requirement §5.2.3 MUST

Sending the same PW address in both the PW ID Configured List and PW ID Unconfigured List sub-TLVs in the same configuration message is a fatal session error; the session is terminated by entering STARTUP state with error code 'PW Configuration TLV conflict'.

mpls

normative-requirement §4 MUST

Upon receipt of an unknown message or TLV with U-Bit=0, a notification with code 'Unknown TLV (U-Bit=0)' MUST be sent and the keepalive session MUST be terminated by entering STARTUP state. If U-Bit=1, the unknown content MUST be acknowledged and silently ignored.

mpls

normative-requirement §5.2.1 MUST

When the PW Configuration Message is used for a keepalive session, the MPLS-TP Tunnel ID sub-TLV MUST be sent at least once.

mpls

protocol-element §4 MUST NOT

The Message Sequence Number is an unsigned 16-bit integer starting from 1 when the protocol enters ACTIVE state, wrapping back to 1 at maximum; value 0 is reserved and MUST NOT be used.

mpls

protocol-element §4 RECOMMENDED

The Refresh Timer is a non-zero unsigned 16-bit integer ≥10, expressed in milliseconds, indicating the desired refresh interval. The default value of 30000 ms is RECOMMENDED.

mpls

protocol-element §4

The Session ID is a non-zero locally selected 16-bit value not preserved across PE restarts. The recommended generation method is a CRC-16 of the current timestamp (YY|MM|DD|HHMMSSLLL); if the result collides, increment by 1 until unique.

mpls

registry §8.5

IANA allocated G-ACh Channel Type value 0x29 for 'PW Status Refresh Reduction' in the 'MPLS Generalized Associated Channel (G-ACh) Types' registry.

mpls, registry

registry §8.2

IANA created the 'PW Status Refresh Reduction Configuration Message Sub-TLVs' registry (8-bit): 0x01 MPLS-TP Tunnel ID, 0x02 PW ID Configured List, 0x03 PW ID Unconfigured List. Expert Review for 4–64 and 128–254; IETF Review for 65–127, 0, and 255.

mpls, registry

registry §8.1

IANA created the 'PW Status Refresh Reduction Control Messages' registry (8-bit): 0x01 Notification message, 0x02 PW Configuration Message. Values 3–64 and 128–254 use Expert Review; values 65–127, 0, and 255 use IETF Review.

mpls, registry

registry §8.4

IANA created the 'PW Status Refresh Reduction Message Flags' registry (8-bit): bit 0 = U (Unknown flag), bit 1 = C (Configuration flag). Remaining bits allocated by IETF Review.

mpls, registry

registry §8.3

IANA created the 'PW Status Refresh Reduction Notification Codes' registry (32-bit) with codes: 0x00 Null Notification, 0x01 PW configuration mismatch, 0x02 PW Configuration TLV conflict (error), 0x03 Unknown TLV U-Bit=1, 0x04 Unknown TLV U-Bit=0 (error), 0x05 Unknown Message Type, 0x06 PW configuration not supported, 0x07 Unacknowledged control message (error).

mpls, registry

security-consideration §7

The security considerations from RFC 6478 are considered adequate because the operating environment is nearly identical. Since this protocol is deployed between two adjacent PEs on a physical link, misdirecting or injecting traffic requires compromising the PW transport link itself.

mpls, security

state-machine §2.1

The PW status refresh reduction protocol operates in three states: INACTIVE (protocol off or all PWs deprovisioned), STARTUP (transmitting periodic messages with Ack Session ID=0, awaiting correct acknowledgment), and ACTIVE (correct local Session ID received in Ack Session ID within 3.5x Refresh Timer). Transitions: STARTUP→ACTIVE on correct ack, ACTIVE→STARTUP on timeout or wrong Ack Session ID, any→INACTIVE on deprovision or disable.

mpls

wire-format §5.1

The Notification Message (Type=0x01) carries a 32-bit Notification Code and uses the standard control message header fields: Checksum (16-bit), Message Sequence Number (16-bit), Last Received Sequence Number (16-bit), Type (8-bit), and Flags (8-bit including U and C bits).

mpls

wire-format §5.2

The PW Configuration Message (Type=0x02) contains a variable-length series of sub-TLVs with generic format: Type (8-bit), Length (8-bit), Value (variable). Sub-TLV types are: 0x01 MPLS-TP Tunnel ID (20 octets), 0x02 PW ID Configured List (up to 8 × 32-octet PW Path IDs), 0x03 PW ID Unconfigured List (same format).

mpls

wire-format §4

The PW status refresh reduction message is carried over the MPLS G-ACh (Channel Type 0x29) and contains: MPLS LSP Label Stack Entry, GAL, G-ACh header (PW OAM Message 0x29), Session ID (16-bit), Ack Session ID (16-bit), Refresh Timer (16-bit), Total Message Length (16-bit), and optional Checksum, Message Sequence Number, Last Received Sequence Number, Message Type, Flags, and Control Message Body.

mpls