7. Application TLVs
7.1. Pseudowire Redundancy (PW-RED) Application TLVs
This section discusses the "ICCP TLVs" for the Pseudowire Redundancy application.
7.1.1. PW-RED Connect TLV
This TLV is included in the "RG Connect" message to signal the establishment of a PW-RED Application Connection. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0010 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Version |A| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-TLVs | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0010 for "PW-RED Connect TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Protocol Version The version of this particular protocol for the purposes of ICCP. This is set to 0x0001. - A-bit Acknowledgement bit. Set to 1 if the sender has received a "PW-RED Connect TLV" from the recipient. Otherwise, set to 0. - Reserved Reserved for future use.
- Optional Sub-TLVs There are no optional sub-TLVs defined for this version of the protocol. This document does not impose any restrictions on the length of the sub-TLVs.7.1.2. PW-RED Disconnect TLV
This TLV is used in an "RG Disconnect" message to indicate that the connection for the PW-RED application is to be terminated. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0011 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-TLVs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0011 for "PW-RED Disconnect TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Optional Sub-TLVs The only optional sub-TLV defined for this version of the protocol is the "PW-RED Disconnect Cause TLV" defined in Section 7.1.2.1.
7.1.2.1. PW-RED Disconnect Cause TLV
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0019 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Disconnect Cause String | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0019 for "PW-RED Disconnect Cause TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Disconnect Cause String Variable-length string specifying the reason for the disconnect, encoded in UTF-8 format. The string does not include a terminating null character. Used for network management.
7.1.3. PW-RED Config TLV
The "PW-RED Config TLV" is used in the "RG Application Data" message and has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0012 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROID | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PW Priority | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Service Name TLV | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PW ID TLV or Generalized PW ID TLV | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0012 for "PW-RED Config TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - ROID As defined in Section 6.1.3. - PW Priority 2 octets. Pseudowire Priority. Used to indicate which PW has better priority to go into active state. Numerically lower numbers are better priority. In case of a tie, the PE with the numerically lower identifier (i.e., IP Address) has better priority.
- Flags Valid values are as follows: i. Synchronized (0x01) Indicates that the sender has concluded transmitting all pseudowire configuration for a given service. ii. Purge Configuration (0x02) Indicates that the pseudowire is no longer configured for PW-RED operation. iii. Independent Mode (0x04) Indicates that the pseudowire is configured for redundancy using the Independent Mode of operation, per Section 5.1 of [RFC6870]. iv. Independent Mode with Request Switchover (0x08) Indicates that the pseudowire is configured for redundancy using the Independent Mode of operation with the use of the "Request Switchover" bit, per Section 6.3 of [RFC6870]. v. Master Mode (0x10) Indicates that the pseudowire is configured for redundancy using the Master/Slave Mode of operation, with the advertising PE acting as Master, per Section 5.2 of [RFC6870]. vi. Slave Mode (0x20) Indicates that the pseudowire is configured for redundancy using the Master/Slave Mode of operation, with the advertising PE acting as Slave, per Section 5.2 of [RFC6870]. - Sub-TLVs The "PW-RED Config TLV" includes the following two sub-TLVs: i. Service Name TLV ii. One of the following: PW ID TLV or Generalized PW ID TLV The format of the sub-TLVs is defined in Sections 7.1.3.1 through 7.1.3.3.
7.1.3.1. Service Name TLV
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0013 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Service Name | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0013 for "Service Name TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Service Name The name of the L2VPN service instance, encoded in UTF-8 format and up to 80 octets in length. The string does not include a terminating null character.
7.1.3.2. PW ID TLV
This TLV is used to communicate the configuration of PWs for VPWS. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0014 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Peer ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Group ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PW ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0014 for "PW ID TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Peer ID 4-octet LDP Router ID of the peer at the far end of the PW. - Group ID Same as Group ID in [RFC4447], Section 5.2. - PW ID Same as PW ID in [RFC4447], Section 5.2.
7.1.3.3. Generalized PW ID TLV
This TLV is used to communicate the configuration of PWs for VPLS. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0015 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AGI Type | Length | Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ AGI Value (continued) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AII Type | Length | Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ SAII Value (continued) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AII Type | Length | Value | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ TAII Value (continued) ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0015 for "Generalized PW ID TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - AGI, AII, SAII, and TAII Defined in [RFC4447], Section 5.3.2.
7.1.4. PW-RED State TLV
The "PW-RED State TLV" is used in the "RG Application Data" message. This TLV is used by a device to report its PW status to other members in the RG. The format of this TLV is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0016 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROID | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Local PW State | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Remote PW State | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0016 for "PW-RED State TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - ROID As defined in Section 6.1.3. - Local PW State The status of the PW as determined by the sending PE, encoded in the same format as the "Status Code" field of the "PW Status TLV" defined in [RFC4447] and extended in [RFC6870].
- Remote PW State The status of the PW as determined by the remote peer of the sending PE. Encoded in the same format as the "Status Code" field of the "PW Status TLV" defined in [RFC4447] and extended in [RFC6870].7.1.5. PW-RED Synchronization Request TLV
The "PW-RED Synchronization Request TLV" is used in the "RG Application Data" message. This TLV is used by a device to request that its peer retransmit configuration or operational state. The following information can be requested: - configuration and/or state for one or more pseudowires - configuration and/or state for all pseudowires - configuration and/or state for all pseudowires in a given service The format of the TLV is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0017 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Number |C|S| Request Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-TLVs | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0017 for "PW-RED Synchronization Request TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields.
- Request Number 2 octets. Unsigned integer uniquely identifying the request. Used to match the request with a response. The value of 0 is reserved for unsolicited synchronization and MUST NOT be used in the "PW-RED Synchronization Request TLV". Given the use of TCP, there are no issues associated with the wrap-around of the Request Number. - C-bit Set to 1 if the request is for configuration data. Otherwise, set to 0. - S-bit Set to 1 if the request is for running state data. Otherwise, set to 0. - Request Type 14 bits specifying the request type, encoded as follows: 0x00 Request Data for specified pseudowire(s) 0x01 Request Data for all pseudowires in specified service(s) 0x3FFF Request All Data - Optional Sub-TLVs A set of zero or more TLVs, as follows: If the "Request Type" field is set to 0x00, then this field contains one or more "PW ID TLVs" or "Generalized PW ID TLVs". If the "Request Type" field is set to 0x01, then this field contains one or more "Service Name TLVs". If the "Request Type" field is set to 0x3FFF, then this field MUST be empty. This document does not impose any restrictions on the length of the sub-TLVs.7.1.6. PW-RED Synchronization Data TLV
The "PW-RED Synchronization Data TLV" is used in the "RG Application Data" message. A pair of these TLVs is used by a device to delimit a set of TLVs that are sent in response to a "PW-RED Synchronization Request TLV". The delimiting TLVs signal the start and end of the synchronization data and associate the response with its corresponding request via the "Request Number" field.
The "PW-RED Synchronization Data TLVs" are also used for unsolicited advertisements of complete PW-RED configuration and operational state data. In this case, the "Request Number" field MUST be set to 0. This TLV has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0018 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Number | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0018 for "PW-RED Synchronization Data TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Request Number 2 octets. Unsigned integer identifying the Request Number from the "PW-RED Synchronization Request TLV" that solicited this synchronization data response. - Flags 2 octets. Response flags encoded as follows: 0x00 Synchronization Data Start 0x01 Synchronization Data End
7.2. Multi-Chassis LACP (mLACP) Application TLVs
This section discusses the "ICCP TLVs" for Ethernet attachment circuit redundancy using the multi-chassis LACP (mLACP) application.7.2.1. mLACP Connect TLV
This TLV is included in the "RG Connect" message to signal the establishment of an mLACP Application Connection. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0030 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Protocol Version |A| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-TLVs | ~ ~ | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0030 for "mLACP Connect TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Protocol Version The version of this particular protocol for the purposes of ICCP. This is set to 0x0001. - A-bit Acknowledgement bit. Set to 1 if the sender has received an "mLACP Connect TLV" from the recipient. Otherwise, set to 0.
- Reserved Reserved for future use. - Optional Sub-TLVs There are no optional sub-TLVs defined for this version of the protocol.7.2.2. mLACP Disconnect TLV
This TLV is used in an "RG Disconnect" message to indicate that the connection for the mLACP application is to be terminated. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0031 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Optional Sub-TLVs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0031 for "mLACP Disconnect TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Optional Sub-TLVs The only optional sub-TLV defined for this version of the protocol is the "mLACP Disconnect Cause TLV" defined in Section 7.2.2.1.
7.2.2.1. mLACP Disconnect Cause TLV
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x003A | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Disconnect Cause String | ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x003A for "mLACP Disconnect Cause TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Disconnect Cause String Variable-length string specifying the reason for the disconnect. Used for network management.
7.2.3. mLACP System Config TLV
The "mLACP System Config TLV" is sent in the "RG Application Data" message. This TLV announces the local node's LACP system parameters to the RG peers. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0032 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | System ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | System Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Node ID | +-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0032 for "mLACP System Config TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - System ID 6-octet field encoding the System ID used by LACP, as specified in [IEEE-802.1AX], Section 5.3.2. - System Priority 2 octets encoding the LACP System Priority, as defined in [IEEE-802.1AX], Section 5.3.2.
- Node ID 1 octet. LACP Node ID. Used to ensure that the LACP Port Numbers are unique across all devices in an RG. Valid values are in the range 0-7. Uniqueness of the LACP Port Numbers across RG members is ensured by encoding the Port Numbers as follows: - Most significant bit always set to 1 - The next 3 most significant bits set to Node ID - Remaining 12 bits freely assigned by the system7.2.4. mLACP Aggregator Config TLV
The "mLACP Aggregator Config TLV" is sent in the "RG Application Data" message. This TLV is used to notify RG peers about the local configuration state of an Aggregator. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0036 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ROID | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Aggregator ID | MAC Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Actor Key | Member Ports Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Agg Name Len | Aggregator Name | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ ~ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0036 for "mLACP Aggregator Config TLV".
- Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - ROID Defined in Section 6.1.3 above. - Aggregator ID 2 octets. LACP Aggregator Identifier, as specified in [IEEE-802.1AX], Section 5.4.6. - MAC Address 6 octets encoding the Aggregator Media Access Control (MAC) address. - Actor Key 2 octets. LACP Actor Key for the corresponding Aggregator, as specified in [IEEE-802.1AX], Section 5.3.5. - Member Ports Priority 2 octets. LACP administrative port priority associated with all interfaces bound to the Aggregator. This field is valid only when the "Flags" field has "Priority Set" asserted. - Flags Valid values are as follows: i. Synchronized (0x01) Indicates that the sender has concluded transmitting all Aggregator configuration information. ii. Purge Configuration (0x02) Indicates that the Aggregator is no longer configured for mLACP operation. iii. Priority Set (0x04) Indicates that the "Member Ports Priority" field is valid.
- Agg Name Len 1 octet. Length of the "Aggregator Name" field in octets. - Aggregator Name Aggregator name, encoded in UTF-8 format, up to a maximum of 20 octets. Used for ease of management. The string does not include a terminating null character.7.2.5. mLACP Port Config TLV
The "mLACP Port Config TLV" is sent in the "RG Application Data" message. This TLV is used to notify RG peers about the local configuration state of a port. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0033 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Number | MAC Address | +-------------------------------+ + | | +---------------------------------------------------------------+ | Actor Key | Port Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Speed | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Flags | Port Name Len | Port Name | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + ~ ~ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0033 for "mLACP Port Config TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields.
- Port Number 2 octets. LACP Port Number for the corresponding interface, as specified in [IEEE-802.1AX], Section 5.3.4. The Port Number MUST be encoded with the Node ID, as discussed above. - MAC Address 6 octets encoding the port MAC address. - Actor Key 2 octets. LACP Actor Key for the corresponding interface, as specified in [IEEE-802.1AX], Section 5.3.5. - Port Priority 2 octets. LACP administrative port priority for the corresponding interface, as specified in [IEEE-802.1AX], Section 5.3.4. This field is valid only when the "Flags" field has "Priority Set" asserted. - Port Speed 4-octet integer encoding the port's current bandwidth in units of 1,000,000 bits per second. This field corresponds to the ifHighSpeed object of the IF-MIB [RFC2863]. - Flags Valid values are as follows: i. Synchronized (0x01) Indicates that the sender has concluded transmitting all member link port configurations for a given Aggregator. ii. Purge Configuration (0x02) Indicates that the port is no longer configured for mLACP operation. iii. Priority Set (0x04) Indicates that the "Port Priority" field is valid.
- Port Name Len 1 octet. Length of the "Port Name" field in octets. - Port Name Corresponds to the ifName object of the IF-MIB [RFC2863]. Encoded in UTF-8 format and truncated to 20 octets. Port Name does not include a terminating null character.7.2.6. mLACP Port Priority TLV
The "mLACP Port Priority TLV" is sent in the "RG Application Data" message. This TLV is used by a device to either advertise its operational Port Priority to other members in the RG or authoritatively request that a particular member of an RG change its port priority. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0034 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OpCode | Port Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Aggregator ID | Last Port Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Current Port Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0034 for "mLACP Port Priority TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields.
- OpCode 2 octets identifying the operational code point for the TLV, encoded as follows: 0x00 Local Priority Change Notification 0x01 Remote Request for Priority Change - Port Number 2-octet field representing the LACP Port Number, as specified in [IEEE-802.1AX], Section 5.3.4. When the value of this field is 0, it denotes all ports bound to the Aggregator specified in the "Aggregator ID" field. When non-zero, the Port Number MUST be encoded with the Node ID, as discussed above. - Aggregator ID 2 octets. LACP Aggregator Identifier, as specified in [IEEE-802.1AX], Section 5.4.6. - Last Port Priority 2 octets. LACP port priority for the corresponding interface, as specified in [IEEE-802.1AX], Section 5.3.4. For local ports, this field encodes the previous operational value of port priority. For remote ports, this field encodes the operational port priority last known to the PE via notifications received from its peers in the RG. - Current Port Priority 2 octets. LACP port priority for the corresponding interface, as specified in [IEEE-802.1AX], Section 5.3.4. For local ports, this field encodes the new operational value of port priority being advertised by the PE. For remote ports, this field specifies the new port priority being requested by the PE.
7.2.7. mLACP Port State TLV
The "mLACP Port State TLV" is used in the "RG Application Data" message. This TLV is used by a device to report its LACP port status to other members in the RG. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0035 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Partner System ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Partner System Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Partner Port Number | Partner Port Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Partner Key | Partner State | Actor State | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Actor Port Number | Actor Key | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Selected | Port State | Aggregator ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0035 for "mLACP Port State TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Partner System ID 6 octets. The LACP Partner System ID for the corresponding interface, encoded as a MAC address as specified in [IEEE-802.1AX], Section 5.4.2.2, item r. - Partner System Priority 2-octet field specifying the LACP Partner System Priority, as specified in [IEEE-802.1AX], Section 5.4.2.2, item q.
- Partner Port Number 2 octets encoding the LACP Partner Port Number, as specified in [IEEE-802.1AX], Section 5.4.2.2, item u. The Port Number MUST be encoded with the Node ID, as discussed above. - Partner Port Priority 2-octet field encoding the LACP Partner Port Priority, as specified in [IEEE-802.1AX], Section 5.4.2.2, item t. - Partner Key 2-octet field representing the LACP Partner Key, as defined in [IEEE-802.1AX], Section 5.4.2.2, item s. - Partner State 1-octet field encoding the LACP Partner State Variable, as defined in [IEEE-802.1AX], Section 5.4.2.2, item v. - Actor State 1 octet encoding the LACP Actor State Variable for the port, as specified in [IEEE-802.1AX], Section 5.4.2.2, item m. - Actor Port Number 2-octet field representing the LACP Actor Port Number, as specified in [IEEE-802.1AX], Section 5.3.4. The Port Number MUST be encoded with the Node ID, as discussed above. - Actor Key 2-octet field encoding the LACP Actor Operational Key, as specified in [IEEE-802.1AX], Section 5.3.5. - Selected 1 octet encoding the LACP "Selected" variable, defined in [IEEE-802.1AX], Section 5.4.8 as follows: 0x00 SELECTED 0x01 UNSELECTED 0x02 STANDBY
- Port State 1 octet encoding the operational state of the port as follows: 0x00 Up 0x01 Down 0x02 Administratively Down 0x03 Test (e.g., IEEE 802.3ah OAM Intrusive Loopback mode) - Aggregator ID 2 octets. LACP Aggregator Identifier to which this port is bound based on the outcome of the LACP selection logic.7.2.8. mLACP Aggregator State TLV
The "mLACP Aggregator State TLV" is used in the "RG Application Data" message. This TLV is used by a device to report its Aggregator status to other members in the RG. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0037 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Partner System ID | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | Partner System Priority | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Partner Key | Aggregator ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Actor Key | Agg State | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0037 for "mLACP Aggregator State TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields.
- Partner System ID 6 octets. The LACP Partner System ID for the corresponding interface, encoded as a MAC address as specified in [IEEE-802.1AX], Section 5.4.2.2, item r. - Partner System Priority 2-octet field specifying the LACP Partner System Priority, as specified in [IEEE-802.1AX], Section 5.4.2.2, item q. - Partner Key 2-octet field representing the LACP Partner Key, as defined in [IEEE-802.1AX], Section 5.4.2.2, item s. - Aggregator ID 2 octets. LACP Aggregator Identifier, as specified in [IEEE-802.1AX], Section 5.4.6. - Actor Key 2-octet field encoding the LACP Actor Operational Key, as specified in [IEEE-802.1AX], Section 5.3.5. - Agg State 1 octet encoding the operational state of the Aggregator as follows: 0x00 Up 0x01 Down 0x02 Administratively Down 0x03 Test (e.g., IEEE 802.3ah OAM Intrusive Loopback mode)7.2.9. mLACP Synchronization Request TLV
The "mLACP Synchronization Request TLV" is used in the "RG Application Data" message. This TLV is used by a device to request that its peer retransmit configuration or operational state. The following information can be requested: - system configuration and/or state - configuration and/or state for a specific port - configuration and/or state for all ports with a specific LACP Key
- configuration and/or state for all mLACP ports - configuration and/or state for a specific Aggregator - configuration and/or state for all Aggregators with a specific LACP Key - configuration and/or state for all mLACP Aggregators The format of the TLV is as follows: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0038 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Number |C|S| Request Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Port Number / Aggregator ID | Actor Key | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0038 for "mLACP Synchronization Request TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Request Number 2 octets. Unsigned integer uniquely identifying the request. Used to match the request with a response. The value of 0 is reserved for unsolicited synchronization and MUST NOT be used in the "mLACP Synchronization Request TLV". - C-bit Set to 1 if the request is for configuration data. Otherwise, set to 0.
- S-bit Set to 1 if the request is for running state data. Otherwise, set to 0. - Request Type 14 bits specifying the request type, encoded as follows: 0x00 Request System Data 0x01 Request Aggregator Data 0x02 Request Port Data 0x3FFF Request All Data - Port Number / Aggregator ID 2 octets. When the "Request Type" field is set to "Request Port Data", this field encodes the LACP Port Number for the requested port. When the "Request Type" field is set to "Request Aggregator Data", this field encodes the Aggregator ID of the requested Aggregator. When the value of this field is 0, it denotes that information for all ports (or Aggregators) whose LACP Key is specified in the "Actor Key" field is being requested. - Actor Key 2 octets. LACP Actor Key for the corresponding port or Aggregator. When the value of this field is 0 (and the Port Number / Aggregator ID field is 0 as well), it denotes that information for all ports or Aggregators in the system is being requested.7.2.10. mLACP Synchronization Data TLV
The "mLACP Synchronization Data TLV" is used in the "RG Application Data" message. A pair of these TLVs is used by a device to delimit a set of TLVs that are being transmitted in response to an "mLACP Synchronization Request TLV". The delimiting TLVs signal the start and end of the synchronization data and associate the response with its corresponding request via the "Request Number" field. The "mLACP Synchronization Data TLVs" are also used for unsolicited advertisements of complete mLACP configuration and operational state data. The "Request Number" field MUST be set to 0 in this case. For such unsolicited synchronization, the PE MUST advertise all system, Aggregator, and port information, as done during the initialization sequence.
This TLV has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U|F| Type = 0x0039 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Request Number | Flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - U-bit and F-bit Both are set to 0. - Type Set to 0x0039 for "mLACP Synchronization Data TLV". - Length Length of the TLV in octets, excluding the "U-bit", "F-bit", "Type", and "Length" fields. - Request Number 2 octets. Unsigned integer identifying the Request Number from the "mLACP Synchronization Request TLV" that solicited this synchronization data response. - Flags 2 octets. Response flags, encoded as follows: 0x00 Synchronization Data Start 0x01 Synchronization Data End