TRILL Working group Tissa SenevirathneInternetDraft NormanEngineering Task Force (IETF) T. Senevirathne Request for Comments: 7455 N. FinnIntended status: Standard Track Samer SalamUpdates: 6325DeepakS. Salam Category: Standards Track D. KumarCISCO DonaldISSN: 2070-1721 Cisco D. EastlakeSam3rd S. AldrinYizhouY. Li HuaweiOctober 24, 2014 Expires: AprilMarch 2015TRILLTransparent Interconnection of Lots of Links (TRILL): Fault Managementdraft-ietf-trill-oam-fm-11.txtAbstract This document specifiesTRILL OAM Fault Management.Transparent Interconnection of Lots of Links (TRILL) Operations, Administration, and Maintenance (OAM) fault management. Methods in this document follow theIEEE 802.1CFM(Continuity(Connectivity Fault Management) framework defined in IEEE 802.1 and reuse OAM tools where possible. Additional messages and TLVs are defined forTRILLTRILL- specific applications or for cases where a different set of information is required other than CFM as defined in IEEE802.1 CFM.802.1. This document updates RFC 6325. Status ofthisThis Memo ThisInternet-Draftissubmitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documentsan Internet Standards Track document. This document is a product of the Internet Engineering Task Force(IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum(IETF). It represents the consensus ofsix monthsthe IETF community. It has received public review andmay be updated, replaced, or obsoletedhas been approved for publication byother documents at any time. Itthe Internet Engineering Steering Group (IESG). Further information on Internet Standards isinappropriate to use Internet- Drafts as reference material or to cite them other than as "workavailable inprogress." The listSection 2 of RFC 5741. Information about the currentInternet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The liststatus ofInternet-Draft Shadow Directories canthis document, any errata, and how to provide feedback on it may beaccessedobtained athttp://www.ietf.org/shadow.html This Internet-Draft will expire on April 24, 2009.http://www.rfc-editor.org/info/rfc7455. Copyright Notice Copyright (c)20142015 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction............................................... 4....................................................5 2. ConventionsusedUsed inthis document .......................... 4This Document ...............................5 3. General Format of TRILL OAM Packets........................ 5.............................6 3.1. Identification of TRILL OAMframes .................... 7Frames .........................8 3.2. Use of TRILL OAM Alert Flag........................... 7................................8 3.2.1. Handling of TRILLframesFrames with the "A" Flag....... 8..........9 3.3. OAM Capability Announcement........................... 8................................9 3.4. Identification of the OAMmessage .................... 10Message .........................10 4. TRILL OAM Layering vs. IEEE Layering...................... 10...........................10 4.1. Processing at the ISS Layer.............................. 12...............................12 4.1.1. Receive Processing.............................. 12.................................12 4.1.2. Transmit Processing............................. 12................................12 4.2.End StationEnd-Station VLAN and Priority Processing............. 12..................12 4.2.1. Receive Processing.............................. 12.................................12 4.2.2. TransmitProcession ............................. 12Processing ................................12 4.3. TRILL Encapsulation andDe-capsulationDecapsulation Layer......... 12...............12 4.3.1. Receive Processing for Unicastpackets .......... 12Packets .............12 4.3.2. Transmit Processing forunicast packets ......... 13Unicast Packets ............13 4.3.3. Receive Processing for Multicastpackets ........ 14Packets ...........14 4.3.4. Transmit Processing of Multicastpackets ........ 15Packets ...........15 4.4. TRILL OAM Layer Processing........................... 16................................15 5. Maintenance Associations(MA)(MAs) in TRILL.................... 17........................17 6. MEP Addressing............................................ 18.................................................18 6.1. Use of MIP in TRILL.................................. 21.......................................21 7. Continuity Check Message (CCM)............................ 23.................................22 8. TRILL OAM Message Channel................................. 25......................................25 8.1. TRILL OAM Messageheader ............................. 25Header ..................................25 8.2.TRILL SpecificTRILL-Specific OAMOpcodes ........................... 26OpCodes ................................26 8.3. Format of TRILL OAM TLV.............................. 26...................................26 8.4. TRILL OAM TLVs....................................... 27............................................27 8.4.1. Common TLVs between CFM and TRILL............... 27..................27 8.4.2. TRILLOAM SpecificOAM-Specific TLVs......................... 28............................27 8.4.3. TRILL OAM Application Identifier TLV............ 28...............28 8.4.4.Out Of BandOut-of-Band Reply Address TLV................... 30......................30 8.4.5.DiagnosticsDiagnostic Label TLV........................... 31...............................31 8.4.6. Original Data Payload TLV....................... 32..........................32 8.4.7. RBridgescopeScope TLV............................... 32..................................32 8.4.8. Previous RBridgenicknameNickname TLV................... 33......................33 8.4.9.Next HopNext-Hop RBridge List TLV....................... 34..........................34 8.4.10. Multicast Receiver PortcountCount TLV.............. 35.................34 8.4.11. Flow Identifier(flow-id)TLV.................. 35...............................35 8.4.12. Reflector Entropy TLV.......................... 36.............................36 8.4.13. Authentication TLV............................. 37................................37 9. Loopback Message.......................................... 39...............................................38 9.1. LoopbackOAMMessageformat .......................... 39Format ...................................38 9.2. Theory of Operation.................................. 39.......................................39 9.2.1. Actions by Originator RBridge................... 39......................39 9.2.2. Intermediate RBridge............................ 40...............................39 9.2.3. Destination RBridge............................. 40................................40 10. Path Trace Message....................................... 41............................................40 10.1. Theory of Operation................................. 42......................................41 10.1.1.ActionActions by Originator RBridge................... 42.....................41 10.1.2. Intermediate RBridge........................... 42..............................42 10.1.3. Destination RBridge............................ 44...............................43 11. Multi-Destination Tree Verification Message (MTVM)....... 44............43 11.1.Multi-Destination Tree Verification Message (MTVM)MTVM Format.................................................... 44..............................................44 11.2. Theory of Operation................................. 45......................................44 11.2.1. Actions by Originator RBridge.................. 45.....................44 11.2.2. Receiving RBridge.............................. 46.................................45 11.2.3.In scopeIn-Scope RBridges.............................. 46.................................45 12. Application of Continuity Check Message (CCM) in TRILL... 47........46 12.1. CCM Error Notification.............................. 48...................................47 12.2. Theory of Operation................................. 49......................................48 12.2.1. Actions by Originator RBridge.................. 49.....................48 12.2.2. Intermediate RBridge........................... 50..............................49 12.2.3. Destination RBridge............................ 50...............................49 13. Fragmented Reply......................................... 51..............................................49 14. Security Considerations.................................. 51.......................................50 15. IANA Considerations...................................... 53...........................................52 15.1. OAMCapabilitiyCapability Flags............................... 53.....................................52 15.2. CFM Code Points..................................... 53..........................................52 15.3. MAC Addresses....................................... 54............................................53 15.4. ReturncodesCodes andsub codes .......................... 54Sub-codes ...............................53 15.5. TRILLRBridgeNickname Address Family............... 55............................54 16. References............................................... 55....................................................54 16.1. Normative References................................ 55.....................................54 16.2. Informative References.............................. 56 17. Acknowledgments .......................................... 57...................................55 Appendix A. Backwards Compatibility.......................... 58...............................57 A.1. Maintenance Point (MEP/MIP) Model ........................57 A.2. Data-Plane Encoding and Frame Identification .............57 Appendix B. Base Mode for TRILL OAM.......................... 61...............................59 Appendix C. MAC Addresses Request............................ 63.................................61 Acknowledgments ...................................................62 Authors' Addresses ................................................62 1. Introduction The general structure of TRILL OAM messages is presented in [RFC7174]. TRILL OAM messages consist offivesix parts:link header,Link Header, TRILLheader, flow entropy,Header, Flow Entropy, OAMmessage channel,Ethertype, OAM Message Channel, andlink trailer.Link Trailer. The OAMmessage channelMessage Channel carries various control information andOAMOAM- related data between TRILL switches, also known as RBridges or Routing Bridges. A common OAMmessage channelMessage Channel representation can be shared between different technologies. This consistency between different OAM technologies promotes nested fault monitoring and isolation between technologies that share the same OAM framework. The TRILL OAMmessage channelMessage Channel is formatted as specified in IEEE Connectivity Fault Management (CFM) [8021Q]. The ITU-T Y.1731 [Y1731] standard utilizes the same messaging format as [8021Q] OAM messages where applicable. This document takes a similar stance and reuses [8021Q] in TRILL OAM. It is assumed that readers are familiar with [8021Q] and [Y1731]. Readers who are not familiar with these documents are encouraged to review them. This document specifies TRILL OAM fault management. It updates [RFC6325] as specified in Section 3.1. TRILL performance monitoring is specified in [RFC7456]. 2. ConventionsusedUsed inthis documentThis Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described inRFC-2119RFC 2119 [RFC2119]. Capitalized IANA Considerations terms such as "Standards Action" are to be interpreted as described in [RFC5226]. Acronyms used in the document include the following: CCM - Continuity Check Message [8021Q] DA - Destination Address ECMP -Equal CostEqual-Cost Multipath FGL - Fine-Grained Label ISS - InternalSub LayerSub-Layer Service [8021Q] LBM -Loop BackLoopback Message [8021Q] LBR -Loop BackLoopback ReplyMessage[8021Q]MPMA - MaintenancePointAssociation [8021Q] [RFC7174] MAC - Media Access Control (MAC) MD - Maintenance Domain [8021Q] MEP - Maintenance End Point [RFC7174] [8021Q] MIP - Maintenance Intermediate Point [RFC7174] [8021Q]MAMP - MaintenanceAssociation [8021Q]Point [RFC7174]MD - Maintenance Domain [8021Q]MTVM - Multi-destination Tree Verification Message MTVR - Multi-destination Tree Verification ReplyMessageOAM - Operations, Administration, and Maintenance [RFC6291] PRI - Priority of Ethernet Frames [8021Q] PTM - Path Trace Message PTR - Path Trace ReplyMessageSA - Source Address SAP - Service Access Point [8021Q] TRILL - Transparent Interconnection of Lots of Links [RFC6325]SAP - Service Access Point [8021Q]3. General Format of TRILL OAM Packets The TRILL forwarding paradigm allows an implementation to select a path from a set ofequal costequal-cost paths to forward a unicast TRILL Data packet. For multi-destination TRILL Data packets, a distribution tree is chosen by the TRILL switch that ingresses or creates the packet. Selection of the path of choice is implementation dependent at each hop for unicast and at the ingress for multi-destination. However, it is a common practice to utilize Layer 2 through Layer 4 information in the frame payload for path selection. For accurate monitoring and/or diagnostics, OAMMessagesmessages are required to follow the same path as corresponding data packets. [RFC7174] presents the high-level format oftheOAM messages. The details of the TRILL OAM frame format are defined in this document. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Link Header .(variable)Variable | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + TRILL Header + 6 or more bytes | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Flow Entropy . 96 bytes . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OAM Ethertype | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . OAM Message Channel . Variable . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link Trailer | Variable +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure11: Format of TRILL OAM Messages o Link Header: Media-dependent header. For Ethernet, this includes the Destination MAC, Source MAC, VLAN(optional)(optional), and Ethertype fields. o TRILL Header: Fixed size of 6 bytes when the Extended Header is not included[RFC6325][RFC6325]. o Flow Entropy:This is a 96-byte fixed sizeA 96-byte, fixed-size field. The rightmost bits of the field MUST be padded with zeros, up to 96 bytes, when theflow entropyflow-entropy information is less than 96 bytes. FlowentropyEntropy enables emulation of the forwarding behavior of the desired data packets. The Flow Entropy field starts with the Inner.MacDA. The offset of the Inner.MacDA depends on whether extensions are included or not as specified in [RFC7179] and [RFC6325]. Such extensions are not commonly supported in current TRILL implementations. o OAM Ethertype:OAM Ethertype isA 16-bit Ethertype that identifies the OAM MessagechannelChannel that follows. This document specifies using the Ethertype 0x8902 allocated for CFM [8021Q]. o OAM Message Channel:This is a variable sizeA variable-size section that carriesOAMOAM- related information. The message format is as specified in [8021Q]. o Link Trailer: Media-dependent trailer. For Ethernet, this is the FCS (Frame Check Sequence). 3.1. Identification of TRILL OAMframesFrames TRILL, as originally specified in [RFC6325], did not have a specific flag oramethod to identify OAM frames. This document updates [RFC6325] to include specific methods to identify TRILL OAM frames. Section3.2. below3.2 explains the details of the method. 3.2. Use of TRILL OAM Alert Flag The TRILL Header, as defined in [RFC6325], has two reserved bits. This document specifies use of the reserved bit next to the Version field in the TRILLheaderHeader as the Alert flag. The Alert flag will be denoted by "A". RBridges MUST NOT use the "A" flag for forwarding decisions such as the selection of which ECMP path or multi- destination tree to select. Implementations that comply with this document MUST utilize the "A" flag and CFM Ethertype to identify TRILL OAM frames. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | V |A|R|M|Op-Length| Hop Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Egress RBridge Nickname | Ingress RBridge Nickname | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options... +-+-+-+-+-+-+-+-+-+-+-+- Figure22: TRILL Header with the "A" Flag o A (1bit) -bit): Indicates this is a possible OAM frame and is subject to specific handling as specified in this document. All other TRILL Header fields carry the same meaning as defined inRFC6325.[RFC6325]. 3.2.1. Handling of TRILLframesFrames with the "A" FlagValueThe value "1" in theA"A" flag indicates TRILL frames that may qualify as OAM frames. Implementations are further REQUIRED to validate such frames by comparing the value at the OAM Ethertype (Figure 1) location with the CFM Ethertype "0x8902" [8021Q]. If the value matches, such frames are identified as TRILL OAM frames and SHOULD be processed as discussed in Section 4. Frames with the "A" flag set that do not contain a CFM Ethertype are not consideredasOAM frames. Such frames MUST be silently discarded.OAM capableOAM-capable RBridges MUST NOT generate OAM frames to an RBridge that is not OAM capable. IntermediateRBridges,RBridges that are not OAM capable(i.e.(i.e., do not understand the "A" flag) follow the process defined in[RFC6325] sectionSection 3.3 of [RFC6325] and forward OAM frames with the "A" flag unaltered. 3.3. OAM Capability Announcement Any given RBridge can be (1) OAMincapable orincapable, (2) OAM capable with newextensionsextensions, or (3) OAM capable withbackwards-compatiblethe backwards-compatibility method. The OAM request originator, prior to origination of therequestrequest, is required to identify the OAM capability of the target and generate the appropriate OAM message.CapabilityThe capability flags defined in the TRILLversionVersion sub-TLV (TRILL-VER) [RFC7176] will be utilized for announcing OAM capabilities. The followingOAM relatedOAM-related capability flags are defined: O - OAMCapablecapable B -Backwards CompatibleBackwards-compatible OAM A capabilityannouncement,announcement with the "O"Flagflag set to 1 and the "B" flag set to1,1 indicates that the originating RBridge is OAM capable but utilizes thebackwards compatiblebackwards-compatibility method defined in Appendix A. A capability announcement with the "O"Flagflag set to 1 and the "B" flag set to0,0 indicates that the originating RBridge is OAM capable and utilizes the method specified insectionSection 3.2. When the "O"Flagflag is set to 0, the announcing implementation is considered not capable ofOAMOAM, and the "B" flag is ignored. +-+-+-+-+-+-+-+-+ | Type | (1 byte) +-+-+-+-+-+-+-+-+ | Length | (1 byte) +-+-+-+-+-+-+-+-+ | Max-version | (1 byte) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+ |A|F|O|B|Other Capabilities and Header Flags| (4 bytes) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-...-+-+-+ 0 1 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 0 1 Figure33: TRILL-VERsub-TLVSub-TLV [RFC7176] withO"O" andB flags Capability flags"B" Flags In Figure 3, "A" is the Affinity sub-TLV support flag as indicated in [RFC7176], and "F"are defined by [RFC7176]is the FGL-safe flag as indicated in [RFC7172] and[RFC7172].[RFC7176]. The "O" and "B"Flagsflags are located after the "F" flag in the Capability and Header Flags field of the TRILL-VER sub-TLV, as depicted in Figure 3 above. Usage of the "O" and "B" flagsare asis discussed above. Absence of the TRILL-VER sub-TLV means the announcing RBridge is not OAM capable. 3.4. Identification of the OAMmessageMessage The ingress RBridge nickname allows recipients to identify the origin of the message in most cases. However, when anout of bandout-of-band reply is generated, the responding RBridge nickname is not easy to identify. The [8021Q] Sender ID TLV (1) provides methods to identify the device by including thechassisChassis ID. The Chassis ID allows different addressing formats such as IANA Address Family enumerations. IANA has allocated Address Family Number 16396 for TRILLRBridgenickname. In TRILLOAMOAM, the Chassis IDsubtypesub-type of the Sender ID TLV is set to1639616396, and the Chassis ID field contains the corresponding TRILLRBridgenickname. When the Sender ID TLV is present andchassis sub typethe Chassis ID sub-type is set to 16396, the sender RBridge TRILL nickname SHOULD be derived from the nickname embedded in the Chassis ID. Otherwise, the sender RBridge TRILL nickname SHOULD be derived from the ingress RBridge nickname. 4. TRILL OAM Layering vs. IEEE Layering This section presents the placement of the TRILL OAM shim within the IEEE 802.1 layers. TheTransmittransmit andReceivereceive processing are explained. +-+-+-+-+-+-+-+-+-+-+ | RBridge Layer | | Processing | +-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+ | TRILL OAM | UP MEP | Layer | MIP +-+-+-+-+-+-+ Down MEP | | +-+-+-+-+-+-+ (3)--------> | TRILL | | Encap/Decap +-+-+-+-+-+-+ | +-+-+-+-+-+-+ (2)-------->|End station||End-station| | VLAN &priorityPriority Processing +-+-+-+-+-+-+ | +-+-+-+-+-+-+ (1)--------> |ISS | |Processing | +-+-+-+-+-+-+ | | | Figure44: Placement of TRILL MP within IEEE 802.1[RFC6325][RFC6325], Section 4.6 as updated by [RFC7180] provides a detailed explanation of frame processing. Please refer to those documents for additional details and for processing scenarios not covered herein. Sections 4.1 and 4.2belowapply to links using a broadcast LAN technology such as Ethernet. On links using an inherently point-to-point technology, such as PPP [RFC6361], there is no Outer.MacDA, Outer.MacSA, or Outer.VLAN because these are part of thelink headerLink Header for Ethernet.Point-to-pointPoint-to- point links typically havelink headersLink Headers without these fields. 4.1. Processing at the ISS Layer 4.1.1. Receive Processing The ISSLayerlayer receives an indication from the port. It extractsDA, SADA and SA, and it marks the remainder of the payload as M1. The ISSLayerlayer passes on (DA, SA, M1) as an indication to the higher layer. For TRILL Ethernet frames, this is Outer.MacDA and Outer.MacSA. M1 is the remainder of the packet. 4.1.2. Transmit Processing The ISS layer receives an indication from the higher layer that contains (DA, SA, M1). It constructs an Ethernet frame and passes down to the port. 4.2.End StationEnd-Station VLAN and Priority Processing 4.2.1. Receive ProcessingReceivesReceive (DA, SA, M1) indication from the ISSLayer. Extractslayer. Extract the VLAN ID and priority from the M1 part of the received indication (or derive them from the port defaults or other default parameters) andconstructsconstruct (DA, SA, VLAN, PRI, M2). VLAN+PRI+M2mapmaps to M1 in the received indication. Pass (DA, SA, VLAN, PRI, M2) to the TRILLencap/decap processionEncapsulation/Decapsulation layer. 4.2.2. TransmitProcessionProcessing Receive (DA, SA, VLAN, PRI, M2) indication from the TRILLencap/decap processingEncapsulation/Decapsulation layer. Merge VLAN, PRI, M2 to form M1. Pass down (DA, SA, M1) to the ISSprocessing Layer.layer. 4.3. TRILL Encapsulation andDe-capsulationDecapsulation Layer 4.3.1. Receive Processing for UnicastpacketsPackets o Receive indication (DA, SA, VLAN, PRI, M2) fromEnd Stationthe End-Station VLAN and Priority ProcessingLayer.layer. o If the DA matches the port Local DA andFramethe frame is of TRILLEthertype .Ethertype: - Discard DA, SA, VLAN, and PRI. From M2, derive (TRILL-HDR, iDA, iSA, i-VL,M3) .M3). - If TRILL nickname is Local andTRILL-OAM FlagTRILL Header Alert flag issetset: * Pass on to OAMprocessing . Elseprocessing. - Else, pass on (TRILL-HDR, iDA, iSA, i-VL, M3) to the RBridgeLayerlayer. o If the DA matches the port Local DA andEtherTypethe Ethertype isRBridge-Channel [RFC7178] .RBridge- Channel [RFC7178]: - Process as a possible unicast native RBridge Channelpacketpacket. o If the DA matches the port Local DA and the Ethertype is neither TRILL norRBridge-Channel .RBridge-Channel: - Discardpacketpacket. o If the DA does notmatch andmatch, the port is Appointed Forwarder forVLANVLAN, and the Ethertype is not TRILL orRBridge-Channel .RBridge-Channel: - InsertTRILL-HdrTRILL-HDR and send (TRILL-HDR, iDA, iSA,i-VL, M3) indication to the RBridgeLayer <- Thislayer (this is the TRILL IngressFunction.Function). 4.3.2. Transmit Processing forunicast packetsUnicast Packets o Receive indication (TRILL-HDR, iDA, iSA, iVL, M3) from the RBridgeLayerlayer. o If the egress TRILL nickname islocal olocal: - If the port is Appointed Forwarder foriVL andiVL, the port is not configured as a trunk orp2p port and (TRILLpoint-to-point (P2P) port, the TRILL AlertFlag setflag is set, and the OAM Ethertypepresent) then .is present, then: * Strip TRILL-HDR and construct (DA, SA, VLAN, M2)<- This(this is the TRILL EgressFunction.Function). oElse .Else: * Discardpacketpacket. o If the egress TRILL nickname is notlocal olocal: - Insert Outer.MacDA, Outer.MacSA, Outer.VLAN, and TRILLEthertypeEthertype, and construct (DA, SA, VLAN,M2). WhereM2) where M2 is(TRILL-HDR,(TRILL- HDR, iDA, iSA, iVL,M)M). o Forward (DA, SA, V, M2) to the End-Station VLANEnd Station processing Layer.and Priority Processing layer. 4.3.3. Receive Processing for MulticastpacketsPackets o Receive (DA, SA, V, M2) from the End-Station VLANaware end station processing layerand Priority Processing layer. o If the DA is All-RBridges and the Ethertype isTRILL oTRILL: - Strip DA,SASA, and V. From M2, extract (TRILL-HDR, iDA, iSA,iVLiVL, and M3).o- If the TRILL AlertFlagflag is set and the OAM Ethertype is present at the end of Flowentropy .Entropy: * Perform OAMProcessing o Elseprocessing. - Else, extract the TRILLheader,Header, inner MACaddressesaddresses, andinner VLANInner.VLAN, and pass indication (TRILL-HDR, iDA, iSA, iVL and M3) to the TRILL RBridgeLayerlayer. o If the DA is All-IS-IS-RBridges and the Ethertype isL2-IS- ISL2-IS-IS, then pass frame up to TRILL IS-ISprocessingprocessing. o If the DA is All-RBridges or All-IS-IS-RBridges but the Ethertype is not TRILL or L2-IS-ISrespectively orespectively: - Discard thepacketpacket. o If the Ethertype is TRILL but the multicast DA is notAll- RBridges;All-RBridges or if the Ethertype is L2-IS-IS but the multicast DA is notAll-IS-IS-RBridges oAll- IS-IS-RBridges: - Discard thepacketpacket. o If the DA is All-Edge-RBridges and the Ethertype isRBridge-Channel [RFC7178] oRBridge- Channel [RFC7178]: - Process as a possible multicast native RBridge Channelpacketpacket. o If the DA is in the initial bridging/link protocols block (01-80-C2-00-00-00 to 01-80-C2-00-00-0F) or is in the TRILL block and not assigned for Outer.MacDA use(01-80-C2-00-00- 42(01-80-C2-00-00-42 to01-80-C2-00-00-4F) then o01-80-C2-00-00-4F), then: - The frame is not propagated through an RBridge although some special processing may be done at the port as specified in[RFC6325][RFC6325], and the frame may be dispatched to Layer 2 processing at the port if certain protocols are supported by that port(examples:(examples include the Link AggregationProtocol, Link LayerProtocol and the Link-Layer Discovery Protocol). o If the DA is some other multicastvalue ovalue: - Insert TRILL-HDR and construct (TRILL-HDR, iDA, iSA, IVL,M3) oM3). - Pass the (TRILL-HDR, iDA, iSA, IVL, M3) to the RBridgeLayerlayer. 4.3.4. Transmit Processing of MulticastpacketsPackets The following ignores the case of transmitting TRILL IS-IS packets. o Receive indication (TRILL-HDR, iDA, iSA, iVL, M3) from the RBridge layer. o IfTRILL-HDRthe TRILL Header multicast ("M") flagset andis set, the TRILL-HDR Alert flagsetis set, and the OAM Ethertypepresentis present, then:o- Construct (DA, SA, V, M2) by inserting TRILL Outer.MacDA ofAll- RBridges,All-RBridges, Outer.MacSA,Outer.VLANOuter.VLAN, and TRILL Ethertype. M2 here is (Ethertype TRILL, TRILL-HDR, iDA, iSA, iVL,M) NOTE: SecondM). Note: A second copy of native format is not made. oElse If TRILL-HDRElse, if the TRILL Header multicast ("M") flag is set and the Alert flag notset oset: - If the port isappointedAppointed Forwarder for iVL and the port is not configured as a trunk port or ap2pP2P port,Stripstrip TRILL-HDR, iSA, iDA, and iVL and construct (DA, SA, V, M2) for native format.o- Make a second copy (DA, SA, V, M2) by inserting TRILL Outer.MacDA, Outer.MacSA,Outer.VLANOuter.VLAN, and TRILL Ethertype. M2 here is (Ethertype TRILL, TRILL-HDR, iDA, iSA, iVL,M)M). o Pass the indication (DA, SA, V, M2) toEnd Stationthe End-Station VLANprocessingand Priority Processing layer. 4.4. TRILL OAM Layer Processing The TRILL OAMProcessing Layerlayer is located between the TRILLEncapsulation / De-capsulationEncapsulation/Decapsulation layer and the RBridgeLayer.layer. It performs the following:1. Identification of1) identifies OAM frames that need local processing and2.2) performs OAM processing orredirectredirects to the CPU for OAM processing. o Receive indication (TRILL-HDR, iDA, iSA, iVL, M3) from the RBridge layer. M3 is the payload afterinner VLANInner.VLAN iVL. o If the TRILLMulticast FlagHeader multicast ("M") flag isset andset, the TRILL AlertFlagflag issetset, and TRILL OAM Ethertype ispresent then opresent, then: - If MEP or MIP is configured on the Inner.VLAN/FGL of thepacket then . discardpacket, then: * Discard packets that haveMD-LEVEL LessMD-Level less than that of the MEP or packets that do not haveMD-LEVELMD-Level present (e.g., due to packet truncation)..* IfMD-LEVELMD-Level matchesMD-LEVELMD-Level of theMEP then . Re-directMEP, then: + Redirect to OAMProcessingprocessing (Do not forwardfurther) .further). * IfMD-LEVELMD-Level matchesMD-LEVELMD-Level ofMIP then .MIP, then: + Make aCopycopy for OAM processing andcontinue .continue. * IfMD-LEVLMD-Level matchesMD-LEVELMD-Level ofMEP then .MEP, then: + Redirect the OAM packet to OAM processing and do not forward along or forward as a native packet. oElseElse, if the TRILL AlertFlagflag is set and the TRILL OAM Ethertype ispresent then opresent, then: - If MEP or MIP is configured on the Inner.VLAN/FGL of thepacket then . discardpacket, then: * Discard packets that haveMD-LEVELMD-Level not present orMD-LEVELwhere MD- Level isLessless than that of the MEP..* IfMD-LEVELMD-Level matchesMD-LEVELMD-Level of theMEP then . Re-directMEP, then: + Redirect to OAMProcessing (Doprocessing (do not forwardfurther) .further). * IfMD-LEVELMD-Level matchesMD-LEVELMD-Level ofMIP then .MIP, then: + Make aCopycopy for OAM processing andcontinuecontinue. oElse // Non-OAM Packet o ContinueElse, for a non-OAM packet: - Continue. o Pass the indication (DA, SA, V, M2) toEnd Stationthe End-Station VLANprocessingand Priority Processing layer.NOTE:Note: In theReceivereceive path, the processing above comparesagainstwith the Down MEP and MIP Half functions. In the transmitprocessingprocessing, it comparesagainstwith Up MEP and MIP Half functions. Appointed Forwarder is a function that the TRILLEncap/De-CapEncapsulation/Decapsulation layer performs. The TRILLEncap/De-cap LayerEncapsulation/Decapsulation layer is responsible for prevention of leaking of OAM packets as native frames. 5. Maintenance Associations(MA)(MAs) in TRILL [8021Q] defines amaintenance associationMaintenance Association as a logical relationship between a group of nodes. Each Maintenance Association (MA) is identified with a unique MAID of 48 bytes [8021Q]. CCM and other related OAM functions operate within the scope of an MA. The definition of MA is technology independent.SimilarlySimilarly, it is encoded within the OAM message, not in thetechnology dependenttechnology-dependent portion of the packet.HenceHence, the MAID as defined in [8021Q] can be utilized for TRILLOAM,OAM without modifications. This also allows us to utilize CCM and LBM messages defined in[8021Q],[8021Q] as is. In TRILL, an MA may contain two or more RBridges (MEPs). For unicast, it is likely that the MA contains exactly two MEPs that are the twoend-pointsend points of the flow. For multicast, the MA may contain two or more MEPs. For TRILL, in addition to all of the standard [8021Q] CFM MIB definitions, each MEP's MIB contains one or moreflow entropyFlow Entropy definitions corresponding to the set of flows that the MEP monitors. [8021Q] CFM MIB is augmented to add theTRILL specificTRILL-specific information. Figure5, below5 depicts the augmentation of the CFM MIB to add theTRILLTRILL- specific Flow Entropy. MA--- | --- MEP | . - Remote MEP List . | --- MEP-A | --- MEP-B . | . - Flow Entropy List { Augments IEEE8021-CFM-MIB} | --- (Flow Entropy-1) | ---(Flow-entropy-2)(Flow Entropy-2) | . --- (FlowEntropy n)Entropy-n) | Other MIB entries Figure55: Correlation ofTRILL augmentedTRILL-Augmented MIB The detailed TRILL OAM MIB will be specified in a separate document [TRILLOAMMIB]. 6. MEP Addressing In IEEE CFM [8021Q], OAM messages address the target MEP by utilizing a unique MAC address. InTRILLTRILL, a MEP is addressed by a combination of the egress RBridge nickname and theInner VLAN/FGL.Inner.VLAN/FGL. Additionally, MEPs are represented by2 octeta 2-octet MEP-ID that is independent of the underlying technology. In CFM[8021Q][8021Q], the value of MEP-ID is restricted to the range of 1 to 8191. However, on a CFM [8021Q] packet,MEP-IDMEP-IDs are encoded as a2 octet2-octet field. In the TRILL Base Mode operation presented in AppendixBB, MEP-IDs are mapped1 to 11-to-1 with the RBridge nicknames. Hence,Inin TRILL, a MEP-ID MUST be a number in the range from 1 to 65535. At the MEP, OAM packets go through a hierarchy ofop-code de- multiplexers.OpCode demultiplexers. Theop-code de-multiplexersOpCode demultiplexers channel the incoming OAM packets to the appropriate message processor(e.g. LBM) The reader may refer(e.g., LBM). Refer to Figure 6belowfor a visual depiction of these differentde-multiplexers.demultiplexers. The demultiplexing sequence is as follows: 1. Identify the packets that need OAM processing at theLocallocal RBridge as specified in Section 4. a. Identify the MEP that is associated with the Inner.VLAN/FGL. 2. The MEP first validates theMD-LEVELMD-Level andthenthen: a.RedirectRedirects toMD-LEVEL De-multiplexerthe MD-Level demultiplexer. 3.MD-LEVEL de-multiplexerThe MD-Level demultiplexer compares the MD-Level of the packet against theMD levelMD-Level of the local MEPs of a given MD-Level on theportport. (Note: there can be more than one MEP at the sameMD- LevelMD-Level butbelongingthey belong to differentMAs)MAs.) a. If the packetMD-LEVELMD-Level is equal to the configuredMD- LEVELMD-Level of the MEP, then pass to theOpcode de-multiplexerOpCode demultiplexer. b. If the packetMD-LEVELMD-Level is less than the configuredMD- LEVELMD-Level of the MEP, discard thepacketpacket. c. If thepacker MD-LEVELpacket MD-Level is greater than the configuredMD-LEVELMD-Level of the MEP, then pass on to thenext higher MD- LEVEL de-multiplexer,next-higher MD-Level demultiplexer, if available. Otherwise, if no such higherMD-LEVEL de-multiplexerMD-Level demultiplexer exists, then forward the packet as normal data. 4.Opcode De-multiplexerThe OpCode demultiplexer compares theopcodeOpCode in the packet with supportedopcodesOpCodes. a. IfOp-codethe OpCode is CCM, LBM, LBR, PTM, PTR, MTVM, or MTVR, then pass on to the correctProcessorprocessor. b. IfOp-codethe OpCode isUnknown,unknown, then discard. | .CCM LBM PTM MTVM . . | | | | +-+-+-+-+-+-+-+-+-+-+-+-+ | OP Code DE-Mux |--- Unknown +-+-+-+-+-+-+-+-+-+-+-+-+ ^ ^ ^ MD==Li | | | +-+-+ +-+-+ +-+-+ | L |-->|L2 |-.- |Ln |---- > +-+-+ +-+-+ +-+-+ | | ^ | | | MD<LI Drop | Drop Drop | | | MD not --- |TRILL OAM need local | Present | Processing | | | TRILL Data ---- TRILL Data ---- ------->| T |----------------- >| M |--- > + TRILL OAM ---- + pass through OAM ---- Figure66: OAMDe-MultiplexersDemultiplexers at MEP foractiveActive SAPT :o T: DenotesTap, that identifiesTap. Identifies OAM frames that need local processing. These are the packets with the Alert flag set and OAM Ethertypeispresent after theflow entropyFlow Entropy of thepacket M : Is the post processing merge,packet. o M: The post-processing merge that merges data and OAM messages that are passed through. Additionally, theMergemerge component ensures, as explained earlier, that OAM packets are not forwarded out as native frames.L :o L: Denotes MD-Level processing. Packetswithwhose MD-Level is less than theLevelMD-Level of the current processing step will be dropped. Packets with equalMD-LevelMD-Levels are passed on to theopcode de-multiplexer.OpCode demultiplexer. Others are passed on to thenext levelnext-level MD processors or eventually to the merge point (M). NOTE: LBM, LBR, MTVM, MTVR,PTMPTM, and PTR are not subject to MAde-multiplexers.demultiplexers. These packets do not have an MA encoded in the packet. Adequate response can be generated to these packets, without loss of functionality, by any of the MEPs present on that interface or an entity within the RBridge. 6.1. Use of MIP in TRILL Maintenance Intermediate Points(MIP)(MIPs) are mainly used for fault isolation. Link Trace Messages in [8021Q] utilize a well-known multicast MACaddressaddress, and MIPs generate responses to Link Tracemessages.Messages. Response to Link TracemessagesMessages or lack thereof can be used for fault isolation in TRILL. As explained insection 10. ,Section 10, ahop-countHop Count expiry approach will be utilized for fault isolation and path tracing. The approach is very similar to the well-known IP trace-route approach. Hence, explicit addressing of MIPs is not required for the purpose of fault isolation. Any given RBridge can have multiple MIPs located within an interface. As such, a mechanism is required to identify which MIP should respond to an incoming OAM message. Any MIP residing within the ingress interface may reply to the incoming Path TracemessageMessage without loss of functionality or information. As specified in Section3.4. ,3.4, the address of the responding RBridge can be identified by means of the Sender ID TLV (1). The Reply Ingress TLV (5) identifies the interface id. The combination of these allows the recipient of the response to uniquely identify the responder. A similar approach to that presented above for MEPs can be used for MIP processing. It is important to note that "M", the merge block of a MIP, does not prevent OAM packets leaking out as native frames. On edge interfaces, MEPs MUST be configured to prevent the leaking of TRILL OAM packets out of the TRILLCampus.campus. PTM PTR MTVM MTVR | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OP Code De-Mux |-> Unknown +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ^ ^ ^ MD==Li | | | +-+-+ +-+-+ +-+-+ | L |- >|L2 |-.- |Ln |------+ +-+-+ +-+-+ +-+-+ | ^ | | | Drop | | MD not --- |TRILL OAM | Present | | | v TRILL Data ---- TRILL Data ----- ------- >| T |------------------ >| M |----> + TRILL OAM ---- ---- Figure77: OAMDe-MultiplexersDemultiplexers at MIP foractiveActive SAP o T:TAPTap processing for MIP. All packets withOAMthe TRILL Header Alert flag set are captured.L : MD Level Processing, Packeto L: MD-Level Processing. Packets with matchingMD LevelMD-Levels are "copied" to theOpcode de-multiplexerOpCode demultiplexer, and the original packet is passed on to the nextMD levelMD-Level processor. Other packets are simply passed on to the nextMD level processor,MD-Level processor without copying to theOP code de-multiplexer. M : Merge processor,OpCode demultiplexer. o M: The intermediate point processing mergeOAM packets to be forwarded along with thethat merges dataflow.and OAM messages that are passed through. Packets that carry Path Trace Message(PT)(PTM) or Multi-destination Tree Verification Message (MTVM) OpCodes are passed on to the respective processors. Packets with unknown OpCodes are counted and discarded. 7. Continuity Check Message (CCM) CCMs are used to monitor connectivity and configuration errors. [8021Q] monitors connectivity by listening to periodic CCM messages received from its remote MEP partners in the MA. An [8021Q] MEP identifies cross-connect errors by comparing the MAID in the received CCM message with the MEP's local MAID. The MAID [8021Q] is a 48-byte field that is technology independent. Similarly, theMEPIDMEP-ID is a 2-byte field that is independent of the technology. Given this generic definition of CCM fields, CCM as defined in [8021Q] can be utilized in TRILL with no changes.TRILL specificTRILL-specific information may be carried in CCMs when encoded usingTRILL specificTRILL-specific TLVs or sub-TLVs. This is possible since CCMs may carry optional TLVs. Unlike classical Ethernet environments, TRILL contains multipath forwarding. The path taken by a packet depends on the payload of the packet. The Maintenance Association (MA) identifies the interestedend-pointsMaintenance End Points (MEPs) of a given monitored path. Forunicastunicast, there are only two MEPs per MA. Formulticastmulticast, there can be two or more MEPs in the MA. The entropy values of the monitored flows are defined within the MA. CCM transmit logic will utilize theseflow entropyFlow Entropy values when constructing the CCM packets. Please seesection 12. belowSection 12 for the theory of operation of CCM. The MIBofin [8021Q] is augmented with the definition offlow- entropy.Flow Entropy. Please see [TRILLOAMMIB] fordefinition of thesethis and otherTRILL relatedTRILL-related OAM MIB definitions.The belowFigure 8 depicts the correlation between MA,CCMCCM, and theflow-entropy.Flow Entropy. MA--- | --- MEP | . - Remote MEP List . | --- MEP-A | --- MEP-B . | . - Flow Entropy List {Augments IEEE8021-CFM-MIB} | --- (Flow Entropy-1) | ---(Flow-entropy-2)(Flow Entropy-2) | . ---(FlowEntropy n)Entropy-n) | . - CCM | --- (standard 8021ag entries) | ---(hop-count)(Hop Count) { Augments IEEE8021-CFM-MIB} | ---(Other TBD(Any other TRILLOAM specificOAM-specific entries) {Augmented} | . | - Other MIB entries Figure88: Augmentation of CCM MIB in TRILL In a multi-pathing environment, aFlow -flow, bydefinition -definition, is unidirectional. A question may arise as to whatflow entropyFlow Entropy should be used in the response. CCMs are unidirectional and have no explicit reply; as such, the issue of the responseflow entropyFlow Entropy does not arise. In the transmitted CCM, each MEP reports local status using the Remote Defect Indication (RDI) flag. Additionally, a MEP may raise SNMP TRAPs [TRILLOAMMIB] asAlarmsalarms when a connectivity failure occurs. 8. TRILL OAM Message Channel The TRILL OAM Message Channel can be divided into two parts: TRILL OAMMessagemessage header and TRILL OAMMessageTLVs. Every OAMMessagemessage MUST contain a single TRILL OAM message header and a set of one or more specified OAMMessagemessage TLVs. 8.1. TRILL OAM MessageheaderHeader As discussed earlier, a common messaging framework between [8021Q], TRILL, and other similar standards such as Y.1731 is accomplished byre-usingreusing the OAM message header defined in [8021Q]. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MD-L | Version | OpCode | Flags |FirstTLVOffset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | .Opcode SpecificOpCode-Specific Information . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . TLVs . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure99: OAM Message Format o MD-L: Maintenance Domain Level (3 bits).Identifies the maintenance domain level.For TRILL, in general, this field is set to a single value across the TRILL campus. When using the TRILLbase modeBase Mode as specified in Appendix B, MD-L is set to 3. However, extension ofTRILL, for exampleTRILL (for example, to supportmultilevel,multilevel) may create differentMD-LEVELsMD-Levels, and the MD-L field must be appropriately set in those scenarios. (Please refer to [8021Q] for the definition ofMD-Level)MD-Level). o Version: Indicates the version (5 bits) as specified in [8021Q]. This document does not require changing the Version defined in [8021Q]. o OpCode: Operation Code (8 bits). Specifies the operation performed by the message. See Section 8.2. o Flags: Includes operational flags (1 byte). The definition of flags isOpcode-specificOpCode-specific and is covered in the applicable sections. o FirstTLVOffset: Defines the location of the first TLV, in bytes, starting from the end of the FirstTLVOffset field (1 byte). (Refer to [8021Q] for the definition of the FirstTLVOffset.) o OpCode-Specific Information: May contain Session Identification Number, timestamp, etc. The MD-L, Version,Opcode, FlagsOpCode, Flags, and FirstTLVOffset fields collectively are referred to as the OAMMessage Header. The Opcode specific information section of the OAM Message may contain Session Identification number, time-stamp, etc.message header. 8.2.TRILL SpecificTRILL-Specific OAMOpcodesOpCodes The followingTRILL specificTRILL-specific CFMOpcodesOpCodes are defined. Each of theOpcodesOpCodes indicates a separate type of TRILL OAM message. Details of the messages are presented inthe related sections.Sections 10 and 11. TRILL OAMMessage Opcodes: TBD1:message OpCodes: 64: Path Trace ReplyTBD2:65: Path Trace MessageTBD3: Multicast66: Multi-destination Tree Verification ReplyTBD4: Multicast67: Multi-destination Tree Verification Message Loopback and CCM Messages reuse theopcodesOpCodes defined by[8021Q][8021Q]. 8.3. Format of TRILL OAM TLV The same CFM TLV format as defined in [8021Q] is used for TRILL OAM. The following figure depicts the general format of a TRILL OAM TLV: 0 1 2 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | .Value(variable)Value (variable) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1010: TRILL OAM TLV o Type (1 octet): Specifies theTypetype of the TLV (seesections 8.4.Section 8.4 for TLV types). o Length (2 octets): Specifies the length of the'Value'Value field in octets. Length of the'Value'Value field can beeitherzero or more octets. o Value (variable): The length and the content of this field depend on the type oftheTLV. Please refer to applicable TLV definitions forthedetails. Semantics and usage of Type values allocated for TRILL OAM purpose are defined by this document and other future related documents. 8.4. TRILL OAM TLVsTRILL relatedTRILL-related TLVs are defined in this section.[8021Q]TLVS definedTLVsin [8021Q] are reused, where applicable. 8.4.1. Common TLVs between CFM and TRILL The following TLVs are defined in [8021Q]. Were-usereuse them where applicable. The format and semantics of the TLVs are as defined in [8021Q]. Type Name of TLV in [8021Q] ---- ---------------------- 0 End TLV 1 Sender ID TLV 2 Port Status TLV 3 Data TLV 4 Interface Status TLV 5 Reply Ingress TLV 6 Reply Egress TLV 7 LTM Egress Identifier TLV 8 LTR Egress Identifier TLV 9-30 Reserved 31 Organization Specific TLV 8.4.2. TRILLOAM SpecificOAM-Specific TLVs Listed below is a summary of TRILL OAM TLVs and their corresponding codes. Format and semantics of TRILL OAM TLVs are defined in subsequent sections. Type TLV Name----------- ---------------------- TBDa---- ------------------------------------ 64 TRILL OAM Application Identifier TLVTBDb Out of Band65 Out-of-Band Reply Address TLVTBDc66 Diagnostic Label TLVTBDd67 Original Data Payload TLVTBDe68 RBridgescopeScope TLVTBDf69 Previous RBridgenicknameNickname TLVTBDg Next Hop70 Next-Hop RBridge List(ECMP)TLVTBDh71 Multicast Receiver PortcountCount TLVTBDi72 Flow Identifier TLVTBDj73 Reflector Entropy TLVTBDk74 Authentication TLV The TRILL OAM Application Identifier TLV(TBDa)(64) MUST be the first TLV. An End TLV (0) MUST be included as the last TLV. All other TLVs can be included in any order. 8.4.3. TRILL OAM Application Identifier TLV The TRILL OAM Application Identifier TLV carries information specific to TRILL OAMapplication specific information.applications. The TRILL OAM Application Identifier TLV MUST always be present and MUST be the first TLV in TRILL OAM messages. Messages that do not include the TRILL OAM Application Identifier TLV as the first TLV MUST be discarded by a TRILL MP. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Version | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved1 | Fragment-ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Return Code |Returnsub-code|Sub-code| Reserved2 |F|C|O|I| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1111: TRILL OAM Application Identifier TLV o Type (1octet) = TBDa indicate that this is theoctet): 64, TRILL OAM Application IdentifierTLV.TLV o Length (2octets) = 9. TRILL OAMoctets): 9 o Version (1octet), currentlyoctet): Currently set to zero. Indicates the TRILL OAM version. The TRILL OAM version can be different than the [8021Q] version. o Reserved1 (3 octets):setSet to zero on transmission and ignored on reception. o Fragment-ID (1 octet): Indicates the fragment number of the current message. This applies only to reply messages; in requestmessagesmessages, it must be set to zero on transmission and ignored on receipt.FThe "F" flag defined below MUST be set with the finalmessagemessage, whether it is the last fragment of the fragmented message or the only message of the reply. Section13. below13 provides more details on OAMMessagemessage fragmentation. o Return Code (1 octet): Set to zero on requests. Set to an appropriate value in response messages. o Returnsub-codeSub-code (1Octet): Return sub-code is setoctet): Set to zero on transmission of request message. The Returnsub-codeSub-code identifies categories within a specific Returncode. Return sub-codeCode and MUST be interpreted within a Returncode.Code. o Reserved2 (12 bits): Set to zero on transmission and ignored on reception. o F (1 bit): Finalflag, whenflag. When set, indicates this is the last response. o C (1 bit):Cross connect error flag(VLAN/LabelCross-Connect Error flag (VLAN/FGL mappingerror), if seterror). If set, indicates that the label (VLAN/FGL) in theflow entropyFlow Entropy is different than the label included in thediagnosticDiagnostic Label TLV. This field is ignored in request messages and MUST only be interpreted in response messages. o O (1 bit): If set,indicates,indicates OAM out-of-band response requested. o I (1 bit): If set,indicates,indicates OAM in-band response requested. NOTE: When both O and I bits are set to zero, this indicates that no response is required (silent mode).UserUsers MAY specify both O andI orI, one ofthemthem, or none. When both O and I bits aresetset, the response is sent both in-band and out-of-band. 8.4.4.Out Of BandOut-of-Band Reply Address TLVOut of BandThe Out-of-Band Reply Address TLV specifies the address to which anout of bandout-of-band OAM reply message MUST be sent. When the O bit in the TRILL VersionTLVsub-TLV (Section 3.3) is not set,Out of Bandthe Out-of-Band Reply Address TLV is ignored. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Address Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Addr Length | | +-+-+-+-+-+-+-+-+ | | | . Reply Address . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure12 Out of Band IP12: Out-of-Band Reply Address TLV o Type (1octet) = TBDboctet): 65, Out-of-Band Reply Address TLV o Length (2octets) =octets): Variable. Minimum length is 2 + the length (in octets) of the shortest address.CurrentlyCurrently, the minimum value of this field is 4, but this could change in the future if a new address shorter than the TRILLRBridgenickname is defined. o Address Type (1octet) =octet): 0 -IPv4.IPv4 1 -IPv6.IPv6 2 - TRILLRBridge nickname.nickname All other values reserved. o Addr Length (1octet) =octet): Depends on the Address Type.CurrentlyCurrently, defined values are: 4 -IPv4.IPv4 16 -IPv6,IPv6 2 - TRILLRBridge nickname.nickname Other lengths may be acceptable for future Address Types. o Reply Address (variable): Address where the replyneededneeds to be sent. Length depends on the address specification. 8.4.5.DiagnosticsDiagnostic Label TLV The DiagnosticlabelLabel TLV specifies the data label (VLAN or FGL) in which the OAM messages are generated. Receiving RBridge MUST compare the data label of the FlowentropyEntropy to the data label specified in the Diagnostic Label TLV.Label Error FlagThe "C" flag (Cross Connect Error) in the response (TRILL OAMMessage Version TLV)Application Identifier TLV; Section 8.4.3) MUST be set when the two VLANs do not match. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | L-Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |Label(VLAN)Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1313: DiagnosticVLANLabel TLV o Type (1octet) = TBDc indicates that this is the TRILLoctet): 66, DiagnosticVLANLabel TLV o Length (2octets) =octets): 5 o L-Type(Label type, 1 octet) 0- indicate(1 octet): Label type 0 - Indicates a right-justified 802.1Q12 bit VLAN.12-bit VLAN padded on the left with bits that must be sent as zero and ignored on receipt 1 -indicateIndicates a TRILL24 bit fine grain24-bit fine-grained label o Reserved (1octet) = setoctet): Set to zero on transmission and ignored on reception. o Label (24bits)=bits): Either12 bit12-bit VLAN or 24 bitfine grainfine-grained label. RBridges do not performLabellabel error checking when the Diagnostic Label TLV is not included in the OAM message. In certaindeploymentsdeployments, intermediate devices may perform label translation. In such scenarios, the originator should not include thediagnosticDiagnostic Label TLV in OAM messages. Inclusion ofdiagnosticDiagnostic Label TLV will generate unwanted label error notifications. 8.4.6. Original Data Payload TLV 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | . Original Payload . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1414: Original Data Payload TLV o Type (1octet) = TBDdoctet): 67, Original Data Payload TLV o Length (2octets) =octets): variable o Original Payload: The original TRILL Header and Flow Entropy. Used in constructing replies to the Loopback Message (see Section 9) and the Path Trace Message (see Section 10). 8.4.7. RBridgescopeScope TLV The RBridgescopeScope TLV identifies nicknames of RBridges from which a response is required. The RBridgescopeScope TLV is only applicable toMulticastMulti-destination Tree Verificationmessages.Messages. This TLV SHOULD NOT be included in other messages. Receiving RBridges MUST ignore this TLV on messages other thanMulticastMulti-destination Tree VerificationMessage.Messages. Each TLV can contain up to 255 nicknames of in-scope RBridges. AMulticastMulti-destination Tree Verification Message may contain multiple"RBridgeRBridge scopeTLVs",TLVs, in the event that more than 255in scopein-scope RBridges need to be specified. Absence of the"RBridge scope TLV"RBridge Scope TLV indicates that a response is needed from all the RBridges. Please seesection 11.Section 11 for details. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | nOfnicknames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |nickname-1Nickname-1 |nickname-2Nickname-2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |nickname-nNickname-n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1515: RBridge Scope TLV o Type (1octet) = TBDe indicates that this is the "RBridge scope TLV"octet): 68, RBridge Scope TLV o Length (2octets) = variable.octets): Variable. Minimum value is 1. o nOfnicknames (1octet) = indicatesoctet): Indicates the number of nicknames included in this TLV. Zero (0) indicates no nicknames are included in the TLV. When this field is set to zero (0),lengththe Length field MUST be set to 1. o Nickname (2octets) = 16 bitoctets): 16-bit RBridgenickname.nickname 8.4.8. Previous RBridgenicknameNickname TLV The"PreviousPrevious RBridgenickname TLV"Nickname TLV identifies the nickname or nicknames of thePreviousprevious RBridge. [RFC6325] allows a given RBridge to hold multiple nicknames. The"PreviousPrevious RBridgenickname TLV"Nickname TLV is an optional TLV. Multiple instances of this TLV MAY be included when an upstream RBridge is represented by more than 255 nicknames (highly unlikely). 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved (continued) |nicknameNickname | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1616: Previous RBridgenicknameNickname TLV o Type (1octet) = TBDf indicates that this is the "Previousoctet): 69, Previous RBridgenickname"Nickname TLV o Length (2octets) = 5.octets): 5 o Reserved (3octet) = setoctet): Set to zero on transmission and ignored on reception. o Nickname (2octets) =octets): RBridgenickname.nickname 8.4.9.Next HopNext-Hop RBridge List TLV"Next HopThe Next-Hop RBridge ListTLV"TLV identifies the nickname or nicknames of the downstreamnext hopnext-hop RBridges. [RFC6325] allows a given RBridge to have multipleEqual Cost Pathsequal-cost paths to a specified destination. Eachnext hopnext-hop RBridge is represented by one of its nicknames."Next HopThe Next-Hop RBridge ListTLV"TLV is an optional TLV. Multiple instances of this TLV MAY be included when there are more than 255Equal Cost Pathsequal-cost paths to the destination. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | nOfnicknames | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |nickname-1Nickname-1 |nickname-2Nickname-2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |nickname-nNickname-n | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure17 Next Hop17: Next-Hop RBridge List TLV o Type (1octet) = TBDg indicates that this is the "Next nickname"octet): 70, Next-Hop RBridge List TLV o Length (2octets) = variable.octets): Variable. Minimum value is 1.Nickname (2 octets) = 16 bit RBridge nickname.o nOfnicknames (1octet) = indicatesoctet): Indicates the number of nicknames included in this TLV. Zero (0) indicates no nicknames are included in the TLV. When this field is set to zero (0),lengththe Length field MUST be set to 1. o Nickname (2 octets): 16-bit RBridge nickname. 8.4.10. Multicast Receiver PortcountCount TLV"MulticastThe Multicast Receiver Port CountTLV"TLV identifies the number of ports interested in receiving the specified multicast stream within the responding RBridge on the label (VLAN or FGL) specified by the Diagnostic Label TLV. The Multicast Receiver PortcountCount TLV is anOptionaloptional TLV. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |numberNumber of Receivers | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1818: Multicast ReceiverAvailabilityPort Count TLV o Type (1octet) = TBDh indicates that this is the "Multicast Availability TLV"octet): 71, Multicast Receiver Port Count TLV o Length (2octets) = 5.octets): 5 o Reserved (1octet) = setoctet): Set to zero on transmission and ignored on reception. o Number of Receivers (4octets) =octets): Indicates the number ofMulticastmulticast receivers available on the responding RBridge on the label specified by the diagnostic label. 8.4.11. Flow Identifier(flow-id)TLV The Flow Identifier(flow-id)TLV uniquely identifies a specific flow. Theflow-idflow-identifier value is unique per MEP and needs to be interpreted as such. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MEP-ID |flow-idflow-identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure1919: Flow Identifier TLV o Type (1octet) = TBDioctet): 72, Flow Identifier TLV o Length (2octets) = 5.octets): 5 o Reserved (1octet) setoctet): Set to 0 on transmission and ignored on reception. o MEP-ID (2octets) =octets): MEP-ID of the originator [8021Q]. InTRILLTRILL, MEP-ID can take a value from 1 to 65535.Flow-ido flow-identifier (2octets) = uniquelyoctets): Uniquely identifies the flow per MEP. Different MEPs may allocate the sameflow-idflow-identifier value. The {MEP-ID,flow-id}flow-identifier} pair is globally unique. Inclusion of the MEP-ID in theflow-idFlow Identifier TLV allows the inclusion of a MEP-ID for messages that do not contain a MEP-ID in their OAM header. Applications may use MEP-ID information for different types of troubleshooting. 8.4.12. Reflector Entropy TLV The Reflector Entropy TLV is an optional TLV. This TLV, when present, tells the responder to utilize the Reflector Entropy specified within the TLV as the flow-entropy of the response message. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Reflector Entropy . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure2020: Reflector Entropy TLV o Type (1octet) = TBDjoctet): 73, Reflector EntropyTLV.TLV o Length (2octets) = 97.octets): 97 o Reserved (1octet) = setoctet): Set to zero on transmission and ignored by the recipient. o Reflector Entropy(96-octet) =(96 octets): Flow Entropy to be used by the responder. May be padded withzerozeros if the desiredflow entropyflow-entropy information is less than 96 octets. 8.4.13. Authentication TLV The Authentication TLV is an optional TLV that can appear in any OAMMessagemessage orReplyreply in TRILL. 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Auth Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . Authentication Value . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 21: Authentication TLV o Type (1octet) = TBDkoctet): 74, AuthenticationTLV.TLV o Length (2octets) = variable lengthoctets): Variable o The Auth Type and following Authentication Value are the same as the Auth Type and following value for the [IS-IS] Authentication TLV. It is RECOMMENDED that Auth Type 3 be used. Auth Types 0, 1, 2, and 54 MUST NOT be used. With Auth Type 3, the Authentication TLV is as follows: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Auth Type = 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Key ID | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ . . Authentication Data (variable) . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 22: Authentication TLV with Auth Type 3 With Auth Type 3, the process is generally as specified in [RFC5310] using the same Key ID space as TRILL [IS-IS]. The area covered by the Authentication TLV is from the beginning of the TRILL Header to the end of the TRILL OAM MessageChannel -Channel; the Link Header and Trailer are not included. The TRILL HeaderAlert andAlert, Reservedbitbit, and Hop Count are treated asifzero for the purposes of computing and verifying the Authentication Data. Key distribution is out of the scopeforof this document as the keying distributed for IS-IS is used. An RBridge supporting OAM authentication can be configured to either (1) ignore received OAM Authentication TLVs and not send them, (2) ignore received OAM Authentication TLVs but include them in all OAM packets sent, or (3) to include Authentication TLVs in all OAM messages sent and enforce authentication of OAM messages received. When an RBridge is enforcing authentication, it discards any OAM message subject to OAM processing that does not contain an Authentication TLV orif thean Authentication TLV does not verify. 9. Loopback Message 9.1. LoopbackOAMMessageformatFormat 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |MD-L | Version | OpCode | Flags |FirstTLVOffset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Loopback Transaction Identifier | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . TLVs . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure2123: LoopbackOAMMessage Format Theabovefigure above depicts the format of the Loopback Request andresponseResponse messages as defined in [8021Q]. TheOpcodeOpCode for the Loopback Message is set to33, and theOpcodeOpCode for theReply Messagereply message is set to 2 [8021Q]. The Loopback Transaction Identifier (commonly called the Session Identification Number or Session ID in this document) is a 32-bit integer that allows the requesting RBridge to uniquely identify the corresponding session. Responding RBridges, without modification, MUST echo the received "Loopback Transaction Identifier" number. 9.2. Theory of Operation 9.2.1. Actions by Originator RBridge The originator RBridge takes the following actions: o Identifies the destination RBridge nickname based on user specification or based on the specified destination MAC or IP address. o Constructs theflow entropyFlow Entropy based onuser specifieduser-specified parameters orimplementation specificimplementation-specific default parameters. o Constructs the TRILL OAM header: sets theopcodeOpCode to LoopbackmessageMessage type(3)[8021Q].(3) [8021Q]. Assigns applicable Loopback Transaction Identifier number for the request. o The TRILL OAM Application Identifier TLV MUST be includedandwith the flags set to applicable values.Includeo Includes following OAM TLVs, whereapplicable o Out of Bandapplicable: - Out-of-Band Reply Address TLVo- Diagnostic Label TLVo- Sender ID TLVSpecifyo Specifies the HopcountCount of the TRILLdataData frame per user specification or utilize an applicable HopcountCount value.Dispatcho Dispatches the OAM frame for transmission. RBridges may continue to retransmit the request at periodicintervals,intervals until a response is received or there-transmissionretransmission count expires. At eachtransmissiontransmission, the Session IdentificationnumberNumber MUST be incremented. 9.2.2. Intermediate RBridge Intermediate RBridges forward the frame as a normal dataframe andframe; no special handling is required. 9.2.3. Destination RBridge If the LoopbackmessageMessage is addressed to the local RBridge and satisfies the OAM identification criteria specified insection 3.1. then,Section 3.1, then the RBridge data plane forwards the message to the CPU for further processing. The TRILL OAM application layer further validates the received OAM frame by checking for the presence ofOAM-EthertypeOAM Ethertype at the end of theflow entropy.Flow Entropy. Frames that do not containOAM-EthertypeOAM Ethertype at the end of theflow entropyFlow Entropy MUST be discarded. Construction of the TRILL OAM response: o The TRILL OAM application encodes the received TRILLheaderHeader andflow entropyFlow Entropy in the OriginalpayloadData Payload TLV and includes it in the OAM message. o Set the Return Code to (1) "Reply" and Returnsub codeSub-code to zero (0) "Valid Response". Update the TRILL OAMopcodeOpCode to 2 (Loopback MessageReply)Reply). o Optionally, if the VLAN/FGL identifier value of the receivedflow entropyFlow Entropy differs from the value specified in thediagnostic Label,Diagnostic Label TLV, set theLabel Error Flag on"C" flag (Cross Connect Error) in the TRILL OAM Application Identifier TLV. o Include thesenderSender ID TLV(1)(1). o If in-band response was requested, dispatch the frame to the TRILL data plane with request-originator RBridge nickname as the egress RBridge nickname. o If out-of-band response was requested, dispatch the frame to the IP forwarding process. 10. Path Trace Message The primary use of the Path Trace Message is for fault isolation. It may also be used for plotting the path taken from a given RBridge to another RBridge. [8021Q] accomplishes the objectives of the TRILL Path Trace Message using Link Trace Messages. Link Trace Messages utilize a well-known multicast MAC address. This works for[8021Q],[8021Q] becausefor 802.1both the unicast and multicast paths are congruent. However, inTRILLTRILL, multicast and unicast are not congruent. Hence, TRILL OAM uses a new message format: the Path Tracemessage.Message. The Path Trace Message has the same format as the Loopback Message. TheOpcodeOpCode for Path Trace Reply isTBD164, and the OpCode for the Path Trace Message isTBD2.65. Operation of the Path TracemessageMessage is identical to the LoopbackmessageMessage except that it is first transmitted with a TRILL Header HopcountCount field value of 1. The sending RBridge expects an "Intermediate RBridge" Returnsub-codeSub-code from the next hop or a "Valid response" Returnsub-CodeSub-code response from the destination RBridge. If an "Intermediate RBridge" Returnsub-codeSub-code is received in the response, the originator RBridge records the information received from the intermediate node that generated the message and resends the message by incrementing the previous HopcountCount value by 1. This process is continued until, a response is received from the destinationRBridge orRBridge, a Path Trace process timeoutoccuroccurs, or the HopcountCount reaches a configured maximum value. 10.1. Theory of Operation 10.1.1.ActionActions by Originator RBridgeIdentifyThe originator RBridge takes the following actions: o Identifies the destination RBridge based on user specification or based on location of the specified MAC address.Constructo Constructs theflow entropyFlow Entropy based onuser specifieduser-specified parameters orimplementation specificimplementation-specific default parameters.Constructo Constructs the TRILL OAM header:Setset theopcodeOpCode to Path TraceRequest messageMessage type(TBD2).(65). Assign an applicable Session Identification number for the request.Return-codeReturn Code andsub-codeReturn Sub-code MUST be set to zero. o The TRILL OAM Application Identifier TLV MUST be includedand setwith the flags set to applicable values.Includeo Includes the following OAM TLVs, whereapplicable o Out of Bandapplicable: - Out-of-Band Reply Address TLVo- Diagnostic Label TLVo Include the- Sender ID TLVSpecifyo Specifies the HopcountCount of the TRILLdataData frame as 1 for the first request.Dispatcho Dispatches the OAM frame to the TRILL data plane for transmission. An RBridge may continue to retransmit the request at periodicintervals,intervals until a response is received or there-transmissionretransmission count expires. At each newre-transmission,retransmission, the Session Identification number MUST be incremented. Additionally, for responses received from intermediate RBridges, the RBridge nickname and interface information MUST be recorded. 10.1.2. Intermediate RBridge Path Trace Messages transit through Intermediate RBridges transparently, unlessHop-countthe Hop Count has expired. The TRILL OAM application layer further validates the received OAM frame by examining the presence of the TRILL AlertFlagflag andOAM-OAM Ethertype at the end of theflow entropyFlow Entropy and by examining theMD Level.MD-Level. Frames that do not containOAM-EthertypeOAM Ethertype at the end of theflow entropyFlow Entropy MUST be discarded. Construction of the TRILL OAM response: o The TRILL OAM application encodes the received TRILLheaderHeader andflow entropyFlow Entropy in the OriginalpayloadData Payload TLV andincludeincludes it in the OAM message. o Set the Return Code to (1) "Reply" and Returnsub codeSub-code tozerotwo (2) "Intermediate RBridge". Update the TRILL OAMopcodeOpCode toTBD164 (Path Trace Reply). o If the VLAN/FGL identifier value of the receivedflow entropyFlow Entropy differs from the value specified in the diagnosticLabel,label, set theLabel Error Flag on"C" flag (Cross Connect Error) in the TRILL OAM Application Identifier TLV. o Include the followingTLVsTLVs: - Previous RBridgenicknameNickname TLV (69) - Reply Ingress TLV (5) - Reply Egress TLV (6) - Interface Status TLV (4)TRILL Next Hop- Next-Hop RBridge List TLV (70) (Repeat for each ECMP)(70)- Sender ID TLV (1) o IfLabela cross-connect error is detected, setCthe "C" flag(Label error detected)(Cross- Connect Error) in theversion.reply's TRILL OAM Application Identifier TLV. o If in-band response was requested, dispatch the frame to the TRILL data plane with request-originator RBridge nickname as the egress RBridge nickname. o If out-of-band response was requested, dispatch the frame to the standard IP forwarding process. 10.1.3. Destination RBridge Processing is identical tosection 10.1.2. Withthat in Section 10.1.2 with the exception that the TRILL OAMOpcodeOpCode is set to Path Trace Reply(TBD1).(64). 11. Multi-Destination Tree Verification Message (MTVM)Multi-DestinationMulti-destination Tree VerificationmessagesMessages allow verifying TRILL distribution tree integrity and pruning. TRILL VLAN/FGL and multicast pruning are described in[RFC6325] [RFC7180][RFC6325], [RFC7180], and [RFC7172]. Multi-destinationtree verificationTree Verification and Multicastgroup verification messagesGroup Verification Messages are designed to detect pruning defects. Additionally, these tools can be used for plotting a given multicast tree within the TRILL campus.Multi-Destination tree verificationMulti-destination Tree Verification OAM frames are copied to the CPU of every intermediate RBridge that is part of the distribution tree being verified. The originator of theMulti- destinationMulti-destination Treeverification messageVerification Message specifies the scope of RBridges from which a response is required. Only the RBridges listed in the scope field respond to the request. Other RBridges silently discard the request. Inclusion of the scopeparameterfield is required to prevent receiving an excessive number of responses. The typical scenario of distribution tree verification or groupverification,verification involves verifying multicast connectivity to a selected set ofend-nodesend nodes as opposed to the entire network. Availability of the scope facilitates narrowing down the focus to only the RBridges of interest. Implementations MAY choose to rate-limitCPU boundCPU-bound multicast traffic. As a result of rate-limiting or due to other congestion conditions, MTVM messages may be discarded from time to time by the intermediateRBRidgesRBridges, and the requester may be required to retransmit the request. Implementations SHOULD narrow the embedded scope of retransmissionrequestrequests only to RBridges that have failed to respond. 11.1.Multi-Destination Tree Verification Message (MTVM) FormatMTVM Format The format of MTVM is identical tothat ofthe Loopback Message format defined insection 9.Section 9 with the exception that theOp-CodeOpCode used isTBD4.67. 11.2. Theory of Operation 11.2.1. Actions by Originator RBridge The user isrequiredrequired, at aminimumminimum, to specify either the distribution trees that need to be verified,orthe Multicast MAC address and VLAN/FGL, or the VLAN/FGL and MulticastdestinationDestination IP address. Alternatively, for more specific multicast flow verification, the user MAY specify moreinformation e.g.information, e.g., source MAC address, VLAN/FGL, and Destination and Source IP addresses. Implementations, at a minimum, must allow the user to specify a choice of distribution trees, Destination Multicast MACaddressaddress, and VLAN/FGL that needs to be verified.Although,Although it is not mandatory, it is highly desired to provide an option to specify the scope. It should be noted that the source MAC address and some other parameters may not be specified if theBackwards Compatibility Method ofbackwards-compatibility method in Appendix A is used to identify the OAM frames. Default parameters MUST be used for unspecified parameters. FlowentropyEntropy is constructed based onuser specifieduser-specified parameters and/or default parameters. Based on user specified parameters, the originating RBridge does the following: o Identifies the nickname that represents the multicast tree. o Obtains the applicable HopcountCount value for the selected multicast tree. o Constructs TRILL OAM message header andincludeincludes the Session Identification number. The Session Identificationnumber facilitateNumber facilitates the originator mapping the response to the correct request. o Includes the TRILL OAM Application Identifier TLV, which MUST be included. o Includes theOp-CodeOpCode Multicast Tree Verification Message(TBD4)(67). o Includes RBridgescopeScope TLV(TBDe)(68). o Optionally,includeincludes the followingTLV,TLVs, whereapplicable o Out-of-bandapplicable: - Out-of-Band IPaddress (TBDb) oAddress TLV (65) - Diagnostic Label(TBDd) oTLV (66) - Sender ID TLV (1)Specifyo Specifies the HopcountCount of the TRILLdataData frame per user specification or alternativelyutilizeutilizes the applicable HopcountCount value if the TRILL HopcountCount is not being specified by theuser; and Dispatchuser. o Dispatches the OAM frame to the TRILL data plane to be ingressed for transmission. The RBridge may continue to retransmit the request at a periodic interval until either a response is received or there- transmissionretransmission count expires. At each newre-transmission,retransmission, the Session IdentificationnumberNumber MUST be incremented. At eachre- transmission,retransmission, the RBridge may further reduce the scope to the RBridges that it has not received a response from. 11.2.2. Receiving RBridge Receiving RBridges identify multicast verification frames per the procedure explained insectionsSection 3.2. The RBridge validates the frame and analyzes the scope RBridge list. If the RBridgescopeScope TLV is present and the local RBridge nickname is not specified in the scope list, it will silently discard the frame. If the local RBridge is specified in the scope list OR the RBridgescopeScope TLV is absent, the receiving RBridge proceeds with further processing as defined insectionSection 11.2.3. 11.2.3.In scopeIn-Scope RBridges Construction of the TRILL OAM response: o The TRILL OAM application encodes the received TRILLheaderHeader andflow entropyFlow Entropy in the OriginalpayloadData Payload TLV and includes them in the OAM message. o Set the Return Code to zero (0) and Returnsub codeSub-code to zero (0). Update the TRILL OAMopcodeOpCode toTBD3 (Multicast66 (Multi-destination Tree Verification Reply). o Include following TLVs: - Previous RBridgenicknameNickname TLV(TBDf)(69) - Reply Ingress TLV (5) - Interface Status TLV (4)TRILL Next Hop- Next-Hop RBridge List(TBDg)TLV (70) - Sender ID TLV (1) - Multicast ReceiverAvailabilityPort Count TLV(TBDh)(71) o If aLabel (VLAN or FGL) cross connectVLAN/FGL cross-connect error is detected, set theC"C" flag(Cross connect error detected)(Cross-Connect Error) in the TRILL OAM Application Identifier TLV. o If in-band response was requested, dispatch the frame to the TRILL data plane with request-originator RBridge nickname as the egress RBridge nickname. o If out-of-band response was requested, dispatch the frame to the standard IP forwarding process. 12. Application of Continuity Check Message (CCM) in TRILL Section7.7 provides an overview of CCM Messages defined in [8021Q] and how they can be used withintheTRILL OAM. Thissection,section presents the application andTheorytheory ofOperationsoperations of CCM within the TRILL OAM framework. Readers are referred to [8021Q] for CCM message format and applicable TLV definitions and usages. Only theTRILL specificTRILL-specific aspects are explained below. In TRILL, between any two givenMEPsMEPs, there can be multiple potential paths. Whereas in [8021Q], there is always a single path between any two MEPs at any given time. [RFC6905] requires solutions to have the ability to monitor continuity over one or more paths. CCM Messages are uni-directional, such that there is no explicit response to a received CCM message. Connectivity status is indicated by setting the applicable flags(e.g.(e.g., RDI) of the CCM messages transmitted byana MEP. It is important that the solution presented in this document accomplishes the requirements specified in [RFC6905] within the framework of [8021Q] in a straightforward manner and with minimum changes. Section 8abovedefines multiple flows within the CCM object, each corresponding to a flow that a given MEP wishes to monitor. Hence, CCM, in multipath environments like TRILL, monitorsper flowper-flow connectivity andcross connectcross-connect errors. Receiving MEPs do notcross checkcross-check whether a received CCM belongs to a specific flow from the originating RBridge. Any attempt to track status of individual flows may explode the amount of state information that any given RBridge has to maintain. The obvious question arises:Howhow does the originating RBridge know which flow or flows are at fault? This is accomplished with a combination of the RDI flag in the CCM header,flow-idFlow Identifier TLV, and SNMP Notifications (Traps). Section12.1. below discuss12.1 discusses the procedure. 12.1. CCM Error Notification Each MEP transmits4four CCM messages per each flow. ([8021Q] detects CCM fault when3three consecutive CCM messages are lost). Each CCMMessagemessage has a unique sequence number (Session ID) and uniqueflow-identifier.flow- identifier. Theflow identifierflow-identifier is included in the OAM message viaflow-idthe Flow Identifier TLV. Whenana MEP notices a CCM timeout from a remote MEP (MEP-A), it sets the RDI flag on the next CCM message it generates. Additionally, it logs and sends an SNMP notification thatcontaincontains the remote MEP Identification,flow-idflow-identifier, and theSequence Numbersequence number of the last CCM message itreceived andreceived, and, if available, theflow-idflow-identifier and theSequence Numbersequence number of the first CCM message it received after the failure. Each MEP maintains a uniqueflow-idflow-identifier per eachflow, henceflow; hence, the operator can easily identify flows that correspond to the specificflow-id.flow-identifier. The following example illustrates the above. Assume there are twoMEPs,MEPs: MEP-A and MEP-B. Assume there are3three flows between MEP-A and MEP-B. Let's assume MEP-A allocates sequence numbers asfollowsfollows: Flow-1 Sequence={1,2,3,4,13,14,15,16,.. }flow-id=(1)flow-identifier=(1) Flow-2 Sequence={5,6,7,8,17,18,19,20,.. }flow-id=(2)flow-identifier=(2) Flow-3 Sequence={9,10,12,11,21,22,23,24,.. }flow-id=(3)flow-identifier=(3) Let'sAssumeassume Flow-2 is at fault.MEP-B,MEP-B receives CCM from MEP-A with sequence numbers1,2,3,4,1, 2, 3, and 4 but did not receive5,6,7,8.5, 6, 7, and 8. CCM timeout is set to3three CCM intervals in [8021Q].HenceHence, MEP-B detects the error at the8'th8th CCM message. At thistimetime, the sequence number of the last good CCM message MEP-B has received from MEP-A is44, andflow-idthe flow-identifier of the last good CCM Message is (1).HenceHence, MEP-B will generate a CCM error SNMP notification withMEP-A and LastMEP-A, last goodflow-id (1)flow-identifier (1), and sequence number 4. When MEP-A switches toflow-3Flow-3 after transmittingflow-2,Flow-2, MEP-B will start receiving CCM messages. In the foregoingexampleexample, it will be a CCM message withSequence Numbers 9,10,11,12,21sequence numbers 9, 10, 11, 12, and 21 and so on. When in receipt of a new CCM message from a specific MEP, after a CCM timeout, the TRILL OAM will generate an SNMP Notification of CCM resume with remoteMEP-ID andMEP-ID, the first validflow-idflow-identifier, and theSequencesequence number after the CCM timeout. In the foregoing example, it is MEP-A,flow-id (3)flow-identifier (3), andSequence Numbersequence number 9. The remote MEP list under the CCM MIB Object is augmented to contain "Last Sequence Number",flow-idflow-identifier, and "CCM Timeout" variables.Last"Last SequenceNumberNumber" andflow-idflow-identifier are updated every time a CCM is received from a remote MEP. The CCM Timeout variable is set when the CCM timeout occurs and is cleared when a CCM is received. 12.2. Theory of Operation 12.2.1. Actions by Originator RBridgeDeriveThe originator RBridge takes theflow entropyfollowing actions: o Derives the Flow Entropy field based onflow entropyflow-entropy information specified in the CCM Management object.Constructo Constructs the TRILL CCM OAM header as specified in [8021Q]. o The TRILL OAMVersionApplication Identifier TLV MUST be included as the first TLVand setwith the flags set to applicable values.Includeo Includes other TLVs specified in[8021Q] Include[8021Q]. o Includes the following optional TLV, whereapplicable oapplicable: - Sender ID TLV (1)Specifyo Specifies the HopcountCount of the TRILLdataData frame per user specification or utilize an applicable HopcountCount value.Dispatcho Dispatches the OAM frame to the TRILL data plane for transmission. An RBridge transmits a total of4four requests, each at CCM retransmission interval. At eachtransmissiontransmission, the Session Identification number MUST be incremented by one. At the5'th5th retransmission interval,flow entropy ofthe Flow Entropy of the CCM packet is updated to the nextflow entropyflow-entropy information specified in the CCM ManagementObject.object. If the currentflow entropyFlow Entropy is the lastflow entropyFlow Entropy specified, move to the firstflow entropyFlow Entropy specified and continue the process. 12.2.2. Intermediate RBridge Intermediate RBridges forward the frame as a normal dataframe andframe; no special handling is required. 12.2.3. Destination RBridge If the CCM Message is addressed to the local RBridge or multicast and satisfies the OAM identification methods specified insections 3.2.Section 3.2, then the RBridge data plane forwards the message to the CPU for further processing. The TRILL OAM application layer further validates the received OAM frame by examining the presence ofOAM-EthertypeOAM Ethertype at the end of theflow entropy.Flow Entropy. Frames that do not containOAM-EthertypeOAM Ethertype at the end of theflow entropyFlow Entropy MUST be discarded.ValidateThe TRILL OAM application layer then validates theMD-LEVELMD-Level and pass the packet to theOpcode de- multiplexer.OpCode demultiplexer. TheOpcode de-multiplexerOpCode demultiplexer delivers CCM packets to the CCM process. The CCMProcessprocess performs the processing specified in [8021Q].AdditionallyAdditionally, the CCM process updates the CCM ManagementObjectobject with the sequence number of the received CCM packet. Note: The last received CCM sequence number and CCM timeout are tracked per each remote MEP. If the CCM timeout is true for the sending remote MEP, then clear the CCM timeout in the CCM Management object and generate the SNMP notification as specified above. 13. Fragmented Reply TRILL OAM allowsFragmentedfragmented reply messages. In case ofFragmented Replies,fragmented replies, allpartparts of the reply MUST follow the procedure defined in this section. The samesessionSession Identification Number MUST be included in all related fragments of the same message. The TRILL OAM Application Identifier TLV MUST be included, withfragment-IDthe Fragment-ID field monotonically increasing with each fragment transmitted with the appropriate FinalFlagflag field. The FinalFlag, MUST,flag MUST only be equal to one on the final fragment of the reply. On the receiver, the process MUST order the fragments based on thefragment id.Fragment-ID. Any fragments received after the final fragment MUST be discarded. Messages with incomplete fragments(i.e.(i.e., messages with one or missing fragments after the receipt of the fragment with the final flag set) MUST be discarded as well. If the number of fragmentsexceedexceeds the maximum supported fragments (255), thenreturn codethe Return Code of the reply message MUST be setaccordingtothe message1 (Reply message), andreturn sub codethe Return Sub-code MUST be set to 1indicating fragment(Fragment limitexceed.exceeded). 14. Security Considerations Forged OAM packets could cause false error or failureindications orindications, mask actual errors orfailuresfailures, or be used for denial of service. Source addresses for messages can be forged and theOut of Bandout-of-band reply facility(Section(see Section 8.4.4) provides for explicitly supplying the address for replies. For protection against forged OAM packets, the Authentication TLV (see Section 8.4.13) can be used in an OAM message in TRILL. This TLV is virtually identical to the IS-IS Authentication TLV specified in [IS-IS] and depends on IS-IS keying material and the current state of IS-IS keyingand the use of the virtually identical IS-IS Authentication TLV is analyzedas discussed in[KARPISIS].[KARPISIS] and [RFC5310]. In particular, there is currently no standardizedIS- ISIS-IS automated key management. Of course, authentication is ineffective unless verified and ineffective against senders who have the keying material needed to produce OAM messages that will pass authentication checks. Implementations MUST implement rate-limiting functionality to protect against exploitation of OAM messages as a means ofdenial of servicedenial-of-service attacks. Aggressiverate limitingrate-limiting may trigger false positive errors against CCM andLBM basedLBM-based session monitoring. Even with authentication, replay of authenticated messages may be possible. There are four types of messages: Continuity Check (CCM), Loopback, Path Trace, andMulti-DestinationMulti-destination Tree Verification (MTVM). In the case of CCM messages, sequence numbers are required (see Section 12.1) that can protect against replay. In the case of Loopback Messages (see Section 9.1), a Loopback Transaction Identifier is included that, as required by [8021Q], is incremented with each transmission and can detect replays.Path Trace MessagesPTMs (see Section 10) andMTVMMTVMs (seesectionSection 11.1) are specified to have the sameformat, although with a different OpCodes,format astheLoopbackMessage andMessages (although with different OpCodes), so they also have an identifierincrementincremented with each transmission that can detect replays.ThusThus, all TRILL OAM messages have a field that can be used for replay protection. For generalTRILL relatedTRILL-related security considerations, please refer to [RFC6325]. [8021Q] requires that the MEP filters orpasspasses through OAM messages based on the MD-Level. The MD-Level is embedded deep in the OAM message. Hence, conventional methods of frame filtering may not be able to filter frames based on the MD-Level. As a result, OAM messages that must be dropped due toMD levelMD-Level mismatch may leak into a TRILL domain with a different MD-Level. This leaking may not cause any functionality loss. The receiving MEP/MIP is required to validate the MD-level prior to acting on the message. Any frames received with an incorrect MD-Level need to be dropped. Generally, a single operator manages each TRILLcampus, hencecampus; hence, there is no risk of security exposure. However, in the event ofmultimulti- operator deployments, operators should be aware of possible exposure ofdevice specific informationdevice-specific information, and appropriate measures must be taken. It is also important to note that the MPLS OAM[RFC4379]framework [RFC4379] does not include the concept of domains and OAM filtering based on operators. It is our opinion that the lack of OAM frame filtering based on domains does not introduce significant functional deficiency or security risk. It is possible to mandate requiring different credentials to use different OAM functions or capabilities within a specific OAM function. Implementations may consider grouping users to different security clearance levels and restricting functions and capabilities to different clearance levels. However,Exactexact implementation details of such a framework are outside the scope of this document. 15. IANA Considerations IANAis requested to assignhas made thefollowing:assignments described below. 15.1. OAMCapabilitiyCapability FlagsAssign twoTwo TRILL-VER sub-TLV Capability Flags (see Section 3.3) have been assigned as follows: Bit Description Reference --- ----------- ---------TBD[2]2 OAM capable[this document] TBD[3] Backwards compatibleRFC 7455 3 Backwards-compatible OAM[this document]RFC 7455 15.2. CFM Code PointsIANA is requested to assign four Op-CodesFour OpCodes have been assigned from theCFM"CFM OAM IETFOp-Codes sub-registryOpCodes" sub- registry asfollows [suggested values in square brackets]:follows: Value Assignment Reference===== ========== ========= TBD1[64]----- ---------- --------- 64 Path Trace Reply[this document] TBD2[65]RFC 7455 65 Path Trace Message[this document] TBD3[66] MulticastRFC 7455 66 Multi-destination Tree Verification Reply[this document] TBD4[67] MulticastRFC 7455 67 Multi-destination Tree Verification Message[this document] IANA is requested to assign elevenRFC 7455 Eleven TLV Types have been assigned from theCFM"CFM OAM IETF TLVTypesTypes" sub-registry asfollows [suggested values in square brackets]:follows: Value Assignment Reference===== ========== ========= TBDa[64]----- ---------- --------- 64 TRILL OAM Application Identifier TLV[this document] TBDb[65] Out of BandRFC 7455 65 Out-of-Band Reply Address TLV[this document] TBDc[66]RFC 7455 66 Diagnostic Label TLV[this document] TBDd[67]RFC 7455 67 Original Data Payload TLV[this document] TBDe[68]RFC 7455 68 RBridge Scope TLV[this document] TBDf[69]RFC 7455 69 Previous RBridgenicknameNickname TLV[this document] TBDg[70] Next HopRFC 7455 70 Next-Hop RBridge List TLV[this document] TBDh[71]RFC 7455 71 Multicast Receiver PortcountCount TLV[this document] TBDi[72]RFC 7455 72 Flow Identifier TLV[this document] TBDj[73]RFC 7455 73 Reflector Entropy TLV[this document] TBDk[74]RFC 7455 74 Authentication TLV[this document]RFC 7455 15.3. MAC Addresses IANAis requested tohas assigned a unicast and a multicast MAC address under the IANAOUI,Organizationally Unique Identifier (OUI) for identification of OAM packets as discussed for thebackward compatibilitybackwards-compatibility method (AppendixA, SectionA.2) and based on the request template in Appendix C. The assigned addresses areTBDmac1 [00-00-5E-90-01-00]00-00-5E-90-01-00 (unicast) andTBDmac2 [01-5E-90-01-00]01-00-5E-90-01-00 (multicast). 15.4. ReturncodesCodes andsub codesSub-codes IANAis requested to create TRILLhas created the "TRILL OAM ReturnCodeCodes" registry within theTRILL Parameter Registry and, for each return code"Transparent Interconnection of Lots of Links (TRILL) Parameters" registry and a separatesub code Sub-Registry as below:sub-code sub-registry for each Return Code as shown below: Registry: TRILL OAM ReturnCodes.Codes Registration Procedure: StandardsAction.Action Return Code Assignment References=========== ========== ==========----------- ---------- ---------- 0 Request message[this document]RFC 7455 1 Reply message[this document]RFC 7455 2-255 Unassigned[this document]RFC 7455 Sub-Registry:Sub CodesSub-codes for TRILL OAM Return Code0.0 Registration Procedure: StandardsAction. Sub CodeAction Sub-code Assignment References=========== ========== ==========-------- ---------- ---------- 0 Valid request[this document]RFC 7455 1-255 Unassigned[this document]RFC 7455 Sub-Registry:Sub CodesSub-codes for TRILL OAM Return Code1.1 Registration Procedure: StandardsAction. Sub CodeAction Sub-code Assignment References=========== ========== ==========-------- ---------- ---------- 0 Valid response[this document]RFC 7455 1 Fragment limit exceeded[this document]RFC 7455 2 Intermediate RBridge[this document]RFC 7455 3-255 Unassigned[this document]RFC 7455 15.5. TRILLRBridgeNickname Address Family IANA has allocated 16396 as the Address Family Number for TRILLRBridge nicknames.nickname. 16. References 16.1. Normative References [8021Q] IEEE, "IEEE Standard for Local and metropolitan area networks -- Bridges and Bridged Networks", IEEE Std 802.1Q-2014, December 2014. [IS-IS] ISO/IEC, "Information technology -- Telecommunications and information exchange between systems -- Intermediate System to Intermediate System intra-domain routeing information exchange protocol for use in conjunction with the protocol for providing the connectionless-mode network service (ISO 8473)", ISO/IEC 10589:2002, Second Edition, 2002. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March1997.1997, <http://www.rfc-editor.org/info/rfc2119>. [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 5226, May2008.2008, <http://www.rfc-editor.org/info/rfc5226>. [RFC5310] Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R., and M. Fanto, "IS-ISCryptographicGeneric Cryptographic Authentication", RFC 5310, February2009.2009, <http://www.rfc-editor.org/info/rfc5310>. [RFC6325] Perlman, R.,et.al.,Eastlake 3rd, D., Dutt, D., Gai, S., and A. Ghanwani, "Routing Bridges (RBridges): Base Protocol Specification", RFC 6325, July2011.2011, <http://www.rfc-editor.org/info/rfc6325>. [RFC7172] Eastlake 3rd, D., Zhang, M., Agarwal, P., Perlman, R., and D. Dutt, "Transparent Interconnection of Lots of Links (TRILL): Fine-Grained Labeling", RFC 7172, May2014. [8021Q] IEEE, "Media Access Control (MAC) Bridges and Virtual Bridged Local Area Networks", IEEE Std 802.1Q-2011, August, 2011. [IS-IS] ISO/IEC 10589:2002, Second Edition, "Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol for use in Conjunction with the Protocol for Providing the Connectionless-mode Network Service (ISO 8473)", 2002.2014, <http://www.rfc-editor.org/info/rfc7172>. 16.2. Informative References [KARPISIS] Chunduri, U., Tian, A., and W. Lu, "KARP IS-IS security analysis", Work in Progress, draft-ietf-karp-isis- analysis-03, September 2014. [RFC4379]Kompella, K. et.al, "Detecting Multi-Protocol Label Switched (MPLS) Data Plane Failures",Eronen, P., Ed., and H. Tschofenig, Ed., "Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", RFC4379, February 2006.4279, December 2005, <http://www.rfc-editor.org/info/rfc4279>. [RFC6291] Andersson, L.,et.al.,van Helvoort, H., Bonica, R., Romascanu, D., and S. Mansfield, "Guidelines for theuseUse of the "OAM" Acronym in theIETF"IETF", BCP 161, RFC 6291, June2011.2011, <http://www.rfc-editor.org/info/rfc6291>. [RFC6361] Carlson, J. andEastlake,D. Eastlake 3rd, "PPP Transparent Interconnection of Lots of Links (TRILL) Protocol Control Protocol", RFC 6361, August201.2011, <http://www.rfc-editor.org/info/rfc6361>. [RFC6905] Senevirathne,T. et.al,T., Bond, D., Aldrin, S., Li, Y., and R. Watve, "Requirements for Operations, Administration, and Maintenance (OAM) in Transparent Interconnection of Lots of Links (TRILL)", RFC 6905, March2013.2013, <http://www.rfc-editor.org/info/rfc6905>. [RFC7174] Salam, S., Senevirathne, T., Aldrin, S., and D. Eastlake 3rd, "Transparent Interconnection of Lots of Links (TRILL) Operations, Administration, and Maintenance (OAM) Framework", RFC 7174, May 2014, <http://www.rfc-editor.org/info/rfc7174>. [RFC7176]Eastlake,Eastlake 3rd, D., Senevirathne, T., Ghanwani, A., Dutt, D., and A. Banerjee, "Transparent Interconnection of Lots of Links (TRILL) Use of IS-IS", RFC 7176, May 2014, <http://www.rfc-editor.org/info/rfc7176>. [RFC7178] Eastlake 3rd, D., Manral, V., Li, Y., Aldrin, S., and D. Ward, "Transparent Interconnection of Lots of Links (TRILL): RBridge Channel Support", RFC 7178, May 2014, <http://www.rfc-editor.org/info/rfc7178>. [RFC7179] Eastlake 3rd, D., Ghanwani, A., Manral, V., Li, Y., and C. Bestler, "Transparent Interconnection of Lots of Links (TRILL): Header Extension", RFC 7179, May 2014, <http://www.rfc-editor.org/info/rfc7179>. [RFC7180] Eastlake 3rd, D.,Senevirathne, T.,Zhang, M., Ghanwani, A.,Dutt, D.,Manral, V., and A. Banerjee, "Transparent Interconnection of Lots of Links(TRILL) Use of IS-IS", RFC 7176 May 2014. [RFC7180] Eastlake, Donald, et.al. "TRILL:(TRILL): Clarifications, Corrections, andUpdates,Updates", RFC71807180, May2014. [RFC7174]2014, <http://www.rfc-editor.org/info/rfc7180>. [RFC7456] Mizrahi, T., Senevirathne, T., Salam, S., Kumar, D., and D. Eastlake 3rd, "Loss and Delay Measurement in Transparent Interconnection of Lots of Links (TRILL)", RFC 7456, February 2015, <http://www.rfc- editor.org/info/rfc7456>. [TRILLOAMMIB] Kumar, D., Salam, S.,et.al.,and T. Senevirathne, "TRILL OAMFramework", RFC 7174 , May 2014. [RFC7179] Eastlake, Donald, et.al. "TRILL: Header Extension", RFC 7179, May 2014.MIB", Work in Progress, draft-deepak-trill-oam-mib-01, October 2013. [Y1731]ITU-T Recommendation Y.1731,ITU-T, "OAM functions and mechanisms for Ethernet based networks", ITU-T Recommendation G.8013/Y.1731,JulyNovember 2013.[RFC7178] D. Eastlake, et.al. , "TRILL: RBridge Channel Support", RFC 7178, May 2014. [TRILLOAMMIB] Deepak Kumar et.al, "TRILL OAM MIB", draft-deepak- trill-oam-mib, May 2013, work in progress. [KARPISIS] U. Chunduri, et.a., "KARP IS-IS security analysis", draft-karp-isis-analysis, September 2014, work in progress.Appendix A. Backwards CompatibilityMethodologyThe methodology presentedabovein this document is in-line with the[8021Q]framework defined in [8021Q] for providing fault management coverage. However, in practice, some TRILL platforms may not have the capabilities to support some of the required techniques. In thissection,appendix, we present a method that allows RBridges, which do not have the required hardware capabilities, to participate in the TRILL OAM solution. There are two broad areas to beconsidered; 1.considered: 1) the Maintenance Point (MEP/MIP) Model2. Data planeand 2) data-plane encoding and frameidentification A.1identification. A.1. Maintenance Point (MEP/MIP) Model For backwards compatibility, MEPs and MIPs are located in the CPU. This will be referred to as the "central brain" model as opposed to "port brain" model. In the "central brain" model, an RBridge using eitherACLsAccess Control Lists (ACLs) or some othermethod,method forwards qualifying OAM messages to the CPU. The CPU then performs the required processing and multiplexing to the correct MP (Maintenance Point). Additionally, RBridges MUST have the capability to prevent the leaking of OAM packets, as specified in [RFC6905].A.2 Data plane encodingA.2. Data-Plane Encoding andframe identificationFrame Identification Thebackwards compatibilitybackwards-compatibility method presented in this section defines methods to identify OAM frames when implementations do not have capabilities to utilize the TRILL OAM Alert flag presented earlier in this document to identify OAMframes,frames in the hardware. It is assumed that ECMP path selection of non-IP flowsutilizeutilizes MAC DA, MACSASA, andVLAN,VLAN; IPFlowsflows utilize IP DA, IPSA andSA, TCP/UDP portnumbersnumbers, and other Layer 3 and Layer 4 information. The well-known fields to identify OAM flows are chosen such that they mimic the ECMP selection of the actual data along the path. However, it is important to notethat,that there may be implementations that would utilize these well-known fields for ECMP selections. Hence, implementations that support OAM SHOULD move to utilizing the TRILL AlertFlag,flag, as soon aspossiblepossible, and methods presented here SHOULD be used only as an interim solution. Identification methods are divided in to4four broader groups: 1. Identification of Unicast non-IP OAM Flows, 2. Identification of Multicast non-IP OAM Flows, 3. Identification of Unicast IP OAMFlowsFlows, and 4. Identification of Multicast IP OAMFlowsFlows. As presented inthe table below,Figure 24, based on the flow type (as defined above), implementations are required to use a well-known value in either the Inner.MacSA field or OAM Ethertype field to identify OAM flows.ReceivingA receiving RBridge identifies OAM flows based on the presence of the well-known values in the specifiedfields, and additionally,fields. Additionally, for unicast flows, the egress RBridge nickname of the packet MUST match that of the localRBridgeRBridge, or for multicast flows, the TRILLheader mutlicastHeader multicast ("M") flag MUST be set. Unicast OAM flows that qualify for local processing MUST be redirected to the OAM process and MUST NOT be forwarded(that to(to prevent leaking of the packet out of the TRILL campus). A copy ofMulticastmulticast OAM flows that qualify for local processing MUST be sent to the OAMprocessprocess, andpacketthe packets MUST be forwarded along the normal path. Additionally, methods MUST be in place to prevent multicast packets from leaking out of the TRILL campus.The following tableFigure 24 summarizes the identification of different OAM frames from data frames.+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Flow Entropy|Inner|Inner.MacSA |OAMEther|EgressEthertype |Egress | | | ||MacSA |Type|nickname |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |unicast+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Unicast no IP | N/A |Match |Match | | | | | | |Multicast no IP| N/A |Match |N/A | | | | | | |Unicast IP | Match |N/A |Match | | | | | | |Multicast IP | Match |N/A |N/A | | | | | |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure2224: Identification of TRILL OAM Frames The unicast and multicast Inner.MacSAs used for the unicast and multicast IP cases, respectively, areTBDmac1 [00-00-5E-90-01-00]00-00-5E-90-01-00 andTBDmac2 [01-00-5E-90-01-01]01-00-5E-90-01-00. These have been assignedbyper the request in Appendix C. It is important to note that all RBridges MUST generate OAM flows with the "A" flag set and CFMEtherTypeEthertype "0x8902" at theflow entropyFlow Entropy off-set. However, well-known values MUST be utilized as part of the flow-entropy when generating OAM messages destined for older RBridges that are compliant to thebackwards compatibilitybackwards-compatibility method defined in this appendix. Appendix B. Base Mode for TRILL OAM CFM, as defined in [8021Q], requires configuration of several parameters before the protocol can be used. These parameters include MAID, Maintenance Domain Level(MD-LEVEL)(MD-Level), andMEPIDs.MEP-IDs. The Base Mode for TRILL OAM defined here facilitates ease of use and providesout of the boxout-of-the-box plug-and-play capabilities, supporting theOperationaloperational andManageabilitymanageability considerations described in Section 6 of [RFC7174]. All RBridges that support TRILL OAM MUST support the Base Mode operation. AllRbridgesRBridges MUST create a default MA with MAID as specified herein. MAID [8021Q] has a flexible format and includes two parts: Maintenance Domain Name and Short MAname.Name. In theBasedBase Modeofoperation, the value of the Maintenance Domain Name must be the character string "TrillBaseMode" (excluding thequotes ").quotes). In the Base Modeoperationoperation, the Short MA Name format is set to a 2-octet integer format (value 3 in Short MA Format field) and Short MAnameName set to 65532 (0xFFFC). TheDefaultdefault MA belongs toMD-LEVELMD-Level 3. In the Base Mode of operation, each RBridge creates a single UP MEP associated with a virtual OAM port with no physical layer (NULL PHY). TheMEPIDMEP-ID associated with this MEP is the 2-octet RBridgeNickname.nickname. By default, all RBridges operating intheBase Mode for TRILL OAM are able to initiate LBM,PTPTM, and other OAM tools with no configuration. Implementations MAY provide default flow-entropy to be included in OAM messages. Content of the default flow-entropy is outside the scope of this document. Figure23, below25 depicts encoding of MAID within CCM messages. +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Field Name |Size | | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Maintenance | 1 | |Domain Format | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Maintenance | 2 | |Domain Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Maintenance | variable| |Domain Name | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Short MA | 1 | |Name Format | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Short MA | 2 | |Name Length | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Short MA | variable| |Name | | +-+-+-+-+-+-+-+-+-+-+-+-+-+ |Padding | Variable| +-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure2325: MAIDstructureStructure asdefinedDefined in [8021Q] Maintenance Domain NameFormat isFormat: set toValue:value 4 Maintenance Domain NameLength isLength: set tovalue:value 13 Maintenance DomainName isName: setto:to TrillBaseMode Short MA NameFormat isFormat: set tovalue:value 3 Short MA NameLength isLength: set tovalue:value 2 Short MAName isName: setto:to FFFC Padding: set of zero up to 48 octets of total length of theMAID.MAID Please refer to [8021Q] for details. Appendix C. MAC Addresses Request Applicant Name: IETF TRILL Working Group Applicant Email: tsenevir@cisco.com Applicant Telephone: +1-408-853-2291 Use Name: TRILL OAM Document:draft-tissa-trill-oam-fmRFC 7455 Specify whether this is an application for EUI-48 or EUI-64 identifiers: EUI-48 Size of Block requested: 1 Specify multicast, unicast, or both: Both17.Acknowledgments Workinon this document was largely inspired by the directions provided by Stewart Bryant in finding a common OAM solution between SDOs. Acknowledgments are due for many who volunteered to review this document, notably, Jari Arkko, Adrian Farrel, Pete Resnick, Stephen Farrell, Dan Romascanu, GayleNobelNobel, and Tal Mizrahi. Specialappreciations areappreciation is dueforto Dinesh Dutt for his support and encouragement, especially during the initial discussion phase of TRILL OAM.This document was prepared using 2-Word-v2.0.template.dot.Authors' Addresses Tissa SenevirathneCISCOCisco Systems 375 East TasmanDrive.Drive San Jose, CA 95134USA.United States Phone: +1 408-853-2291Email:EMail: tsenevir@cisco.com Norman FinnCISCOCisco Systems 510 McCarthy Blvd Milpitas, CA 95035USA Email:United States EMail: nfinn@cisco.com Samer SalamCISCOCisco Systems 595 BurrardSt.St., Suite 2123 Vancouver, BC V7X1J1,1J1 CanadaEmail:EMail: ssalam@cisco.com Deepak KumarCISCOCisco Systems 510 McCarthyBlvd,Blvd Milpitas, CA95035, USA Phone :95035 United States Phone: +1 408-853-9760Email:EMail: dekumar@cisco.com Donald Eastlake 3rd Huawei Technologies 155 Beaver Street Milford, MA 01757 United States Phone: +1-508-333-2270Email:EMail: d3e3e3@gmail.com Sam Aldrin Huawei Technologies 2330 Central Express Way Santa Clara, CA 95951USA Email:United States EMail: aldrin.ietf@gmail.com Yizhou Li Huawei Technologies 101 SoftwareAvenue,Avenue Nanjing 210012 China Phone: +86-25-56625375Email:EMail: liyizhou@huawei.com