TOC |
|
By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents 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 of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”
The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 2, 2008.
This memo describes a configuration interface advertisement method for NETCONF device developers. In the proposal, the developers take a configuration interface definition information of target NETCONF devices. On their development environment, they generate stab classes to control the devices. The NETCONF device advertises their configuration interface by a WSDL file. The WSDL file describes message type of each NETCONF operation of the device. The WSDL file contains XML Schema in its types element and describes definition of the types definition used to configuration data. By this configuration interface advertisement, Network management System (NMS) developers can improve their development efficiency of the NMS.
1.
Introduction
2.
NETCONF Protocol
3.
Proposal
3.1.
Target Architecture
3.2.
NETCONF Operation Interface Description by WSDL
3.3.
Operation and Datamodel Type Definition by XSD
3.4.
Original RPC definition
3.5.
Schema list retrieval
3.6.
Publishment of datamodels and interfaces information
3.7.
Reference Programming Model with Web-Service Middleware
4.
Security Consideration
5.
IANA Consideration
6.
References
6.1.
Normative References
6.2.
Informative References
§
Authors' Addresses
§
Intellectual Property and Copyright Statements
TOC |
IETF netconf WG made up NETCONF protocol (Enns, R., “NETCONF Configuration Protocol,” December 2006.) [RFC4741] , standard configuration protocol between a network management system and network devices. By using this unified management/configuration protocol, operators can reduce management/configuration cost.
Now, the NETCONF protocol has a new additional requirement that NETCONF users would like to know configuration datamodels and interfaces supported by NETCONF devices. There are two situations, pre-deployment and post-deployment. In the pre-deployment case, software engineers would like to know NETCONF devices' datamodels and interfaces to develop their NMS. To implement the NETCONF NMS, the developers should check the Schema that defines the configuration data of the target NETCONF device. They should know XML tree construction of the configuration data and type definition of the each element in the XML tree.
In the post-deployment case, a NETCONF client (manager) takes dinamically information about supported datamodels from a NETCONF server (device). For example, an operator applies a patch to a target NETCONF device to update supported datamodels from a NETCONF NMS, and check the update later.
XML Schema (Fallside, D., “XML Schema Part 0: Primer,” May 2001.) [W3C.REC‑xmlschema‑0‑20010502] or other XML schema language is used to describe the structure of configuration data. NETCONF users can know supported datamodels by taking schemas from target devices. However, today there are no standard way to take the schema from a target NETCONF device.
This document provides standard way to take information of datamodels and interfaces supported by a NETCONF device to improve NMS development process in the pre-deployment case. First, this document standardizes how to describe the configuration interface of NETCONF devices. Second, this document standardizes how to describe the type definition of the XML elements that occur in the NETCONF protocol messages. Last, this document standardizes how to advertise the above configuration interface definition information.
This document also describe how NETCONF NMS developers automeate the construction of NETCONF stack during the development of a NETCONF NMS.
TOC |
Characteristics of the NETCONF protocol are (1) XML-format, (2) RPC- style, and (3) separation of operation and datamodel.
The NETCONF protocol has protocol messages described in XML format. XML-format makes it easy for operators to read configuration data. It also improves machine readability of the configuration data since XML documents are well-formed. From a different viewpoint, various XML related tools eases development of devices compliant to the NETCONF protocol.
The NETCONF protocol is a Remote Procedure Call (RPC) style protocol. RPC-style protocols have sets of a request message and a corresponding reply message. It is easy to implement on a management software, since each RPC of the protocol corresponds to a function call of the programs.
Layer Example +-------------+ +-----------------------------+ (4) | Content | | Configuration data | +-------------+ +-----------------------------+ | | +-------------+ +-----------------------------+ (3) | Operations | | <get-config>, <edit-config> | +-------------+ +-----------------------------+ | | +-------------+ +-----------------------------+ (2) | RPC | | <rpc>, <rpc-reply> | +-------------+ +-----------------------------+ | | +-------------+ +-----------------------------+ (1) | Transport | | SSH, SSL, console, | | Protocol | | SOAP/HTTP, BEEP | +-------------+ +-----------------------------+
Figure 1 |
The NETCONF protocol defines protocol operations and datamodels separately. The NETCONF protocol has four layers. Figure 1 shows the NETCONF protocol structure. It contains Transport Protocol Layer, RPC Layer, Operations Layer and Content Layer.
In the RPC Layer and Operations Layer, the netconf WG defined RPC message and basic protocol operations [RFC4741] (Enns, R., “NETCONF Configuration Protocol,” December 2006.) . These NETCONF operations carry configuration data inside <config> element. The WG also defined the transport mapping of the NETCONF protocol for SSH (Wasserman, M. and T. Goddard, “Using the NETCONF Configuration Protocol over Secure SHell (SSH),” December 2006.) [RFC4742] , SOAP/HTTP (Goddard, T., “Using NETCONF over the Simple Object Access Protocol (SOAP),” December 2006.) [RFC4743] and BEEP (Lear, E. and K. Crozier, “Using the NETCONF Protocol over the Blocks Extensible Exchange Protocol (BEEP),” December 2006.) [RFC4744] .
The Content Layer defines model of the NETCONF content carried by NETCONF operations such as <get-config> and <edit-config>. The structure of the configuration data is defined by schema language such as DTD (Bray, T., Paoli, J., Yergeau, F., Maler, E., and C. Sperberg-McQueen, “Extensible Markup Language (XML) 1.0 (Fourth Edition),” August 2006.) [W3C.REC‑xml‑20060816] , XML Schema (Fallside, D., “XML Schema Part 0: Primer,” May 2001.) [W3C.REC‑xmlschema‑0‑20010502] or RelaxNG for the each model.
TOC |
To fulfill the above requirements, we propose adoption of Web-Service architecture to the NETCONF system architecture. The proposed NETCONF system uses Web Service Description Language (WSDL) (Weerawarana, S., Ryman, A., Chinnici, R., and J. Moreau, “Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language,” June 2007.) [W3C.REC‑wsdl20‑20070626] and XML Schema (XSD) widely deployed in Web-service system.
Features of this proposal:
- WSDL for interface description
- XSD for type definition
- WSDL file transfer on mapping-depend transport with fixed URI
TOC |
This proposal assumes the following NETCONF system architecture. Developers implement their NMS as a NETCONF manager on their development environment with help of the NETCONF configuration interface information provided by NETCONF device developers via the direct access to the NETCONF device or via indirect access with Web server. The implemented NMS works on a runtime environment and access NETCONF devices via NETCONF protocol.
- NETCONF Device
- Development Environment NETCONF Manager
- Runtime Environment NETCONF Manager
- Device vendor's Web server
TOC |
NETCONF devices advertise their configuration interface to the NETCONF NMS developers. The developers know name of the operation, number and type of arguments, and type of return value from the interface advertisement.
In this proposal, NETCONF system use WSDL file to advertise their configuration interface to the NMS developers. Somehow the NMS developers takes a WSDL file corresponding to a target NETCONF device, and read the WSDL file. Then the developers know NETCONF operations implemented in the NETCONF device.
The WSDL file SHOULD include two ordinary NETCONF protocol message exchanges: hello exchange and RPC exchange. In the hello exchange, a NETCONF Manager throws <hello> element to a NETCONF devices as a NETCONF request, and then get <hello> element from the NETCONF device as a NETCONF response. In the RPC exchange, the NETCONF manager throws <rpc> element and get <rpc-reply> element.
Below is a recommended WSDL file example to advertise NETCONF device configuration interface proposed in RFC4743. In this example, SOAP over HTTP is selected as its transport protocol binding. NETCONF device developers can choose their favorite transport binding and modify the binding part of this WSDL file.
The WSDL file describes type definition of the argument and return value of each operation by XML Schema. Developers MAY prepare external XML Schema as separate file or inline Schema in this WSDL file. In this example, an external XML Schema defines the types. When developers prepare inline schema, they make types element under the definition element of this WSDL file and place schema element same with external schema under the types element.
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:ietf:params:xml:ns:netconf:soap:1.0" xmlns:netb="urn:ietf:params:xml:ns:netconf:base:1.0" targetNamespace="urn:ietf:params:xml:ns:netconf:soap:1.0" name="netconf-soap_1.0.wsdl"> <import namespace="urn:ietf:params:xml:ns:netconf:base:1.0" location="netconf-base_1.0.xsd"/> <message name="helloRequest"> <part name="in" element="netb:hello"/> </message> <message name="helloResponse"> <part name="out" element="netb:hello"/> </message> <message name="rpcRequest"> <part name="in" element="netb:rpc"/> </message> <message name="rpcResponse"> <part name="out" element="netb:rpc-reply"/> </message> <portType name="netconfPortType"> <operation name="rpc"> <input message="tns:rpcRequest"/> <output message="tns:rpcResponse"/> </operation> <operation name="hello"> <input message="tns:helloRequest"/> <output message="tns:helloResponse"/> </operation> </portType> <binding name="netconfBinding" type="tns:netconfPortType"> <SOAP:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="hello"> <SOAP:operation/> <input> <SOAP:body use="literal" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"/> </input> <output> <SOAP:body use="literal" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"/> </output> </operation> <operation name="rpc"> <SOAP:operation/> <input> <SOAP:body use="literal" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"/> </input> <output> <SOAP:body use="literal" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"/> </output> </operation> </binding> <service name="netconf"> <port binding="tns:netconfBinding" name="netconfBinding"> <SOAP:address location="http://localhost:8080/netconf/"/> </port> </service> </definitions>
When device developers choose SOAP over HTTP binding for the NETCONF configuration service, the WSDL file should select "document-literal" as its transport binding and message encoding. In the WSDL file, style attribute of the binding element SHOULD be "document". input and output element in binding element SHOULD include body element that has attribute with "literal" value.
TOC |
The NETCONF system should prepare XML Schema describing the type of argument and return value of rpc request. As described above, a WSDL file describes interface of a NETCONF device. In addition to the interface, the NETCONF device should advertise the type definition.
The XSD file SHOULD include ordinary NETCONF operations described in NETCONF Protocol as the argument of rpc operation defined in the above WSDL file. The XSD file MAY also include NETCONF notification subscription operation described in NETCONF Notification (Chisholm, S. and H. Trevino, “NETCONF Event Notifications,” June 2008.) [I‑D.ietf‑netconf‑notification] . The XSD file MAY also include additional NETCONF operations added by vendors.
Ordinary NETCONF operations:
- get
- getConfig
- editConfig
- lock
- unlock
- subscribe
NETCONF device developers can add configuration datamodel as additional type definition in this XSD file. They can add import element for the pointer to an external schema defining configuration item elements, for example, interfaceType, vlanType, and etc. They can use proposed configuration datamodels like VLAN datamodel (Iijima, T., “VLAN data model for NETCONF,” August 2007.) [I‑D.iijima‑ngo‑vlandatamodel] , Diff-Serv datamodel (Okita, H., “A NETCONF Datamodel for Diff-Serv QoS Control Configuration,” July 2007.) [I‑D.okita‑ngo‑diffservdatamodel] , and ACL datamodel (Tomoyuki, I., Atarashi, Y., Kimura, H., Kitani, M., and H. Okita, “ACL data model for NETCONF,” December 2007.) [I‑D.iijima‑ngo‑acldatamodel] . They can also include these type definitions as an inline schema in this XSD file.
Following describes an example XML Schema advertising the type definition of the NETCONF operation messages. It contains following type definitions as an example. This XML Schema contains types for edit-config operation message, interface configuration message, and vlan configuration message. The two types are described by inline schema.
- rpcType
- rpcOperationType
- interfaceType
- vlanType
- configInlineType
- editConfigType
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" targetNamespace="urn:ietf:params:xml:ns:netconf:base:1.0" elementFormDefault="qualified" attributeFormDefault="qualified" xml:lang="en"> <!-- <rpc> element --> <xs:complexType name="rpcType"> <xs:sequence> <xs:element ref="rpcOperation"/> </xs:sequence> <xs:attribute name="message-id" type="xs:string" use="required"/> </xs:complexType> <xs:element name="rpc" type="rpcType"/> <!-- rpcOperationType: abstraction type --> <xs:complexType name="rpcOperationType"/> <xs:element name="rpcOperation" type="rpcOperationType" abstract="true"/> <!-- Type for <interface> element --> <xs:complexType name="interfaceType"> <xs:sequence> <xs:element name="IfId" type="xs:integer" <xs:element name="IfName" type="xs:string" </xs:sequence> </xs:complexType> <xs:element name="interface" type="interfaceType"> <!-- Type for <vlan> element --> <xs:complexType name="vlanType"> <xs:sequence> <xs:element name="VlanId" type="xs:integer" <xs:element name="VlanName" type="xs:string" </xs:sequence> </xs:complexType> <xs:element name="vlan" type="vlanType"> <!-- Type for <config> element --> <xs:complexType name="configInlineType"> <xs:complexContent> <xs:extension base="xs:anyType"/> </xs:complexContent> </xs:complexType> <!-- <edit-config> operation --> <xs:complexType name="editConfigType"> <xs:complexContent> <xs:extension base="rpcOperationType"> <xs:sequence> <xs:element name="config" type="configInlineType"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> <xs:element name="edit-config" type="editConfigType" substitutionGroup="rpcOperation"/> </xs:schema>
TOC |
NETCONF Protocol (Enns, R., “NETCONF Configuration Protocol,” December 2006.) [RFC4741] defines standard NETCONF RPCs, get, get-config, edit-config, and so on. NETCONF device developers who would like to add a new original RPC should define new datatype used in this new RPC transaction. The developers should define the datatype as the extension of rpcOperationType, which represents abstracted RPC operation datatype that placed in the <rpc> element.
Following example is a definition of a new Reset operation that uses <reset> element in <rpc> element without child element. Since RPC operations are abstracted to rpcOperationType, the developers have only to define extended datatype.
<!-- <reset> operation --> <xs:complexType name="resetType"> <xs:complexContent> <xs:extension base="rpcOperationType"/> </xs:complexContent> </xs:complexType> <xs:element name="reset" type="resetType" substitutionGroup="rpcOperation"/>
TOC |
In the post-deployment phase, there is an another requirement that users would like to retrieve only the list of supported configuration datamodels on a NETCONF device. In this requirement, users do not require the body of the schemas describing the datamodels. For this requirement, importing external schema into a WSDL file would be a solution.
To avoid schema body, the WSDL describing datamodels and interfaces of a NETCONF device MAY contain external reference in its <wsdl:types> element. Each reference is described by <import> element that have each namespace and schemaLocation attribute. The schemaLocation attribute represents its actual location.
<?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:ietf:params:xml:ns:netconf:soap:1.0" name="netconf-soap_1.0.wsdl"> <wsdl:types> <import namespace="urn:ietf:params:xml:ns:netconf:vlan:1.0" schemaLocation="vlan.xsd"/> <import namespace="urn:ietf:params:xml:ns:netconf:diffserv:1.0" schemaLocation="diffserv.xsd"/> <import namespace="urn:ietf:params:xml:ns:netconf:acl:1.0" schemaLocation="acl.xsd"/> <import namespace="urn:ietf:params:xml:ns:netconf:base:1.0" schemaLocation="netconf-base_1.0.xsd"/> </wsdl:types> (Operation definitions) </wsdl:definitions>
TOC |
NETCONF device developers can publish the device's datamodels and interfaces described by WSDL and XSD by several methods as described below.
Datastore on a target NETCONF device
HTTP or FTP server on a vendor's Web site.
Paper document for NMS developers
NETCONF device SHOULD use each transport protocol to transfer datamodels and interfaces information. In the pre-deployment case, users take the configuration information through their development environments. These development environments do not necessarily have NETCONF features. A NETCONF device cannot presuppose existence of the NETCONF session. For example, Web-Service development environments normally use HTTP to take service information described by WSDL and XSD.
The NETCONF device that supports SSH mapping MUST store a WSDL file on its SFTP datastore related to an published URI. It MUST transfer the WSDL file on a SFTP session for a request to the URI from the NETCONF device. Following is an example URI for the WSDL file on SFTP tree.
sftp://netconf.device/netconf.wsdl
The NETCONF device that supports SOAP/HTTP mapping MUST store a WSDL file on its HTTP datastore related to an published URI. It MUST transfer the WSDL file on a HTTP session for a request to the URI from the NETCONF device. Following is an example URI for the WSDL file on HTTP tree.
http://netconf.device/netconf.wsdl
(TBD) The NETCONF device that supports BEEP mapping MUST transfer a WSDL file on the BEEP channel that supports file transfer mechanism. SOAP/BEEP (O'Tuathail, E. and M. Rose, “Using the Simple Object Access Protocol (SOAP) in Blocks Extensible Exchange Protocol (BEEP),” June 2002.) [RFC3288] could be a solution.
TOC |
When a NETCONF device support NETCONF over SOAP and publish its WSDL, NMS developers can reduce much of their implementation time. They can utilize Web-Service middleware to construct their NMS code.
From the WSDL file published by the NETCONF device, the Web-Service middleware generate automatically stub classes for NMS code to access configuration interface of the NETCONF device via SOAP over HTTP transport. The NMS developers have only to implement NMS logic using the stub classes.
Using WSDL and Web-Service middleware, NMS developers might follow the sequence described below.
- prepare a NETCONF device
- take a WSDL file from the device via HTTP
- extract XML Schema from the WSDL file for reference
- generate stub class source file from the WSDL file by Web-Service middleware
- take the stub class in their development environment
TOC |
In the NETCONF architecture, the transport protocol layer is responsible for the security between a network manager and network devices.
TOC |
This document has no actions for IANA.
TOC |
TOC |
[RFC4741] | Enns, R., “NETCONF Configuration Protocol,” RFC 4741, December 2006 (TXT). |
[RFC4742] | Wasserman, M. and T. Goddard, “Using the NETCONF Configuration Protocol over Secure SHell (SSH),” RFC 4742, December 2006 (TXT). |
[RFC4743] | Goddard, T., “Using NETCONF over the Simple Object Access Protocol (SOAP),” RFC 4743, December 2006 (TXT). |
[RFC4744] | Lear, E. and K. Crozier, “Using the NETCONF Protocol over the Blocks Extensible Exchange Protocol (BEEP),” RFC 4744, December 2006 (TXT). |
TOC |
[I-D.chisholm-netconf-model] | Chisholm, S. and A. Clemm, “Using XML Schema to define NETCONF Content,” draft-chisholm-netconf-model-08 (work in progress), February 2008 (TXT). |
[I-D.ietf-netconf-notification] | Chisholm, S. and H. Trevino, “NETCONF Event Notifications,” draft-ietf-netconf-notification-14 (work in progress), June 2008 (TXT). |
[I-D.iijima-ngo-vlandatamodel] | Iijima, T., “VLAN data model for NETCONF,” draft-iijima-ngo-vlandatamodel-01 (work in progress), August 2007 (TXT). |
[I-D.okita-ngo-diffservdatamodel] | Okita, H., “A NETCONF Datamodel for Diff-Serv QoS Control Configuration,” draft-okita-ngo-diffservdatamodel-01 (work in progress), July 2007 (TXT). |
[I-D.iijima-ngo-acldatamodel] | Tomoyuki, I., Atarashi, Y., Kimura, H., Kitani, M., and H. Okita, “ACL data model for NETCONF,” draft-iijima-ngo-acldatamodel-01 (work in progress), December 2007 (TXT). |
[I-D.iijima-netconf-soap-implementation] | Tomoyuki, I., Atarashi, Y., Kimura, H., Kitani, M., and H. Okita, “Experience of implementing NETCONF over SOAP,” draft-iijima-netconf-soap-implementation-10 (work in progress), August 2008 (TXT). |
[RFC3288] | O'Tuathail, E. and M. Rose, “Using the Simple Object Access Protocol (SOAP) in Blocks Extensible Exchange Protocol (BEEP),” RFC 3288, June 2002 (TXT, HTML, XML). |
[W3C.REC-xml-20060816] | Bray, T., Paoli, J., Yergeau, F., Maler, E., and C. Sperberg-McQueen, “Extensible Markup Language (XML) 1.0 (Fourth Edition),” World Wide Web Consortium FirstEdition REC-xml-20060816, August 2006 (HTML). |
[W3C.REC-xmlschema-0-20010502] | Fallside, D., “XML Schema Part 0: Primer,” World Wide Web Consortium FirstEdition REC-xmlschema-0-20010502, May 2001 (HTML). |
[W3C.REC-soap12-part1-20030624] | Mendelsohn, N., Gudgin, M., Moreau, J., Nielsen, H., and M. Hadley, “SOAP Version 1.2 Part 1: Messaging Framework,” World Wide Web Consortium FirstEdition REC-soap12-part1-20030624, June 2003 (HTML). |
[W3C.REC-wsdl20-primer-20070626] | Liu, C. and D. Booth, “Web Services Description Language (WSDL) Version 2.0 Part 0: Primer,” World Wide Web Consortium Recommendation REC-wsdl20-primer-20070626, June 2007 (HTML). |
[W3C.REC-wsdl20-20070626] | Weerawarana, S., Ryman, A., Chinnici, R., and J. Moreau, “Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language,” World Wide Web Consortium Recommendation REC-wsdl20-20070626, June 2007 (HTML). |
[W3C.REC-wsdl20-adjuncts-20070626] | Moreau, J., Orchard, D., Chinnici, R., Weerawarana, S., Lewis, A., and H. Haas, “Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts,” World Wide Web Consortium Recommendation REC-wsdl20-adjuncts-20070626, June 2007 (HTML). |
TOC |
Hideki Okita | |
Central Research Laboratory, Hitachi, Ltd. | |
1-280 Higashi-Koigakubo | |
Kokubunji, Tokyo 185-8601 | |
Japan | |
Phone: | +81-42-323-1111 |
Fax: | +81-42-327-7868 |
Email: | hideki.okita.pf@hitachi.com |
Tomoyuki Iijima | |
Alaxala Networks Corp. | |
Shin-Kawasaki Mitsui Bldg. | |
890 Saiwai-ku Kashimada | |
Kawasaki, Kanagawa 212-0058 | |
Japan | |
Phone: | +81-44-549-1735 |
Fax: | +81-44-549-1272 |
Email: | tomoyuki.iijima@alaxala.com |
Yoshifumi Atarashi | |
Alaxala Networks Corp. | |
Shin-Kawasaki Mitsui Bldg. | |
890 Saiwai-ku Kashimada | |
Kawasaki, Kanagawa 212-0058 | |
Japan | |
Phone: | +81-44-549-1735 |
Fax: | +81-44-549-1272 |
Email: | atarashi@alaxala.net |
TOC |
Copyright © The IETF Trust (2008).
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, THE IETF TRUST 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.
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.