RFC 4618
Encapsulation Methods for Transport of PPP/High-Level Data Link Control (HDLC) over MPLS Networks
RFC 4618: Encapsulation Methods for Transport of PPP/High-Level Data Link Control (HDLC) over MPLS Networks π
Okay bestie, let's start with the basics π This is RFC 4618, published in September 2006 as a Standards Track document from the Network Working Group. It's by L. Martini, E. Rosen, G. Heron, and A. Malis. Rosen is with Cisco Systems, Inc., and Malis is with Tellabs. The header doesn't list anything this RFC obsoletes or updates, so it's a fresh standard π«Ά
Status of This Memo β¨
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Go check the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol π Distribution of this memo is unlimited πΈ
Copyright Notice
Copyright (C) The Internet Society (2006). π
Abstract
So a pseudowire (PW) can carry Point to Point Protocol (PPP) or High-Level Data Link Control (HDLC) Protocol Data Units over a Multiprotocol Label Switching (MPLS) network, and it doesn't terminate the PPP/HDLC protocol along the way π¦ That's what lets service providers offer "emulated" HDLC or PPP link services over existing MPLS networks, which is so iconic. This document specifies how PPP/HDLC Packet Data Units (PDUs) get encapsulated inside a pseudowire π§
Table of Contents
1. Introduction ....................................................2
2. Specification of Requirements ...................................2
3. Applicability Statement .........................................5
4. General Encapsulation Method ....................................6
4.1. The Control Word ...........................................6
4.2. MTU Requirements ...........................................8
5. Protocol-Specific Details .......................................9
5.1. HDLC .......................................................9
5.2. Frame Relay Port Mode ......................................9
5.3. PPP .......................................................10
6. Using an MPLS Label as the Demultiplexer Field .................11
6.1. MPLS Shim EXP Bit Values ..................................11
6.2. MPLS Shim S Bit Value .....................................11
7. Congestion Control .............................................12
8. IANA Considerations ............................................12
9. Security Considerations ........................................12
10. Normative References ..........................................13
11. Informative References ........................................13
1. Introduction πΈ
Okay so a PPP/HDLC pseudowire (PW) lets PPP/HDLC Protocol Data Units (PDUs) travel over an MPLS network π The tricky part of carrying a PPP/HDLC PDU across MPLS is what this document focuses on, and it assumes a PW has already been set up somehow outside the scope of this document. Maybe someone configured it manually, or maybe it was set up with a signaling protocol like the one defined in [RFC4447] β¨
The reference models in this RFC are derived from [RFC3985] to support the HDLC/PPP PW emulated services. You're also assumed to already know what's in [RFC3985], so go read it if you haven't, no judgment π
2. Specification of Requirements π
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] π₯
Here's the reference configuration for the PW, and honestly it's giving diagram π¦
|<-------------- Emulated Service ---------------->|
| |
| |<------- Pseudowire ------->| |
| | | |
| | |<-- PSN Tunnel -->| | |
| V V V V |
V AC +----+ +----+ AC V
+-----+ | | PE1|==================| PE2| | +-----+
| |----------|............PW1.............|----------| |
| CE1 | | | | | | | | CE2 |
| |----------|............PW2.............|----------| |
+-----+ ^ | | |==================| | | ^ +-----+
^ | +----+ +----+ | | ^
| | Provider Edge 1 Provider Edge 2 | |
| | | |
Customer | | Customer
Edge 1 | | Edge 2
| |
| |
native HDLC/PPP service native HDLC/PPP service
Figure 1. PWE3 HDLC/PPP interface reference configuration
So this document covers the emulated PW encapsulation for PPP and HDLC, but quality of service stuff isn't discussed here π« For the rest of this doc, PE1 is the ingress router and PE2 is the egress router. A layer 2 PDU shows up at PE1, gets encapsulated there, rides across the network, gets decapsulated at PE2, and then goes out on an attachment circuit at PE2 π
This reference model shows where each end of the PW terminates inside the PE, and it's a whole vibe:
+-----------------------------------+
| PE |
+---+ +-+ +-----+ +------+ +------+ +-+
| | |P| | | |PW ter| | PSN | |P|
| |<==|h|<=| NSP |<=|minati|<=|Tunnel|<=|h|<== From PSN
| | |y| | | |on | | | |y|
| C | +-+ +-----+ +------+ +------+ +-+
| E | | |
| | +-+ +-----+ +------+ +------+ +-+
| | |P| | | |PW ter| | PSN | |P|
| |==>|h|=>| NSP |=>|minati|=>|Tunnel|=>|h|==> To PSN
| | |y| | | |on | | | |y|
+---+ +-+ +-----+ +------+ +------+ +-+
| |
+-----------------------------------+
^ ^ ^
| | |
A B C
Figure 2. PW reference diagram
Okay the PW terminates at a logical port inside the PE, at point B in that diagram π That port runs an HDLC Native Service Processing function that delivers each PPP/HDLC packet received at point A, unaltered, to point A in the corresponding PE at the other end of the PW π
The Native Service Processing (NSP) function covers packet processing for PPP/HDLC packets that get forwarded to the PW termination point. That can include bit stuffing, PW-PW bridging, L2 encapsulation, shaping, and policing π These functions are specific to the native packet technology, and they may not be required for the PW emulation service, so don't panic if you don't need all of them β¨
Everything to the left of B, like the physical layer between the CE and PE and any adaptation (NSP) functions sitting between it and the PW terminations, is outside the scope of PWE3 and isn't defined here π
"PW Termination," which sits between A and B, is the stuff that handles setting up and maintaining the PW, plus encapsulating and decapsulating the PPP/HDLC packets so they can be sent across the MPLS network π¦
3. Applicability Statement π
Real talk: PPP/HDLC transport over PW service isn't meant to perfectly emulate traditional PPP or HDLC service π It can still be used for some applications that need PPP or HDLC transport service though, so it's not useless π
The applicability statements in [RFC4619] also apply to the Frame Relay port mode PW described in this document πΈ
Here are the notable differences between traditional PPP/HDLC service and the protocol in this document:
- Packet ordering can be preserved using the OPTIONAL sequence field in the control word; however, implementations are not required to support this feature.
- The Quality of Service model for traditional PPP/HDLC links can be emulated, however this is outside the scope of this document.
- A Frame Relay Port mode PW, or HDLC PW, does not process any frame relay status messages or alarms as described in [Q922] [Q933].
- The HDLC Flags are processed locally in the PE connected to the attachment circuit.
The HDLC mode is great for port-to-port transport of Frame Relay User Network Interface (UNI) or Network Node Interface (NNI) traffic π§ Since packets pass through the HDLC PW in a largely transparent way, any protocol with HDLC-like framing can use the HDLC PW mode, including PPP, Frame-Relay, and X.25 π The exceptions are cases where direct access to the HDLC interface is needed, or modes that operate on the flags, Frame Check Sequence (FCS), or bit/byte unstuffing that gets done before the HDLC PDU goes over the PW. An example is PPP Asynchronous-Control-Character-Map (ACCM) negotiation π
For PPP, media-specific framing isn't carried over, so these options won't operate correctly if the PPP peers try to negotiate them:
- Frame Check Sequence (FCS) Alternatives
- Address-and-Control-Field-Compression (ACFC)
- Asynchronous-Control-Character-Map (ACCM)
Heads up bestie: PW LSP Interface MTU negotiation, as specified in [RFC4447], is not affected by PPP Maximum Receive Unit (MRU) advertisement. So if a PPP peer sends a PDU longer than what was negotiated for the PW tunnel, the ingress router will discard that PDU π
4. General Encapsulation Method π¦
This section describes the general encapsulation format for PPP and HDLC packets over MPLS pseudowires β¨
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PSN Transport Header (As Required) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Pseudowire Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Control Word |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PPP/HDLC Service Payload |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3. General format for PPP/HDLC encapsulation over PSNs
So the PSN Transport Header depends on whichever tunneling technology you're using π· Its job is to carry the encapsulated PPP/HDLC information through the packet-switched core π
The Pseudowire Header identifies a particular PPP/HDLC service on a tunnel π In the case of MPLS, the Pseudowire Header is the MPLS label at the bottom of the MPLS label stack π§
The Control Word goes in right before the PPP/HDLC service payload, and it may contain a length and sequence number π«Ά
4.1. The Control Word β¨
okay so there are four things that might need to be handled when you carry layer 2 protocols over an MPLS PSN π«Ά
i. Sequentiality, so packets stay in order π¦ ii. Padding for small packets, because some media have a minimum transport unit that's bigger than the packet πΈ iii. Control bits in the layer 2 packet header, which might need to be carried across π iv. An in-band associated channel for operation and maintenance communications π§
The Control Word in this section is based on the Generic PW MPLS Control Word from [RFC4385] π It gives you a way to sequence individual packets on the PW, and it helps avoid equal-cost multiple-path load-balancing (ECMP) [RFC2992] π¦ It also enables Operations and Management (OAM) mechanisms, including [VCCV] β¨
[RFC4385] says, "If a PW is sensitive to packet mis-ordering and is being carried over an MPLS PSN that uses the contents of the MPLS payload to select the ECMP path, it MUST employ a mechanism which prevents packet mis-ordering." π Why this matters: ECMP implementations might look at the first nibble after the MPLS label stack to figure out whether the labeled packet is IP. So if the PPP protocol number of a PPP packet is sent over the PW with no control word and it begins with 0x4 or 0x6, it could get mistaken for an IPv4 or IPv6 packet π Depending on how the MPLS network is configured and laid out, that could mean not all packets for a given PW take the same path. That can mean more out-of-order packets on a PW, or OAM packets going a different route than the real traffic π
The control word's features might not be needed for every PPP/HDLC PW. For example, ECMP might not be around or active on a given MPLS network, and strict sequencing might not be necessary. In that case the control word doesn't add much, so it is OPTIONAL π Early PPP/HDLC PW implementations were deployed without a control word, or without the ability to process one if it was present. For backwards compatibility, future implementations MUST be able to send and receive packets without the control word π«Ά
In all cases, the egress PE MUST be aware of whether the ingress PE will send a control word over a specific PW. You can get there through configuration of the PEs, or through signaling as defined in [RFC4447] π
The control word looks like this:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0 0 0 0|0 0 0 0|FRG| Length | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4. MPLS PWE3 control word π
In the diagram above, the first 4 bits are set to 0 in indicate a CW [RFC4385] π¦
The next 4 bits are space for protocol-specific flags. HDLC/PPP doesn't use them, so they MUST be set to 0 when transmitting and MUST be ignored on receipt π
The next 2 bits are defined in [RFC4623] β¨
The next 6 bits are the length field, and it works like this: if the packet's length (the length of the layer 2 payload plus the length of the control word) is less than 64 bytes, the length field MUST be set to the packet's length. Otherwise, the length field MUST be set to zero. A nonzero length value is used to strip off any padding the MPLS network might have added. If the control word is used and padding was added in transit across the MPLS network, the padding MUST be removed before the packet is forwarded when it reaches the egress PE π§
The next 16 bits are a sequence number that can be used to guarantee ordered packet delivery. Processing the sequence number field is OPTIONAL.[RFC4385] π
The sequence number space is a 16-bit, unsigned circular space. The sequence number value 0 is used to indicate an unsequenced packet.[RFC4385] πΈ
To process the sequence number field, the procedures described in Section 4 of [RFC4385] MUST be followed π
4.2. MTU Requirements π
The network MUST be configured with an MTU that is big enough to transport the largest encapsulation packets. When MPLS is the tunneling protocol, for example, that's likely to be 12 or more bytes bigger than the largest packet size π«Ά The methodology in [RFC4623] MAY be used to fragment encapsulated packets that go over the PSN MTU. However, if [RFC4623] isn't used, and the ingress router figures out that an encapsulated layer 2 PDU is bigger than the MTU of the PSN tunnel it has to go through, the PDU MUST be dropped π
If a packet comes in on the attachment circuit and is bigger than the interface MTU subTLV value [RFC4447], it MUST be dropped. It's also RECOMMENDED that PPP devices be configured so they don't negotiate PPP MRUs bigger than the AC MTU π
5. Protocol-Specific Details π
5.1. HDLC π¦
HDLC mode gives you port-to-port transport of HDLC-encapsulated traffic. The whole HDLC PDU gets carried, including the HDLC address and control fields, but not the HDLC flags or the FCS. Bit/byte stuffing is undone π§ If the OPTIONAL control word is used, the flag bits in the control word are not used, so they MUST be set to 0 when transmitting and MUST be ignored on receipt π
When the PE notices a status change on the attachment circuit, like a physical link failure on the AC or the AC being administratively disabled, the PE MUST send the PW status notification message that matches the HDLC AC status. In the same way, the local PW status MUST also be reflected in a matching PW status notification message, as described in [RFC4447] π₯
The PW of type 0x0006 "HDLC" is what carries HDLC packets. The IANA allocation registry for "Pseudowire Type" is defined in the IANA allocation document for PWs [RFC4446], along with the initial allocated values π
5.2. Frame Relay Port Mode πΈ
Figure 5 shows the idea behind frame relay port mode, also called many-to-one mapping, which is an OPTIONAL capability π
Figure 5a shows two frame relay devices physically connected through a frame relay UNI or NNI. Between their two ports, P1 and P2, n frame relay Virtual Circuits (VCs) are configured π
Figure 5b shows the physical frame relay interface getting swapped out for a pair of PEs with a PW between them. The interface between a Frame Relay (FR) device and a PE is either an FR UNI or an NNI. All FR VCs that go over that interface get mapped into one HDLC PW. The standard frame relay Link Management Interface (LMI) procedures happen directly between the CEs. So with port mode, you get many-to-one mapping between FR VCs and a PW π
+------+ +-------+
| FR | | FR |
|device| FR UNI/NNI | device|
| [P1]------------------------[P2] |
| | carrying n FR VCs | |
+------+ +-------+
[Pn]: A port
Figure 5a. FR interface between two FR devices
|<---------------------------->|
| |
+----+ +----+
+------+ | | One PW | | +------+
| | | |==================| | | |
| FR | FR | PE1| carrying n FR VCs| PE2| FR | FR |
|device|---------| | | |---------|device|
| CE1 | UNI/NNI | | | | UNI/NNI | CE2 |
+------+ +----+ +----+ +------+
| |
|<----------------------------------------------->|
n FR VCs
Figure 5b. Pseudowires replacing the FR interface
FR VCs aren't visible one by one to a PE, so you can't configure individual FR VCs on a PE. A PE treats the set of FR VCs assigned to a port as one aggregate π¦
FR port mode gives you transport between two PEs of a complete FR frame, using the same encapsulation as described above for HDLC mode β¨
Frame relay port mode shares the encapsulation of HDLC mode, but it gets its own PW type, allocated in [RFC4446]: 0x000F Frame-Relay Port mode π
Everything else about this PW type is identical to the HDLC PW encapsulation described above π
5.3. PPP π«Ά
PPP mode gives you point-to-point transport of PPP-encapsulated traffic, as specified in [RFC1661] πΈ The whole PPP PDU gets carried, including the protocol field (compressed with Protocol Field Compression or not), but not any media-specific framing such as HDLC address and control fields or the FCS π§
If the OPTIONAL control word is used, the flag bits in the control word are not used, so they MUST be set to 0 when transmitting and MUST be ignored on receipt π
When the PE notices a status change on the attachment circuit (AC), like a physical link failure or the AC being administratively disabled, the PE MUST send the PW status notification message that matches the PPP AC status. PPP negotiation status is invisible to the PW, so it MUST NOT be communicated to the remote MPLS PE π In the same way, the local PW status MUST also be reflected in a matching PW status notification message, as described in [RFC4447] π₯
A PW of type 0x0007 "PPP" is what carries PPP packets π
The IANA allocation registry for "Pseudowire Type" is defined in the IANA allocation document for PWs [RFC4446], along with the initial allocated values π
6. Using an MPLS Label as the Demultiplexer Field π·οΈ
To use an MPLS label as the demultiplexer field, you prepend a 32-bit label stack entry [RFC3032] to the emulated PW encapsulation, so it shows up as the bottom label of an MPLS label stack. This label can be called the "PW label" π The ingress and egress LSRs must agree on which emulated PW a particular label value identifies. They can do that by signaling (for example with the methods of [RFC4447]) or by configuration. The other fields of the label stack entry are set as described below π
6.1. MPLS Shim EXP Bit Values π
If you want to carry Quality of Service information, that information SHOULD be represented in the EXP field of the PW label. If the ingress LSR imposes more than one MPLS label, the EXP field of any labels higher in the stack MUST also carry the same value π
6.2. MPLS Shim S Bit Value β¨
The ingress LSR, PE1, MUST set the S bit of the PW label to a value of 1, to show that the PW label is at the bottom of the stack π¦
7. Congestion Control π₯
okay bestie, so [RFC3985] tells us the PSN carrying the PW may be subject to congestion π and how bad it gets depends on the PSN type, the network architecture, the configuration, and how loaded it is. during congestion the PSN may drop packets, and that hits the service the PPP/HLDC PW is carrying π
here's the tea π΅ PPP/HDLC PWs carry an unspecified type of services across the PSN, so they can't behave in a TCP-friendly way the way [RFC2914] wants. when there are services around that cut their sending rate, the PPP/HDLC PWs just hog more than their fair share π and they SHOULD be halted. not vibing.
now the good news β¨ whenever possible, PPP/HDLC PWs should be run over traffic-engineered PSNs that give you bandwidth allocation and admission control. IntServ domains that offer the Guaranteed Service (GS), or DiffServ domains using EF (expedited forwarding), are examples of traffic-engineered PSNs π these keep loss and delay low and also keep the PPP/HDLC PW's effects isolated from its neighbors, so it doesn't mess up everyone else's streams π«Ά
the PEs SHOULD monitor for congestion π they can do that with explicit congestion notification ([VCCV]) or by measuring packet loss, so the service using the PPP/HDLC PW can stay up. when significant congestion is detected, the PPP/HDLC PW SHOULD be administratively disabled π if the PW was set up using the protocol in [RFC4447], then the status notification procedures in [RFC4447] can be used to stop packet transmission on the ingress PE from the egress PE π the PW may be restarted by manual intervention, or by automatic means after an appropriate waiting time. bestie, that's a whole glow-up arc π¦
8. IANA Considerations πΈ
no new IANA actions here π every IANA action this needs was already handled in [RFC4446]. all good, we're literally done with this part π
9. Security Considerations π
β οΈ this section is serious, so read it carefully, no skipping π
the PPP and HDLC pseudowire type is subject to all the general security considerations discussed in [RFC3985][RFC4447]. this document only specifies encapsulations, not the protocols that carry the encapsulated packets across the MPLS network π§ each of those protocols may have its own set of security issues, but those issues are not affected by the encapsulations specified here. so yeah, it's not on the encapsulation, it's on the transport. periodt π
10. Normative References π
- [RFC1661] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC 1661, July 1994.
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001.
- [RFC4385] Bryant, S., Swallow, G., Martini, L., and D. McPherson, "Pseudowire Emulation Edge-to-Edge (PWE3) Control Word for Use over an MPLS PSN", RFC 4385, February 2006.
- [RFC4446] Martini, L., "IANA Allocations for Pseudowire Edge to Edge Emulation (PWE3)", BCP 116, RFC 4446, April 2006.
- [RFC4447] Martini, L., Rosen, E., El-Aawar, N., Smith, T., and G. Heron, "Pseudowire Setup and Maintenance Using the Label Distribution Protocol (LDP)", RFC 4447, April 2006.
- [RFC4619] Martini, L., Ed., Kawa, C., Ed., and A. Malis, Ed., "Encapsulation Methods for Transport of Frame Relay over Multiprotocol Label Switching (MPLS) Networks", RFC 4619, September 2006.
- [RFC4623] Malis, A. and M. Townsley, "Pseudowire Emulation Edge-to-Edge (PWE3) Fragmentation and Reassembly", RFC 4623, August 2006.
11. Informative References π§
- [Q922] ITU-T Recommendation Q.922 Specification for Frame Mode Basic call control, ITU Geneva 1995.
- [Q933] ITU-T Recommendation Q.933 Specification for Frame Mode Basic call control, ITU Geneva 2003.
- [RFC2914] Floyd, S., "Congestion Control Principles", BCP 41, RFC 2914, September 2000.
- [RFC2992] Hopps, C., "Analysis of an Equal-Cost Multi-Path Algorithm", RFC 2992, November 2000.
- [RFC3985] Bryant, S., Ed. and P. Pate, Ed., "Pseudo Wire Emulation Edge-to-Edge (PWE3) Architecture", RFC 3985, March 2005.
- [VCCV] Nadeau, T., et al., "Pseudo Wire Virtual Circuit Connection Verification (VCCV)", Work in Progress, October 2005.
Contributing Author Information π«Ά
Yeongil Seo
463-1 KT Technology Lab
Jeonmin-dong Yusung-gu
Daegeon, Korea
EMail: syi1@kt.co.kr
Toby Smith
Laurel Networks, Inc.
Omega Corporate Center
1300 Omega Drive
Pittsburgh, PA 15205
EMail: tob@laurelnetworks.com
Authors' Addresses π
Luca Martini
Cisco Systems, Inc.
9155 East Nichols Avenue, Suite 400
Englewood, CO, 80112
EMail: lmartini@cisco.com
Giles Heron
Tellabs
Abbey Place
24-28 Easton Street
High Wycombe
Bucks
HP11 1NT
UK
EMail: giles.heron@tellabs.com
Eric C. Rosen
Cisco Systems, Inc.
1414 Massachusetts Avenue
Boxborough, MA 01719
EMail: erosen@cisco.com
Andrew G. Malis
Tellabs
1415 West Diehl Road
Naperville, IL 60563
EMail: Andy.Malis@tellabs.com
Full Copyright Statement βοΈ
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 in it 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 π
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. It also does not represent that it has made any independent effort to identify any such rights. Information on the procedures for rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt 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). and that's the whole thing, bestie ππ
π¦ where this page comes from
- ietf: rfc4618 2006-09
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms