RFC 4591

Frame Relay over Layer 2 Tunneling Protocol Version 3 (L2TPv3)

πŸ“… published August 2006, from ietf

Frame Relay over Layer 2 Tunneling Protocol Version 3 (L2TPv3) πŸ’–

Okay bestie, this is RFC 4591 πŸ¦‹ It's a Standards Track doc from July 2006, from the Network Working Group. The authors are M. Townsley, G. Wilkie, S. Booth, S. Bryant, and J. Lau, all at Cisco Systems. The title block doesn't list anything it obsoletes or updates, so it's a standalone glow-up ✨ The copyright belongs to The Internet Society (2006).

Status of This Memo πŸ“œ

This doc specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements. For the standardization state and status of this protocol, check the current edition of "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited 🌸

Copyright (C) The Internet Society (2006).

Abstract 🌈

So the Layer 2 Tunneling Protocol, Version 3 (L2TPv3) is the protocol that lets you tunnel a bunch of different data link protocols over IP networks, and it's giving versatile πŸ’… This doc explains exactly how to tunnel Frame Relay over L2TPv3. That covers frame encapsulation, creating and deleting virtual circuits, and telling people when a circuit's status changes 🫢

Table of Contents πŸ—‚οΈ

   1. Introduction ....................................................2
      1.1. Abbreviations ..............................................3
      1.2. Specification of Requirements ..............................3
   2. Control Connection Establishment ................................3
   3. PVC Status Notification and Session Establishment ...............3
      3.1. L2TPv3 Session Establishment ...............................4
      3.2. L2TPv3 Session Teardown ....................................5
      3.3. L2TPv3 Session Maintenance .................................5
      3.4. Use of the Circuit Status AVP for Frame Relay ..............6
      3.5. Frame Relay Header Length AVP ..............................7
   4. Encapsulation ...................................................7
      4.1. Data Packet Encapsulation ..................................7
      4.2. Data Packet Sequencing .....................................9
      4.3. MTU Considerations .........................................9
   5. Applicability Statement ........................................10
   6. Security Considerations ........................................10
   7. IANA Considerations ............................................11
      7.1. Pseudowire Type ...........................................11
      7.2. Result Code AVP Values ....................................11
      7.3. Control Message Attribute Value Pairs (AVPs) ..............11
   8. Acknowledgements ...............................................11
   9. References .....................................................12
      9.1. Normative References ......................................12
      9.2. Informative References ....................................12

1. Introduction 🧚

Okay so [RFC3931] is the base protocol for Layer 2 Tunneling over IP networks. This doc fills in the specifics you need for tunneling Frame Relay over L2TPv3. The emulated circuits are called Frame Relay Pseudowires (FRPWs) πŸ¦‹

The protocol bits in this doc for L2TPv3 FRPWs in "virtual circuit-to-virtual circuit" mode cover what's needed for frame encapsulation, PVC creation and deletion, and status change notification. Frame Relay traffic can also get transported "port-to-port" or "interface-to-interface" using High-Level Data Link Control (HDLC) Pseudowires, as defined in [RFC4349]. Switched Virtual Circuits (SVCs) and Switched/Soft Permanent Virtual Circuits (SPVCs) are not in scope here πŸ™ˆ

The reader is expected to be very familiar with the terminology and protocol constructs defined in [RFC3931]. No pressure πŸ’€

1.1. Abbreviations πŸ“

   FR    Frame Relay
   FRPW  Frame Relay Pseudowire
   LCCE  L2TP Control Connection Endpoint (See [RFC3931])
   PVC   Permanent virtual circuit
   PW    Pseudowire
   VC    Virtual circuit

1.2. Specification of Requirements πŸ’œ

Several words in this doc are used to signify the requirements of the specification, and they're often capitalized. 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 in [RFC2119]. Yes, these are the real rules, so read them carefully ✨

2. Control Connection Establishment πŸ”₯

To tunnel a Frame Relay circuit over IP using L2TPv3, an L2TPv3 Control Connection MUST first be established as described in [RFC3931]. The L2TPv3 SCCRQ Control Message and the corresponding SCCRP Control Message MUST include the Frame Relay Data Link Connection Identifier (DLCI) PW Type of 0x0001 (see IANA Considerations), in the Pseudowire Capabilities List, as defined in Section 5.4.3 of [RFC3931]. This is how the control connection says it's able to establish L2TP sessions to support Frame Relay Pseudowires (FRPWs) πŸ‘‘

An LCCE MUST be able to identify itself uniquely in the SCCRQ and SCCRP messages via a globally unique value. By default, this gets advertised through the structured Router ID Attribute Value Pairs (AVP) [RFC3931]. The unstructured Hostname AVP [RFC3931] MAY be used to identify LCCEs as well, so you've got options πŸ’…

3. PVC Status Notification and Session Establishment 🌸

This section explains how the status of a PVC gets reported between two LCCEs. It covers what should happen when a PVC is created, deleted, or changes state between ACTIVE and INACTIVE. When emulating a Frame Relay service, if the procedures for PVC status management defined in [Q933] Annex A are being used between an LCCE and the attached Remote System, an LCCE MUST participate in them (see Section 3.3) πŸ™Œ

3.1. L2TPv3 Session Establishment πŸ¦‹

PVC creation (provisioning) results in establishment of an L2TP session through the standard three-way handshake described in Section 3.4.1 of [RFC3931]. An LCCE MAY initiate the session immediately upon PVC creation, or it can wait until the PVC state transitions to ACTIVE before trying to establish a session for the PVC. Waiting until the PVC transitions to ACTIVE may be preferred, because it delays allocation of L2TP resources until it's absolutely necessary 🧠

The Pseudowire Type AVP, defined in Section 5.4.4 of [RFC3931] with Attribute Type 68, MUST be present in the Incoming-Call-Request (ICRQ) messages, and it MUST include the Frame Relay DLCI PW Type of 0x0001 for FRPWs πŸŽ€

The Circuit Status AVP (see Section 3.4) MUST be present in the ICRQ and Incoming-Call-Reply (ICRP) messages, and it MAY be present in the Set Link Info (SLI) message for FRPWs ✨

The Frame Relay Header Length AVP (see Section 3.5) MAY be present in the ICRQ and ICRP messages 🌈

Here's an example of the L2TP messages exchanged for an FRPW that gets initiated after a new PVC is provisioned and becomes ACTIVE. Picture it like a group chat between two LCCEs πŸ’¬

         LCCE (LAC) A                     LCCE (LAC) B
      ------------------               ------------------
      FR PVC Provisioned
                                       FR PVC Provisioned
      FR PVC ACTIVE

                   ICRQ (status = 0x03) ---->

                                       FR PVC ACTIVE

                   <---- ICRP (status = 0x03)

      L2TP session established,
      OK to send data into tunnel

                       ICCN ----->
                                    L2TP session established,
                                    OK to send data into tunnel

In the example above, an ICRQ gets sent after the PVC is created and becomes ACTIVE. The Circuit Status AVP shows that this PVC is ACTIVE and New (0x03) 😭 The Remote End ID AVP [RFC3931] MUST be present in the ICRQ so it can identify the PVC (together with the identity of the LCCE itself, as defined in Section 2) and associate the L2TP session with it. The Remote End ID AVP, defined in [RFC3931], is opaque and variable length. One LCCE MUST at a minimum support an unstructured four-octet value that is known to both LCCEs, either by direct configuration or some other means. How this value gets configured, retrieved, discovered, or otherwise determined at each LCCE is outside the scope of this document πŸ”

Just like the ICRQ, the ICRP is only sent after the FR PVC transitions to ACTIVE as well. If LCCE B hadn't been provisioned for the PVC identified in the ICRQ, a Call-Disconnect-Notify (CDN) would've been returned right away, saying the circuit wasn't provisioned or available at this LCCE. LCCE A SHOULD then exhibit a periodic retry mechanism. If it does, the period and maximum number of retries MUST be configurable πŸ”

An Implementation MAY send an ICRQ or ICRP before a PVC is ACTIVE, as long as the Circuit Status AVP reflects that the PVC is INACTIVE and an SLI is sent when the PVC becomes ACTIVE (see Section 3.3) 🫢

The Incoming-Call-Connected (ICCN) is the final stage of session establishment. It confirms that the ICRP was received with acceptable parameters, so bidirectional traffic is good to go πŸš€

3.2. L2TPv3 Session Teardown πŸ’€

If a PVC is deleted (unprovisioned) at either LCCE, the associated L2TP session MUST be torn down using the CDN message defined in Section 3.4.3 of [RFC3931]. Serious business, no cap 🧨

General Result Codes for L2TP session establishment are defined in [RFC3931]. The extra Frame Relay result codes are defined as follows:

   17: FR PVC was deleted permanently (no longer provisioned)
   18: FR PVC has been INACTIVE for an extended period of time
   19: Mismatched FR Header Length
Heads up: code 17 means the PVC is gone for good, code 18 means it's been sitting INACTIVE for a long time, and code 19 means the FR header lengths don't match πŸ‘€

3.3. L2TPv3 Session Maintenance πŸ¦‹

okay so FRPW over L2TP uses the SLI control message from [RFC3931] to tell the other LCCE about Frame Relay link status πŸ’… This covers ACTIVE or INACTIVE notifications for the VC, plus any other parameters the tunnel endpoints need to share so the PW emulation works properly ✨ The SLI is one single message sent over the L2TP control channel to announce the state change. Since it gets delivered reliably, the PW subsystem doesn't need to send any extra response or do anything else to make sure the tunnel peer got it 🫢

The SLI message MUST be sent any time there's a circuit status change that could be reported by any of the values in the Circuit Status AVP πŸ”₯ The only exceptions are the initial ICRQ, ICRP, and CDN messages, since those set up and tear down the L2TP session itself when the PVC gets created or deleted πŸŽ€ An SLI can be sent from either LCCE at any time after the first ICRQ goes out. It can even show up before the ICRP comes back, which means the peer has to do a reverse Session ID lookup πŸ™ˆ

An LCCE taking part in the PVC status management procedures from [Q933], Annex A, MUST send an SLI message with the Circuit Status AVP (see Section 3.4) when it notices a change in status for a particular local FR PVC. That means it detects a service-affecting condition, or the clearing of one πŸ’– When an LCCE gets an SLI saying a particular FRPW changed status, it SHOULD generate matching updates for the FR PVC toward the Remote System, as defined in [Q933], Annex A πŸ‘‘

Every session set up by a given control connection uses the L2TP Hello facility from Section 4.4 of [RFC3931] for session keepalive πŸ’œ That gives all sessions basic dead peer and path detection between LCCEs, which is honestly so useful 🌈


3.4. Use of the Circuit Status AVP for Frame Relay ✨

Frame Relay circuit status gets reported through the Circuit Status AVP from [RFC3931], Attribute Type 71 🧚 Here's what that AVP looks like:

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           Reserved        |N|A|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Value is a 16-bit mask. Only the two least significant bits are defined, and the rest are reserved for future use πŸ“ Reserved bits MUST be set to 0 by the sender and ignored by the receiver πŸ’…

The N (New) bit tells you whether the Circuit Status indication is for a new FR PVC (1) or an existing FR PVC (0) 🌸

The A (Active) bit tells you whether the FR PVC is ACTIVE (1) or INACTIVE (0) πŸ¦‹


3.5. Frame Relay Header Length AVP πŸŽ€

The "Frame Relay Header Length AVP", Attribute type 85, says how many bytes are in the Frame Relay header πŸ’– The two peer LCCEs MUST agree on that length, no exceptions bestie 🫢

This AVP gets swapped during session negotiation (in ICRQ and ICRP) πŸ”₯ If the other LCCE supports a different Frame Relay header length, the associated L2TP session MUST be torn down with a CDN message using result code 19 (see Section 3.2) πŸ’€

If the Frame Relay Header Length AVP isn't signalled at all, it MUST be assumed that the peer uses a 2-byte Frame Relay header 🌈

The Attribute Value field for this AVP looks like this:

   Frame Relay Header Length (ICRQ, ICRP)

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Frame Relay Header Length   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The Frame Relay Header Length Type is a 2-octet unsigned integer, and this document defines these values:

   2: Two-octet Frame Relay Header 4: Four-octet Frame Relay Header

This AVP MAY be hidden (the H bit MAY be 0 or 1). The M bit for this AVP MAY be set to 0 but MAY vary (see Section 5.2 of [RFC3931]). The length of this AVP before hiding is 8 ✨


4. Encapsulation 🧚

4.1. Data Packet Encapsulation πŸ’œ

The FR PDU gets transported in its entirety, minus the opening and closing High Level Data Link Control (HDLC) flags and the frame check sequence (FCS) 🌸 Bit stuffing gets undone too. The L2TPv3 Session Header is the one defined in [RFC3931]. If sequencing or other features need an L2-Specific Sublayer, the Default format from Section 4.6 of [RFC3931] MUST be used πŸ”₯

The FR header is defined in [Q922], but the notation is different from what IETF specs use, so heads up πŸ™ˆ For reference, the FR header (called the Address Field in [Q922]) looks like this in IETF notation:

    0                   1
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | hi dlci   |C|0|lo dlci|F|B|D|1|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Two-octet FR Header

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | hi dlci   |C|0| dlci  |F|B|D|0|   dlci      |0| dlci_lo   |0|1|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Four-octet FR Header

  • C/R (bit 6): the FR frame C/R (command/response) bit [Q922].
  • F - FECN (bit 12): the FR FECN (Forward Explicit Congestion Notification) bit [Q922].
  • B - BECN (bit 13): the FR BECN (Backward Explicit Congestion Notification) bit [Q922].
  • D - DE (bit 14): the FR DE bit, which indicates the discard eligibility [Q922].

Usage of the C/R, FECN, BECN, and DE bits is as specified in [Q922] πŸ’…

The C/R bit gets conveyed transparently. Its value MUST NOT be changed by the LCCE 🫢

The FECN bit MAY be set by the LCCE to tell the receiving end-user that the frames it gets have hit congestion. The end-user can use that for destination-controlled transmit rate adjustment 🌈 The bit must never be cleared by the LCCE. If the LCCE doesn't support FECN, it shall pass the bit unchanged ✨

The BECN bit MAY be set by the LCCE to tell the receiving end-user that the frames it transmits may hit congestion. The end-user can use this to adjust its transmit rate πŸ¦‹ The bit must never be cleared by the LCCE. If the LCCE doesn't support BECN, it shall pass the bit unchanged πŸŽ€

The DE bit MAY be set by a policing function on the LCCE to say this frame SHOULD be discarded in preference to other frames in a congestion situation πŸ’– The bit must never be cleared by the LCCE. If the LCCE doesn't support DE, it shall pass the bit unchanged πŸ‘‘

The encapsulation of Frame Relay frames with the two-octet FR Header is REQUIRED πŸ’œ The encapsulation with the four-octet FR Header is OPTIONAL 🌸 Encapsulating frames with the three-octet FR Header is outside the scope of this document πŸ™ˆ

4.2. Data Packet Sequencing πŸ”₯

Data Packet Sequencing MAY be enabled for FRPWs. The sequencing mechanisms in [RFC3931] MUST be used for signalling sequencing support. FRPW over L2TP MUST request the presence of the L2TPv3 Default L2-Specific Sublayer when sequencing is enabled, and MAY request its presence at all times 🧚

If the FRPW is known to be carrying data that doesn't need packet order strictly maintained (like IP), then packet sequencing for the FRPW SHOULD NOT be enabled πŸ’…

4.3. MTU Considerations 🌈

With L2TPv3 as the tunneling protocol, the packet from the encapsulation is N bytes longer than the Frame Relay frame without the opening and closing HDLC flags or FCS πŸ¦‹ The value of N depends on these fields:

   L2TP Session Header:
   Flags, Ver, Res       4 octets (L2TPv3 over UDP only)
   Session ID            4 octets
   Cookie Size           0, 4, or 8 octets
   L2-Specific Sublayer  0 or 4 octets (i.e., with sequencing)

So the range for N in octets is:

   N = 4 - 16   L2TPv3 data messages are over IP
   N = 16 - 28  L2TPv3 data messages are over UDP
   (N does not include the IP header)

The MTU and fragmentation implications are discussed in Section 4.1.4 of [RFC3931] πŸŽ€


5. Applicability Statement πŸ’–

The Frame Relay PW emulation described in this document lets a service provider offer a Frame Relay PVC-based service across an IP packet-switched network (PSN) 🫢 A Frame Relay port-based service can be offered using [RFC4349] πŸ‘‘

Here's how FRPW emulation compares to the native service ✨

  • There's a one-to-one mapping between a Frame Relay PVC and an FRPW, which supports bi-directional transport of variable length frames. The Frame Relay frame gets transported in its entirety, including the DLCI and the C/R, FECN, BECN, and DE bits, but excluding the opening and closing flags and the FCS. The egress LCCE re-writes the DLCI and regenerates the FCS 🌸
  • Two- and four-octet address fields are supported. The length is negotiated between LCCEs during session establishment (see Section 3.5) πŸ¦‹
  • The availability or unavailability of the PVC is signalled between LCCEs using the Circuit Status AVP (see Section 3.4). Loss of connectivity between LCCEs can be detected by the L2TPv3 keepalive mechanism (see Section 4.4 in [RFC3931]). These indications can be used to determine the PVC status to be signalled through [Q933] procedures at the Frame Relay interface 🌈
  • The maximum frame size that can be supported is limited by the PSN MTU, unless fragmentation and reassembly is used (see Section 4.1.4 of [RFC3931]) πŸŽ€
  • Sequencing may be enabled on the FRPW to ensure frames are delivered in order (see Section 4.2) πŸ’œ
  • Quality of Service characteristics, such as throughput (CIR), committed burst size (bc), excess burst size (be), and priority, can be provided by leveraging Quality of Service features of the LCCEs and the underlying PSN πŸ”₯

6. Security Considerations πŸ”

Frame Relay over L2TPv3 is subject to the security considerations defined in [RFC3931]. There are no additional considerations specific to carrying Frame Relay that aren't already present for carrying other data link types πŸ’€βœ¨


7. IANA Considerations πŸ‘‘

7.1. Pseudowire Type 🧚

The following value for the Frame Relay DLCI PW Type is allocated by IANA 🌸 It's listed in the Pseudowire Capabilities List from 5.4.3 of [RFC3931], and in the L2TPv3 Pseudowire Types in 10.6 of [RFC3931]. The number space was already created when [RFC3931] was published πŸ’–

   L2TPv3 Pseudowire Types
   -----------------------

   0x0001: Frame Relay DLCI Pseudowire Type

7.2. Result Code AVP Values πŸ¦‹

This number space is managed by IANA as described in Section 2.3 of [RFC3438]. Three new L2TP Result Codes for the CDN message show up in Section 3.2. Here's the summary πŸŽ€

   Result Code AVP (Attribute Type 1) Values
   -----------------------------------------

   17: PVC was deleted permanently (no longer provisioned)
   18: PVC has been INACTIVE for an extended period of time
   19: Mismatched FR Header Length

7.3. Control Message Attribute Value Pairs (AVPs) 🌈

This number space is managed by IANA as described in Section 2.2 of [RFC3438]. One more AVP Attribute, specified in Section 3.5, was allocated for this specification ✨

   Control Message Attribute Value Pairs
   -------------------------------------

   85: Frame Relay Header Length

8. Acknowledgements ✨

okay so the first Frame Relay over L2TP doc, "Frame Relay Service Type for L2TP", dropped in February of 2001 πŸŽ€ and it came from Nishit Vasavada, Jim Boyle, Chris Garner, Serge Maskalik, and Vijay Gill. this one is substantially different now, but the core idea of carrying Frame Relay over L2TP is still the same πŸ¦‹

Thanks to Lloyd Wood for a razor-sharp review. πŸ”₯

Carlos Pignataro helped with review and editing of the document 🫢

During IETF Last Call, Mark Lewis gave thorough review and comments. πŸ’œ literally the best kind of feedback bestie 😭

9. References

9.1. Normative References

[RFC3931] Lau, J., Townsley, M., and I. Goyret, "Layer Two Tunneling
          Protocol - Version 3 (L2TPv3)", RFC 3931, March 2005.

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
          Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC4349] Pignataro, C. and M. Townsley, "High-Level Data Link
          Control (HDLC) Frames over Layer 2 Tunneling Protocol,
          Version 3 (L2TPv3)", RFC 4349, February 2006.

9.2. Informative References

[RFC3438] Townsley, W., "Layer Two Tunneling Protocol (L2TP) Internet
          Assigned Numbers Authority (IANA) Considerations Update",
          BCP 68, RFC 3438, December 2002.

[Q922]    ITU-T Recommendation Q.922, "ISDN Data Link Layer
          Specification for Frame Mode Bearer Services", ITU, Geneva,
          1992.

[Q933]    ITU-T Recommendation Q.933, "Signalling specifications for
          frame mode switched and permanent virtual connection
          control and status monitoring", ITU, Geneva, 2003.

Authors' Addresses ✨

these are the humans who made this happen, so here's where you can find them 🌸

W. Mark Townsley
Cisco Systems
7025 Kit Creek Road
PO Box 14987
Research Triangle Park, NC 27709

EMail: mark@townsley.net


George Wilkie
Cisco Systems
96 Commercial Street
Edinburgh, EH6 6LX
United Kingdom

EMail: gwilkie@cisco.com


Skip Booth
Cisco Systems
7025 Kit Creek Road
PO Box 14987
Research Triangle Park, NC 27709

EMail: ebooth@cisco.com


Stewart Bryant
Cisco Systems
250 Longwater Ave
Green Park
Reading RG2 6GB
United Kingdom

EMail: stbryant@cisco.com


Jed Lau

EMail: jedlau@gmail.com

okay the legal part, but make it cute πŸŽ€ the exact wording is below so nothing gets lost in translation:

Copyright (C) The Internet Society (2006).

This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.

This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property πŸ¦‹

this part is about who owns what πŸ‘‘ the IETF doesn't take a side on whether any IPR claims apply to the tech in here, and it hasn't checked whether any licenses exist. if you want the rules, look at BCP 78 and BCP 79. the exact text is below:

The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights.  Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard.  Please address the information to the IETF at
ietf-ipr@ietf.org.

Acknowledgement 🌈

Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). 🧚✨

πŸ“¦ where this page comes from