draft-ietf-tsvwg-rsvp-user-error-spec-08.txt   rfc5284.txt 
Network Working Group G. Swallow Network Working Group G. Swallow
Internet-Draft Cisco Systems, Inc. Request for Comments: 5284 Cisco Systems, Inc.
Category: Standards Track Category: Standards Track A. Farrel
Created: May 31, 2008 A. Farrel Old Dog Consulting
Expiration Date: November 31, 2008 Old Dog Consulting August 2008
User-Defined Errors for RSVP User-Defined Errors for RSVP
draft-ietf-tsvwg-rsvp-user-error-spec-08.txt Status of This Memo
Status of this Memo
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 This document specifies an Internet standards track protocol for the
http://www.ietf.org/shadow.html. Internet community, and requests discussion and suggestions for
improvements. Please refer to 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.
Abstract Abstract
The Resource ReserVation Protocol (RSVP) defines an ERROR_SPEC object The Resource ReserVation Protocol (RSVP) defines an ERROR_SPEC object
for communicating errors. That object has a defined format that for communicating errors. That object has a defined format that
permits the definition of 256 error codes. As RSVP has been permits the definition of 256 error codes. As RSVP has been
developed and extended, the convention has been to be conservative in developed and extended, the convention has been to be conservative in
defining new error codes. Further, no provision for user-defined defining new error codes. Further, no provision for user-defined
errors exists in RSVP. errors exists in RSVP.
This document defines a USER_ERROR_SPEC to be used in addition to the This document defines a USER_ERROR_SPEC to be used in addition to the
ERROR_SPEC to carry additional user information related to errors. ERROR_SPEC to carry additional user information related to errors.
1. Introduction 1. Introduction
The Resource ReserVation Protocol (RSVP) [RFC2205] defines an The Resource ReserVation Protocol (RSVP) [RFC2205] defines an
ERROR_SPEC object for communicating errors. That object has a ERROR_SPEC object for communicating errors. That object has a
defined format that permits the definition of 256 error codes. As defined format that permits the definition of 256 error codes. As
RSVP has been developed and extended, the convention has been to be RSVP has been developed and extended, the convention has been to be
conservative in communicating errors. Further no provision for user conservative in communicating errors. Further, no provision for user
defined errors exists in RSVP. defined errors exists in RSVP.
When developing extensions to RSVP, it is often useful for those When developing extensions to RSVP, it is often useful for those
implementing to define error messages to aid both in the initial implementing to define error messages to aid both in the initial
debugging and in testing against older versions or other debugging and in testing against older versions or other
implementations. implementations.
This document defines a new RSVP object to permit user-defined errors This document defines a new RSVP object to permit user-defined errors
to be communicated. This will enable organizations to define errors to be communicated. This will enable organizations to define errors
which they can use for internal development. These error values that they can use for internal development. These error values could
could also be shared with the community at large to aid in promoting also be shared with the community at large to aid in promoting
interoperability between diverse implementations. interoperability between diverse implementations.
RSVP PathErr and ResvErr messages require the presence of an RSVP PathErr and ResvErr messages require the presence of an
ERROR_SPEC object ([RFC2205]). [RFC3473] defines the Notify message ERROR_SPEC object ([RFC2205]). [RFC3473] defines the Notify message
that also requires the presence of an ERROR_SPEC object. In order to that also requires the presence of an ERROR_SPEC object. In order to
not change the mandatory contents of these messages, this document not change the mandatory contents of these messages, this document
defines a new error code value that indicates that the new object is defines a new error code value that indicates that the new object is
present and carries a user-defined error code. present and carries a user-defined error code.
Note that the ResvConf message defined in [RFC2205] also carries an Note that the ResvConf message defined in [RFC2205] also carries an
skipping to change at page 3, line 9 skipping to change at page 2, line 27
1.1. Conventions 1.1. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. User-Defined Error 2. User-Defined Error
A new Error Code is defined for use in an ERROR_SPEC object. A new Error Code is defined for use in an ERROR_SPEC object.
Error Code = <tba-xxx>: User Error Spec Error Code = 33: User Error Spec
This error code is used to signal the presence of a This error code is used to signal the presence of a
USER_ERROR_SPEC. One Error Value is defined as follows. USER_ERROR_SPEC. One Error Value is defined as follows.
Error Value 0 = Further details in User Error Spec Error Value 0 = Further details in User Error Spec
Further error values may be defined in future specifications. Further error values may be defined in future specifications.
When sending this error code, a USER_ERROR_SPEC object MUST be When sending this error code, a USER_ERROR_SPEC object MUST be
included in the PathErr, ResvErr, or Notify message. included in the PathErr, ResvErr, or Notify message.
[RFC Editor's note: <tba-xxx> = to be assigned by IANA as per Section 5.
Please replace <tba-xxx> with the number assigned by IANA and remove
this note.]
3. USER_ERROR_SPEC Class 3. USER_ERROR_SPEC Class
A new RSVP object class called USER_ERROR_SPEC is defined. To support A new RSVP object class called USER_ERROR_SPEC is defined. To
backwards compatibility, its class number is in the range 192-247. As support backwards compatibility, its class number is in the range
defined in [RFC2205], implementations that do not understand such an 192-247. As defined in [RFC2205], implementations that do not
object will forward it unmodified. understand such an object will forward it unmodified.
USER_ERROR_SPEC object: Class = <tba-yyy>, C-Type = 1
[RFC Editor's note: <tba-yyy> = to be assigned by IANA as per Section 5.
Please replace <tba-yyy> with the number assigned by IANA and remove
this note.]
USER_ERROR_SPEC object: Class = 194, C-Type = 1
0 1 2 3 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 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
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| Enterprise Number | | Enterprise Number |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| Sub Org | Err Desc Len | User Error Value | | Sub Org | Err Desc Len | User Error Value |
+---------------+---------------+---------------+---------------+ +---------------+---------------+---------------+---------------+
| | | |
~ Error Description ~ ~ Error Description ~
| | | |
skipping to change at page 4, line 16 skipping to change at page 3, line 32
A unique identifier of an organization encoded as a 32-bit A unique identifier of an organization encoded as a 32-bit
integer. Enterprise Numbers (sometimes known as Private integer. Enterprise Numbers (sometimes known as Private
Enterprise Numbers) are assigned by IANA and managed on a first Enterprise Numbers) are assigned by IANA and managed on a first
come first served basis through the IANA registry named come first served basis through the IANA registry named
"Enterprise Numbers" [RFC2578]. "Enterprise Numbers" [RFC2578].
Sub Org Sub Org
A unique identifier of an organization encoded as an 8-bit A unique identifier of an organization encoded as an 8-bit
integer. An organization MAY use this field to create integer. An organization MAY use this field to create
independent Error Value spaces. This is intended to independent Error Value spaces. This is intended to facilitate
facilitate teams which are doing parallel development. If teams that are doing parallel development. If independent
independent spaces are not required, this field SHOULD be spaces are not required, this field SHOULD be set to zero.
set to zero.
Err Desc Len Err Desc Len
The length of the error description in the Error Description The length of the error description in the Error Description
field in bytes excluding any padding. Zero is a valid length if field in bytes excluding any padding. Zero is a valid length
no error description is supplied. if no error description is supplied.
User Error Value User Error Value
A 16-bit integer. The meaning is specified by the A 16-bit integer. The meaning is specified by the
(sub-)organization indicated by the Enterprise Number and Sub (sub-)organization indicated by the Enterprise Number and Sub
Org fields. Org fields.
Error Description Error Description
A string of characters padded with nulls (0x00) to a multiple of A string of characters padded with nulls (0x00) to a multiple
4 bytes. According to the guidance in [RFC2277], this string of 4 bytes. According to the guidance in [RFC2277], this
MUST use UTF-8/Net-Unicode encoding [RFC5198]. Furthermore, it string MUST use UTF-8/Net-Unicode encoding [RFC5198].
is RECOMMENDED that implementations limit the strngs that they Furthermore, it is RECOMMENDED that implementations limit the
generate to single-line printable US-ASCII [ASCII] whenever strings that they generate to single-line printable US-ASCII
feasible to improve the likelihood of easy use by the recipient. [ASCII] whenever feasible to improve the likelihood of easy use
by the recipient.
If the Err Desc Len is zero then no bytes are supplied. If the Err Desc Len is zero, then no bytes are supplied.
Note that the content of this field is implementation-specific. Note that the content of this field is implementation-specific.
It is typically printable, but might not be shown to all users It is typically printable, but might not be shown to all users
in all implementations (because of character set choice). in all implementations (because of character set choice).
Therefore, the content of the field SHOULD be limited to Therefore, the content of the field SHOULD be limited to
supplementary information and SHOULD NOT contain information supplementary information and SHOULD NOT contain information
critical to operating the network. Criticial information is critical to operating the network. Critical information is
present in the User Error Value field. present in the User Error Value field.
User-Defined Subobjects User-Defined Subobjects
User-defined subobjects MAY be included. The generic format of User-defined subobjects MAY be included. The generic format of
subobjects is specified in Section 3.1. The semantics of a subobjects is specified in Section 3.1. The semantics of a
subobject is indicated by the Type field, but the semantics, subobject is indicated by the Type field, but the semantics,
format and contents of the Value field are specified by the format, and contents of the Value field are specified by the
(sub-)organization indicated by the Enterprise Number and (sub-)organization indicated by the Enterprise Number and Sub
Sub Org fields of this object. Org fields of this object.
3.1. Subobjects 3.1. Subobjects
Each subobject is encoded as a TLV in the following format: Each subobject is encoded as a TLV in the following format:
0 1 0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+
| Type | Length | (Subobject contents) | | Type | Length | (Subobject contents) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------//----------------+
Type Type
An 8-bit number assigned by the the (sub-)organization An 8-bit number assigned by the (sub-)organization indicated by
indicated by the Enterprise Number and Sub Org fields of the the Enterprise Number and Sub Org fields of the USER_ERROR_SPEC
USER_ERROR_SPEC object. object.
Length Length
The Length contains the total length of the subobject in bytes, The Length contains the total length of the subobject in bytes,
including the Type and Length fields. The Length MUST be at including the Type and Length fields. The Length MUST be at
least 4, and MUST be a multiple of 4. least 4, and MUST be a multiple of 4.
4. Procedures for Using the User Error Spec 4. Procedures for Using the User Error Spec
4.1. Procedures for Sending the User Error Spec 4.1. Procedures for Sending the User Error Spec
skipping to change at page 6, line 8 skipping to change at page 5, line 34
the Error Code in the ERROR_SPEC object MUST be set to "User Error the Error Code in the ERROR_SPEC object MUST be set to "User Error
Spec" as defined in Section 2 of this document. When the Error Code Spec" as defined in Section 2 of this document. When the Error Code
in the ERROR_SPEC object is set to "User Error Spec", the Error Value in the ERROR_SPEC object is set to "User Error Spec", the Error Value
sub-code SHOULD be set to "Further details in User Error Spec" as sub-code SHOULD be set to "Further details in User Error Spec" as
defined in Section 2, but further Error Value sub-codes may be defined in Section 2, but further Error Value sub-codes may be
defined in future specifications. defined in future specifications.
4.2. Procedures for Receiving the User Error Spec 4.2. Procedures for Receiving the User Error Spec
It is RECOMMENDED that implementations that receive a PathErr, It is RECOMMENDED that implementations that receive a PathErr,
ResvErr, or Notify message carrying a USER_ERROR_SPEC object at a ResvErr, or Notify message carrying a USER_ERROR_SPEC object log (at
minimum log the Enterprise Number, Sub-organization, User Error a minimum) the Enterprise Number, Sub-organization, User Error Value,
Value, and Error Description. Note that the character set used for and Error Description. Note that the character set used for the
the Error Description may mean that it might not be suitable for Error Description may mean that it might not be suitable for display
display of logging in all systems. Implementations capable of of logging in all systems. Implementations capable of interpreting
interpreting the contents of the USER_ERROR_SPEC object SHOULD take the contents of the USER_ERROR_SPEC object SHOULD take further action
further action based on the reported error. based on the reported error.
Implementations that are not UTF-8 capable that receive a Implementations that are not UTF-8 capable and that receive a
USER_ERROR_SPEC object SHOULD handle the Error Descriprion according USER_ERROR_SPEC object SHOULD handle the Error Description according
to the procedures set out in [RFC5137]. to the procedures set out in [RFC5137].
If a message is received containing an ERROR_SPEC object using the If a message is received containing an ERROR_SPEC object using the
"User Error Spec" error code, but not containing a USER_ERROR_SPEC "User Error Spec" error code, but not containing a USER_ERROR_SPEC
object, the message MUST be treated as malformed and handled object, the message MUST be treated as malformed and handled
according to [RFC2205]. according to [RFC2205].
Implementations SHOULD ignore repeated occurences of USER_ERROR_SPEC Implementations SHOULD ignore repeated occurrences of USER_ERROR_SPEC
objects, and SHOULD forward them unchanged on any messages that they objects, and SHOULD forward them unchanged on any messages that they
forward. This provides for forward compatiblity. forward. This provides for forward compatibility.
Implementations receiving a USER_ERROR_SPEC object on some message Implementations receiving a USER_ERROR_SPEC object on some message
other than a PathErr, ResvErr, or Notify message MUST treat the other than a PathErr, ResvErr, or Notify message MUST treat the error
error as a malformed message and process according to [RFC2205]. as a malformed message and process according to [RFC2205].
5. IANA Considerations 5. IANA Considerations
5.1. RSVP Error Codes 5.1. RSVP Error Codes
This document makes the following assignments from the RSVP Error This document makes the following assignments from the RSVP Error
Codes and Globally-Defined Error Value Sub-Codes registry (pending Codes and Globally-Defined Error Value Sub-Codes registry:
IANA action):
Error Code Meaning Error Code Meaning
<tba-xxx> User Error Spec 33 User Error Spec
One Error Value sub-code is defined for use with this Error Code as One Error Value sub-code is defined for use with this Error Code as
follows: follows:
0 = Further details in User Error Spec 0 = Further details in User Error Spec
5.2. RSVP Objects 5.2. RSVP Objects
This document makes the following assignments from the RSVP Class This document makes the following assignments from the RSVP Class
Names, Class Numbers, and Class Types registry (pending IANA action): Names, Class Numbers, and Class Types registry:
Number Space Value Name Number Space Value Name
Class Numbers <tba-yyy>* User Error Spec Class Numbers 194 USER_ERROR_SPEC
Class Type 1 User-Defined Error Class Type 1 User-Defined Error
* Assignment is requested from the range 192 through 247
6. Security Considerations 6. Security Considerations
This document makes no changes to the basic message exchanges of This document makes no changes to the basic message exchanges of
[RFC2205] and [RFC3473]. It will result in a small increase in the [RFC2205] and [RFC3473]. It will result in a small increase in the
number of error messages sent in cases where messages were previously number of error messages sent in cases where messages were previously
silently dropped due to the lack of an appropriate error code. silently dropped due to the lack of an appropriate error code.
The mechanisms defined in this document may be used by The mechanisms defined in this document may be used by
implementations to report additional error conditions and information implementations to report additional error conditions and information
arising from security issues and attacks on the RSVP network. arising from security issues and attacks on the RSVP network.
skipping to change at page 7, line 40 skipping to change at page 7, line 16
logged opens the potential for certain security attacks through the logged opens the potential for certain security attacks through the
use of overruns or embedded control characters. Implementations use of overruns or embedded control characters. Implementations
SHOULD take precautions against overruns, and (especially where the SHOULD take precautions against overruns, and (especially where the
full characterset of [RFC5198] is not supported, SHOULD use the full characterset of [RFC5198] is not supported, SHOULD use the
procedures set out in [RFC5137] to handle unexpected or unknown procedures set out in [RFC5137] to handle unexpected or unknown
control characters. control characters.
7. Acknowledgments 7. Acknowledgments
The authors would like to thank Elisheva Halevy for motivating this The authors would like to thank Elisheva Halevy for motivating this
document. Thanks to Tom Nadeau, Magnus Westerlund, Hannes Tschofenig, document. Thanks to Tom Nadeau, Magnus Westerlund, Hannes
Bruce Davie, Jukka Manner, Francois Le Faucheur, Lars Eggert, and Tom Tschofenig, Bruce Davie, Jukka Manner, Francois Le Faucheur, Lars
Petch for their review and comments. Eggert, and Tom Petch for their review and comments.
8. References 8. References
8.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2205] Braden, R., Zhang, L., Berson, S., Herzog, S., and S. [RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S.
Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1
Functional Specification", RFC 2205, September 1997. Functional Specification", RFC 2205, September 1997.
[RFC3473] Berger, L., "Generalized Multi-Protocol Label Switching [RFC3473] Berger, L., Ed., "Generalized Multi-Protocol Label
(GMPLS) Signaling Resource ReserVation Protocol-Traffic Switching (GMPLS) Signaling Resource ReserVation
Engineering (RSVP-TE) Extensions", RFC 3473, January 2003. Protocol-Traffic Engineering (RSVP-TE) Extensions", RFC
3473, January 2003.
[RFC5137] Klensin, J., "ASCII Escaping of Unicode Characters", [RFC5137] Klensin, J., "ASCII Escaping of Unicode Characters", BCP
RFC 5137, BCP 137, February 2008. 137, RFC 5137, February 2008.
[RFC5198] Klensin, J., and Padlipsky, M., "Unicode Format for [RFC5198] Klensin, J. and M. Padlipsky, "Unicode Format for Network
Network Interchange", RFC 5198, March 2008. Interchange", RFC 5198, March 2008.
[ASCII] American National Standards Institute, "USA Code for [ASCII] American National Standards Institute, "USA Code for
Information Interchange", ANSI X3.4, 1968. Information Interchange", ANSI X3.4, 1968.
8.2. Informative References 8.2. Informative References
[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and [RFC2277] Alvestrand, H., "IETF Policy on Character Sets and
Languages", RFC 2277, BCP 18, January 1998. Languages", BCP 18, RFC 2277, January 1998.
[RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder,
"Structure of Management Information Version 2 (SMIv2)", "Structure of Management Information Version 2 (SMIv2)",
STD 58, RFC 2578, April 1999. STD 58, RFC 2578, April 1999.
9. Authors' Addresses Authors' Addresses
George Swallow George Swallow
Cisco Systems, Inc. Cisco Systems, Inc.
EMail: swallow@cisco.com EMail: swallow@cisco.com
Adrian Farrel Adrian Farrel
Old Dog Consulting Old Dog Consulting
EMail: adrian@olddog.co.uk EMail: adrian@olddog.co.uk
10. Intellectual Property Full Copyright Statement
Copyright (C) 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an 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 attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at ietf- this standard. Please address the information to the IETF at
ipr@ietf.org. ietf-ipr@ietf.org.
Full Copyright Notice
Copyright (C) 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.
 End of changes. 35 change blocks. 
99 lines changed or deleted 87 lines changed or added

This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/