rfc-7727

Spanning Tree Protocol (STP) Application of the Inter-Chassis Communication Protocol (ICCP)

M. Zhang, H. Wen, J. Hu
date2016-01 streamIETF areartg wgpals statusPROPOSED STANDARD pages25 canonicalhttps://www.rfc-editor.org/rfc/rfc7727 doi10.17487/RFC7727
The Inter-Chassis Communication Protocol (ICCP) supports an inter-chassis redundancy mechanism that is used to support high network availability. In this document, Provider Edge (PE) devices in a Redundancy Group (RG) running ICCP are used to offer multihomed connectivity to Spanning Tree Protocol (STP) networks to improve availability of the STP networks. The ICCP TLVs and usage for the ICCP STP application are defined.

Extracted elements (28)

design-rationale §4.2.1

During initial setup, a PE device SHOULD advertise TLVs in the order: STP System Config TLV, remaining Configuration TLVs, then State TLVs. This ordering allows peers to begin updating STP state as early as possible, since state updates depend on configuration information.

routing

design-rationale §2

The RG acts as a single root bridge (using the numerically lowest BridgeIdentifier as the virtual root's MAC address) so that STP within the customer network always breaks loops by partitioning the multihomed STP network into separate islands, each attached to one PE, forcing all PEs to be active simultaneously. This differs from generic VPLS where the root bridge resides in the customer network and multihomed PEs operate in active-standby mode.

routing, mpls

interoperability-note §3.4.1

If a PE device supports MAC Address Withdrawal (RFC 4762, Section 6.2), it SHOULD send an LDP Address Withdraw Message with the list of MAC addresses towards the core upon receiving an STP Topology Changed Instances TLV. No such message need be sent to PEs in the same RG since they flush MAC tables upon receipt of the TLV.

routing, mpls

interoperability-note §4.2.1

If a system receives an RG Connect Message with an STP Connect TLV with a differing Protocol Version, it MUST follow the application versioning procedures outlined in Section 4.4.1 of RFC 7275.

routing

normative-requirement §4.2.2 MUST

A virtual root bridge identifier MUST be set to the MAC address advertised by the PE device with the numerically lowest BridgeIdentifier in the RG, to protect against possible misconfigurations.

routing

normative-requirement §4.2.2 MUST

An implementation MUST advertise configuration prior to advertising corresponding state. If a PE receives an STP State TLV for an unknown instance, it MUST request synchronization of configuration and state from its peer.

routing

normative-requirement §3.6 MUST

Each pair of STP Synchronization Data TLVs MUST occur in the same fragment. When total TLV size exceeds fragment maximum, TLVs MUST be divided into multiple sets each delimited by a pair of Synchronization Data TLVs across multiple fragments.

routing

normative-requirement §3.5 MUST NOT

The Request Number value of 0 is reserved for unsolicited synchronization and MUST NOT be used in the STP Synchronization Request TLV.

routing

normative-requirement §3.4.1 MUST

Upon receiving an STP Topology Changed Instances TLV, the receiving RG member MUST initiate the Topology Change event, send BPDUs with the Topology Change flag set to 1 out of designated ports, and flush MAC addresses relevant to the listed instances.

routing

normative-requirement §4.2.4 SHOULD NOT

Upon recovery from a previous fault, a PE device SHOULD NOT reclaim the role of the virtual root for the STP network even if it has the numerically lowest BridgeIdentifier among the RG, to minimize traffic disruption.

routing

normative-requirement §4.2.1 MUST

When an RG is configured on a system supporting ICCP STP, such systems MUST send an RG Connect Message with an STP Connect TLV to each RG member PE. After the application connection is established, every PE device MUST communicate its system-level configuration to peers via STP System Config TLV.

routing

normative-requirement §4.2.3 MUST

Whenever any STP parameter on the CE or PE side changes, the system MUST transmit an updated TLV for the affected STP instances. When administrative or operational state changes, the system MUST transmit an updated State TLV to its peers.

routing

protocol-element §3.3.5

The STP Configuration Digest TLV (Type=0x2006) carries a 16-octet Configuration Digest encoding the VLAN-to-instance mapping as specified in IEEE 802.1Q Section 13.8 item d. Length is always set to 16.

routing

protocol-element §3.1

The STP Connect TLV (Type=0x2000) is included in the RG Connect Message to signal initiation of an ICCP STP application connection. It contains a Protocol Version field (this document defines version 0x0001) and an Acknowledgement bit (A-bit) indicating whether the sender has received a corresponding STP Connect TLV from the recipient.

routing, mpls

protocol-element §3.2

The STP Disconnect TLV (Type=0x2001) is used in the RG Disconnect Message to indicate termination of the ICCP STP application connection. It may contain an optional STP Disconnect Cause Sub-TLV (Type=0x200C) carrying a variable-length UTF-8 encoded reason string.

routing, mpls

protocol-element §3.3.2

The STP Region Name TLV (Type=0x2003) carries the MST Region Name as specified in IEEE 802.1Q Section 3.142. The STP Revision Level TLV (Type=0x2004) carries the 2-octet Revision Level as specified in IEEE 802.1Q Section 13.8 item c.

routing

protocol-element §3.6

The STP Synchronization Data TLV (Type=0x200B) delimits the start (S=0) and end (S=1) of a synchronization data set in response to a Synchronization Request. It carries a 2-octet Request Number matching the request; Request Number 0 is used for unsolicited advertisements.

routing

protocol-element §3.5

The STP Synchronization Request TLV (Type=0x200A) allows a PE device to request retransmission of configuration or state data from its peer. It includes a 2-octet Request Number (non-zero), C-bit (config request), S-bit (state request), 14-bit Request Type, and an InstanceID List.

routing

protocol-element §3.3.1

The STP System Config TLV (Type=0x2002) announces the local node's STP System Parameters to RG peers. It carries an 8-octet ROID (Redundant Object Identifier) and a 6-octet MAC address representing the sender's BridgeIdentifier; total Length is always 14.

routing

protocol-element §3.4.1

The STP Topology Changed Instances TLV (Type=0x2007) reports the list of CIST/MSTI InstanceIDs whose topologies have changed per TCN messages. Each InstanceID is padded to a 16-bit boundary with 4 reserved bits (R=0) in the high nibble.

routing

registry §6

IANA allocated 13 codepoints in the 'ICC RG Parameter Types' subregistry of 'Pseudowire Name Spaces (PWE3)' from the IETF Review range 0x2000–0x2FFF: 0x2000 STP Connect TLV through 0x200C STP Disconnect Cause TLV.

registry, routing, mpls

security-consideration §5

An attack on the ICCP channel (running in the provider's network) can break not only provider traffic delivery but also STP routing within the customer's network. DoS attacks on the channel as described in RFC 7275 can break STP within the customer network; implementations MUST provide mitigation mechanisms, such as blocking the port between a PE device and a malicious CE device.

security, routing

state-machine §4.2.1

The ICCP STP application connection transitions to operational state when both PEs have sent and received STP Connect TLVs with A-bit=1. A PE sets A-bit=0 initially, then MUST resend with A-bit=1 upon receiving a Connect TLV from its peer, triggering the operational state.

routing

wire-format §3.4.2

The STP CIST Root Time Parameters TLV (Type=0x2008) encodes MaxAge (16 bits), MessageAge (16 bits), FwdDelay (16 bits), HelloTime (16 bits), and RemainingHops (8 bits) for 9 octets total. All time values are in seconds with 1-second granularity.

routing

wire-format §3.1

The STP Connect TLV wire format includes U=F=0 bits, Type=0x2000 (16 bits), Length (16 bits), Protocol Version (16 bits), A-bit (1 bit), Reserved (15 bits), and optional Sub-TLVs. No optional Sub-TLVs are defined for version 0x0001.

routing

wire-format §3.2.1

The STP Disconnect Cause Sub-TLV (Type=0x200C) carries a variable-length Disconnect Cause String encoded in UTF-8 format for operational diagnostic purposes.

routing

wire-format §3.3.4

The STP Instance Priority TLV (Type=0x2005) encodes a 4-bit Pri (Instance Priority) field and a 12-bit InstanceID field in 2 octets. InstanceID ranges 1–4094 for MSTIs and 0 for CIST.

routing

wire-format §3.4.3

The STP MSTI Root Time Parameter TLV (Type=0x2009) encodes a 4-bit Pri, a 12-bit InstanceID, and an 8-bit RemainingHops field (3 octets total). InstanceID ranges 1–4094 per IEEE 802.1Q Section 12.8.1.2.2.

routing