draft-ietf-rserpool-common-param-00.txt   draft-ietf-rserpool-common-param-01.txt 
Network Working Group R. R. Stewart Network Working Group R. Stewart
INTERNET-DRAFT Cisco Systems Inc. Internet-Draft Cisco Systems, Inc.
Q. Xie Expires: December 29, 2002 Q. Xie
Motorola, Inc. Motorola, Inc.
M. Stillman
Nokia
M. Tuexen
Siemens AG
June 30, 2002
expires in six months May 2, 2002 Aggregate Server Access Protocol (ASAP) and Endpoint Name Resolution
Protocol (ENRP) common parameters document
Aggregate Server Access Protocol and draft-ietf-rserpool-common-param-01.txt
Endpoint Name Resolution Protocol
Common Parameters
<draft-ietf-rserpool-common-param-00.txt>
Status of This Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of [RFC2026]. Internet-Drafts are all provisions of Section 10 of RFC2026.
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.
The list of current Internet-Drafts can be accessed at Internet-Drafts are working documents of the Internet Engineering
http://www.ietf.org/ietf/1id-abstracts.txt 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 The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 29, 2002.
Copyright Notice
Copyright (C) The Internet Society (2002). All Rights Reserved.
Abstract Abstract
Aggregate Server Access Protocol (ASAP) in conjunction with the Aggregate Server Access Protocol (ASAP) [4] in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [ENRP] provides a high Endpoint Name Resolution Protocol (ENRP) [5] provides a high
availability data transfer mechanism over IP networks. availability data transfer mechanism over IP networks.
Both protocols work together and so share many common parameters Both protocols work together and so share many common parameters used
used in message formats. This document details the common message in message formats. This document details the common message
parameters shared between the two protocols. This document provides parameters shared between the two protocols. This document provides
parameter formats only, for procedures and message composition parameter formats only, for procedures and message composition please
please refer to the respective [ASAP] and [ENRP] documents. refer to the respective ASAP [4] and ENRP [5] documents.
Table Of Contents Table of Contents
1. Introduction...............................................2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Conventions...............................................2 1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . 3
2. Parameters in General......................................2 2. Parameters in General . . . . . . . . . . . . . . . . . . 4
3. ENRP-ASAP Common Parameters................................3 3. ENRP-ASAP Common Parameters . . . . . . . . . . . . . . . 5
3.1 IPv4 Address Parameter....................................4 3.1 IPv4 Address Parameter . . . . . . . . . . . . . . . . . . 6
3.2 IPv6 Address Parameter ...................................5 3.2 IPv6 Address Parameter . . . . . . . . . . . . . . . . . . 7
3.3 SCTP Transport Parameter..................................5 3.3 SCTP Transport Parameter . . . . . . . . . . . . . . . . . 7
3.4 TCP Transport Parameter...................................6 3.4 TCP Transport Parameter . . . . . . . . . . . . . . . . . 8
3.5 UDP Transport Parameter...................................6 3.5 UDP Transport Parameter . . . . . . . . . . . . . . . . . 9
3.6. Pool Member Selection Policy Parameter...................7 3.6 Pool Member Selection Policy Parameter . . . . . . . . . . 10
3.6.1 Round Robin Policy......................................8 3.6.1 Round Robin Policy . . . . . . . . . . . . . . . . . . . . 11
3.6.2 Least Used Policy.......................................8 3.6.2 Least Used Policy . . . . . . . . . . . . . . . . . . . . 11
3.6.3 Least Used with Degradation Policy......................8 3.6.3 Least Used with Degradation Policy . . . . . . . . . . . . 11
3.6.4 Weighted Round Robin Policy.............................9 3.6.4 Weighted Round Robin Policy . . . . . . . . . . . . . . . 12
3.7 Pool Handle Parameter.....................................9 3.7 Pool Handle Parameter . . . . . . . . . . . . . . . . . . 12
3.8 Pool Element Parameter....................................9 3.8 Pool Element Parameter . . . . . . . . . . . . . . . . . . 12
3.9 Pool Element Handle Parameter.............................11 3.9 Server Information Parameter . . . . . . . . . . . . . . . 14
3.10 Server Information Parameter.............................11 3.10 Operation Error Parameter . . . . . . . . . . . . . . . . 15
3.11 Operation Error Parameter................................12 3.10.1 Unrecognized Parameter Error . . . . . . . . . . . . . . . 16
3.11.1 Unrecognized Parameter Error...........................13 3.10.2 Unrecognized Message Error . . . . . . . . . . . . . . . . 16
3.11.2 Unrecognized Message Error.............................14 3.11 Cookie Parameter . . . . . . . . . . . . . . . . . . . . . 16
3.11.3 Authorization Failure Error............................14 3.12 PE Identifier Parameter . . . . . . . . . . . . . . . . . 17
3.11.4 Invalid Values Error...................................14 4. Common Message Formats . . . . . . . . . . . . . . . . . . 18
3.11.5 Non-unique PE Identifier Error.........................15 5. Security Considerations . . . . . . . . . . . . . . . . . 20
3.11.6 Pooling Policy Inconsistent Error......................15 Normative References . . . . . . . . . . . . . . . . . . . 21
4. Common Message Formats.....................................15 Authors' Addresses . . . . . . . . . . . . . . . . . . . . 21
5. Security Considerations....................................17 Full Copyright Statement . . . . . . . . . . . . . . . . . 23
6. References.................................................17
7. Acknowledgments............................................17
8. Authors' Addresses.........................................17
1. Introduction 1. Introduction
Aggregate Server Access Protocol (ASAP) in conjunction with the Aggregate Server Access Protocol (ASAP) [4] in conjunction with the
Endpoint Name Resolution Protocol (ENRP) [ENRP] provides a high Endpoint Name Resolution Protocol (ENRP) [5] provides a high
availability data transfer mechanism over IP networks. availability data transfer mechanism over IP networks.
Both protocols work together and so share many common parameters Both protocols work together and so share many common parameters used
used in message formats. This document details the common message in message formats. This document details the common message
parameters shared between the two protocols. This document provides parameters shared between the two protocols. This document provides
parameter formats only, for procedures and message composition parameter formats only, for procedures and message composition please
please refer to the respective [ASAP] and [ENRP] documents. refer to the respective ASAP [4] and ENRP [5] documents.
1.1 Conventions 1.1 Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when
they appear in this document, are to be interpreted as described in they appear in this document, are to be interpreted as described in
[RFC2119]. RFC2119 [2].
2. Parameters in General 2. Parameters in General
All parameters parameters described below MUST be in Network Byte All parameters parameters described below MUST be in Network Byte
Order (a.k.a. Big Endian, i.e., the most significant byte first) Order (a.k.a. Big Endian, i.e., the most significant byte first)
during transmission. For fields with a length bigger than 4 octets, during transmission. For fields with a length bigger than 4 octets,
a number in a pair of parentheses may follow the field name to a number in a pair of parentheses may follow the field name to
indicate the length of the field in number of octets. indicate the length of the field in number of octets.
Please note that messages in both ENRP and ASAP are often Please note that messages in both ENRP and ASAP are often composed of
composed of multiple parameters. These parameters may also multiple parameters. These parameters may also be nested. In such a
be nested. In such a case a nested parameter will include case a nested parameter will include the length of the padding
the length of the padding between the nested parameters between the nested parameters but not the last padding.
but not the last padding.
3 ENRP-ASAP Common Parameters 3. ENRP-ASAP Common Parameters
Parameters are defined in the following Type-length-value (TLV) Parameters are defined in the following Type-length-value (TLV)
format: format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Parameter Type | Parameter Length | | Parameter Type | Parameter Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: Parameter Value : : Parameter Value :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Parameter Type: 16 bits (unsigned integer) Parameter Type: 16 bits (unsigned integer)
The Type field is a 16 bit identifier of the type of parameter. The Type field is a 16 bit identifier of the type of parameter. It
It takes a value of 0 to 65534. takes a value of 0 to 65534.
The value of 65535 is reserved for IETF-defined extensions. The value of 65535 is reserved for IETF-defined extensions. Values
Values other than those defined in specific ENRP parameter other than those defined in specific ENRP parameter description are
description are reserved for use by IETF. reserved for use by IETF.
Parameter Length: 16 bits (unsigned integer) Parameter Length: 16 bits (unsigned integer)
The Parameter Length field contains the size of the parameter in The Parameter Length field contains the size of the parameter in
bytes, including the Parameter Type, Parameter Length, and bytes, including the Parameter Type, Parameter Length, and Parameter
Parameter Value fields. Thus, a parameter with a zero-length Value fields. Thus, a parameter with a zero-length Parameter Value
Parameter Value field would have a Length field of 4. The field would have a Length field of 4. The Parameter Length does not
Parameter Length does not include any padding bytes that may include any padding bytes that may appear at the end of this
appear at the end of this parameter. parameter.
Parameter Value: variable-length. Parameter Value: variable-length.
The Parameter Value field contains the actual information to be The Parameter Value field contains the actual information to be
transferred in the parameter. transferred in the parameter.
The total length of a parameter (including Type, Parameter Length and The total length of a parameter (including Type, Parameter Length and
Value fields) MUST be a multiple of 4 bytes. If the length of the Value fields) MUST be a multiple of 4 bytes. If the length of the
parameter is not a multiple of 4 bytes, the sender pads the Parameter parameter is not a multiple of 4 bytes, the sender pads the Parameter
at the end (i.e., after the Parameter Value field) with all zero at the end (i.e., after the Parameter Value field) with all zero
bytes. The length of this padding is not included in the parameter bytes. The length of this padding is not included in the parameter
length field. A sender SHOULD NOT pad with more than 3 bytes. The length field. A sender SHOULD NOT pad with more than 3 bytes. The
receiver MUST ignore the padding bytes. receiver MUST ignore the padding bytes.
(Editor's note: clarify further that any padding inside in the (Editor's note: clarify further that any padding inside in the
parameter, such as the padding in sub-param is included in the parameter, such as the padding in sub-param is included in the total
total length) length)
The Parameter Types are encoded such that the highest-order two bits The Parameter Types are encoded such that the highest-order two bits
specify the action that must be taken if the processing endpoint does specify the action that must be taken if the processing endpoint does
not recognize the Parameter Type. not recognize the Parameter Type.
00 - Stop processing this ENRP or ASAP message and discard it, do 00 Stop processing this ENRP or ASAP message and discard it, do not
not process any further parameters within it. process any further parameters within it.
01 - Stop processing this ENRP or ASAP message and discard it, do 01 Stop processing this ENRP or ASAP message and discard it, do not
not process any further parameters within it, and report the process any further parameters within it, and report the
unrecognized parameter in an 'Unrecognized Parameter' error. unrecognized parameter in an 'Unrecognized Parameter' error (see
Section 3.10).
10 - Skip this parameter and continue processing. 10 Skip this parameter and continue processing.
11 - Skip this parameter and continue processing, but report the 11 Skip this parameter and continue processing, but report the
unrecognized parameter in an 'Unrecognized Parameter' error unrecognized parameter in an 'Unrecognized Parameter' error (see
(see Section 3.11?). Section 3.10).
The values of parameter types are defined as follows: The values of parameter types are defined as follows:
Value Parameter Type Value Parameter Type
----- ---------- ----- ----------
0x0 - (reserved by IETF) 0x0 - (reserved by IETF)
0x1 - IPv4 Address 0x1 - IPv4 Address
0x2 - IPv6 Address 0x2 - IPv6 Address
0x3 - SCTP Transport 0x3 - SCTP Transport
0x4 - TCP Transport 0x4 - TCP Transport
0x5 - UDP Transport 0x5 - UDP Transport
0x6 - Pool Member Selection Policy 0x6 - Pool Member Selection Policy
0x7 - Pool Handle 0x7 - Pool Handle
0x8 - Pool Element 0x8 - Pool Element
0x9 - Pool Element Handle 0x9 - Server Information
0xa - Server Information 0xa - Operation Error
0xb - Operation Error 0xb - Cookie
0xc - PE Identifier
others - (reserved by IETF) others - (reserved by IETF)
3.1 IPv4 Address Parameter 3.1 IPv4 Address Parameter
This parameter defines a TLV that carries an IPv4 address. This parameter defines a TLV that carries an IPv4 address.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x1 | Length = 0x8 | | Type = 0x1 | Length = 0x8 |
skipping to change at page 5, line 12 skipping to change at page 7, line 24
Contains an IPv4 address. It is binary encoded. Contains an IPv4 address. It is binary encoded.
3.2 IPv6 Address Parameter 3.2 IPv6 Address Parameter
This parameter defines a TLV that carries an IPv6 address. This parameter defines a TLV that carries an IPv6 address.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x2 | Length = 20 | | Type = 0x2 | Length = 0x14 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| IPv6 Address | | IPv6 Address |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPv6 Address: 128 bit (unsigned integer) IPv6 Address: 128 bit (unsigned integer)
Contains an IPv6 address. It is binary encoded. Contains an IPv6 address. It is binary encoded.
skipping to change at page 5, line 46 skipping to change at page 8, line 22
: IPv4 or IPv6 Address #1 : : IPv4 or IPv6 Address #1 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: ... : : ... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address #n : : IPv4 or IPv6 Address #n :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets,
octets, including the Type, Length, SCTP port, reserved fields, including the Type, Length, SCTP port, reserved fields, and all IP
and all IP address parameters present. address parameters present.
SCTP port: 16 bits (unsigned integer) SCTP port: 16 bits (unsigned integer)
The SCTP port number signed to this SCTP user transport. The SCTP port number signed to this SCTP user transport.
IPv4 or IPv6 Address #1 - #n: IPv4 or IPv6 Address #1 - #n:
Each indicates an IPv4 or IPv6 address parameter (as defined Each indicates an IPv4 or IPv6 address parameter (as defined above in
above in sections 3.1 and 3.2) assigned to this SCTP user Section 3.1 and Section 3.2) assigned to this SCTP user transport.
transport. At least one IP address parameter MUST be present in At least one IP address parameter MUST be present in an SCTP
an SCTP transport parameter. transport parameter.
3.4 TCP Transport Parameter 3.4 TCP Transport Parameter
This parameter defines a TLV that describes a user transport using This parameter defines a TLV that describes a user transport using
TCP protocol. TCP protocol.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x4 | Length = variable | | Type = 0x4 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TCP port | (reserved) | | TCP port | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address : : IPv4 or IPv6 Address :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of octets,
Indicates the entire length of the parameter in number of including the Type, Length, TCP port, reserved fields, and IP address
octets, including the Type, Length, TCP port, reserved fields, parameter.
and IP address parameter.
TCP port: 16 bits (unsigned integer) TCP port: 16 bits (unsigned integer)
The TCP port number signed to this TCP user transport. The TCP port number signed to this TCP user transport.
IPv4 or IPv6 Address: IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in Indicates an IPv4 or IPv6 address parameter (as defined above in
sections 3.1 and 3.2) assigned to this TCP user Section 3.1 and Section 3.2) assigned to this TCP user transport.
transport. Unlike in an SCTP transport, only one IP address Unlike in an SCTP transport, only one IP address parameter can be
parameter can be present in a TCP transport parameter. present in a TCP transport parameter.
3.5 UDP Transport Parameter 3.5 UDP Transport Parameter
This parameter defines a TLV that describes a user transport using This parameter defines a TLV that describes a user transport using
UDP protocol. UDP protocol.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x5 | Length = variable | | Type = 0x5 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| UDP port | (reserved) | | UDP port | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: IPv4 or IPv6 Address : : IPv4 or IPv6 Address :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets,
octets, including the Type, Length, UDP port, reserved fields, including the Type, Length, UDP port, reserved fields, and IP address
and IP address parameter. parameter.
UDP port: 16 bits (unsigned integer) UDP port: 16 bits (unsigned integer)
The UDP port number signed to this UDP user transport. The UDP port number signed to this UDP user transport.
IPv4 or IPv6 Address: IPv4 or IPv6 Address:
Indicates an IPv4 or IPv6 address parameter (as defined above in Indicates an IPv4 or IPv6 address parameter (as defined above in
sections 3.1 and 3.2) assigned to this UDP user Section 3.1 and Section 3.2) assigned to this UDP user transport.
transport. Unlike in an SCTP transport, only one IP address Unlike in an SCTP transport, only one IP address parameter can be
parameter can be present in a UDP transport parameter. present in a UDP transport parameter.
3.6. Pool Member Selection Policy Parameter 3.6 Pool Member Selection Policy Parameter
This parameter defines a pool member selection policy. RSERPOOL This parameter defines a pool member selection policy. RSERPOOL
supports multiple pool member selection polices and also allows supports multiple pool member selection polices and also allows
definition of new selection polices in the future. definition of new selection polices in the future.
The enforcement rules and handling procedures of all the policies The enforcement rules and handling procedures of all the policies are
are defined in Section xxxxx in [ASAP]. defined in Section xxxxx in ASAP [4].
All pool member selection policies, both present and future, MUST All pool member selection policies, both present and future, MUST use
use the following general parameter format: the following general parameter format:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x6 | Length = variable | | Type = 0x6 | Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy Type | Policy-specific Data.... | Policy Type | Policy-specific Data....
+-+-+-+-+-+-+-+-+------------------------------------------------ +-+-+-+-+-+-+-+-+------------------------------------------------
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets,
octets, including the Type, Length, Policy Type fields, including the Type, Length, Policy Type fields, and the Policy-
and the Policy-specific Data. specific Data.
Note, the value in Length field will NOT cover any padding at Note, the value in Length field will NOT cover any padding at the end
the end of the parameter, if there is one. of the parameter, if there is one.
Policy Type: 8 bits (unsigned integer) Policy Type: 8 bits (unsigned integer)
Specifies the type of selection policy. Specifies the type of selection policy.
Currently defined policy types are: Currently defined policy types are:
Value Policy Value Policy
----- --------- ----- ---------
0x0 (reserved by IETF) 0x0 (reserved by IETF)
0x1 Round Robin 0x1 Round Robin
0x2 Least Used 0x2 Least Used
0x3 Least Used with Degradation (a.k.a. dog pile) 0x3 Least Used with Degradation (a.k.a. dog pile)
0x4 Weighted Round Robin 0x4 Weighted Round Robin
others (reserved by IETF) others (reserved by IETF)
Policy-specific Data: Policy-specific Data:
The structure and fields for each presently defined policy types The structure and fields for each presently defined policy types are
are described in detail in the following subsections. The described in detail in the following subsections. The enforcement
enforcement rules and handling procedures of these policies rules and handling procedures of these policies are defined in
are defined in Section xxxxx in [ASAP]. Section xxxxx in ASAP [4].
3.6.1 Round Robin Policy 3.6.1 Round Robin Policy
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 | | Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x1 | (reserved) | | Policy=0x1 | (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
skipping to change at page 8, line 42 skipping to change at page 11, line 33
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 | | Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x2 | Load | | Policy=0x2 | Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Load: 24 bits (signed integer) Load: 24 bits (signed integer)
[TBD] (TBD)
3.6.3 Least Used with Degradation Policy 3.6.3 Least Used with Degradation Policy
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 | | Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x3 | Load | | Policy=0x3 | Load |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Load: 24 bits (signed integer) Load: 24 bits (signed integer)
[TBD] (TBD)
3.6.4 Weighted Round Robin Policy 3.6.4 Weighted Round Robin Policy
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Param Type = 0x6 | Length = 0x8 | | Param Type = 0x6 | Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Policy=0x4 | Weight | | Policy=0x4 | Weight |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-------------------------------+
Weight: 24 bits (signed integer) Load: 24 bits (signed integer)
[TBD] (TBD)
3.7 Pool Handle Parameter 3.7 Pool Handle Parameter
This parameter holds a pool handle (i.e., a pool name). This parameter holds a pool handle (i.e., a pool name).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x7 | Length=variable | | Type = 0x7 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: Pool Handle string : : Pool Handle :
: :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets,
octets, including the Type, Length, and Pool Handle string. including the Type, Length, and Pool Handle string.
Note, the value in Length field will NOT cover any padding at Note, the value in Length field will NOT cover any padding at the end
the end of the parameter. of the parameter.
Pool Handle: Pool Handle:
Defined as a NULL terminated ASCII string. defined as a sequence of (Length - 4) bytes.
3.8 Pool Element Parameter 3.8 Pool Element Parameter
This parameter is used in multiple ENRP messages to represent an This parameter is used in multiple ENRP messages to represent an ASAP
ASAP endpoint (i.e., a PE in a pool) and the associated endpoint (i.e., a PE in a pool) and the associated information, such
information, such as its transport address(es), selection policy, as its transport address(es), selection policy, and other operational
and other operational or status information of the PE. or status information of the PE.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x8 | Length=variable | | Type = 0x8 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PE Identifier | | PE Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Home ENRP Server Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Registration Life | | Registration Life |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #1 : : User Transport param #1 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #2 : : User Transport param #2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: ..... : : ..... :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User Transport param #k : : User Transport param #k :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Member Selection Policy param : : Member Selection Policy param :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets,
octets, including the Type, Length, PE Identifier, Registration including the Type, Length, PE Identifier, Registration Life, all
Life, all User Transports, and Member Selection Policy User Transports, and Member Selection Policy parameters.
parameters.
Note, the value in Length field will NOT cover any padding at Note, the value in Length field will NOT cover any padding at the end
the end of this Pool Element parameter. of this Pool Element parameter.
PE Identifier: 32 bits (unsigned integer) PE Identifier: 32 bits (unsigned integer)
Uniquely identifies the PE in the pool. The PE picks its Uniquely identifies the PE in the pool. The PE picks its identifier
identifier when it starts up. See Section ???? in [ASAP] for when it starts up. See Section ???? in [ASAP] for recommendations on
recommendations on PE identifier generation. PE identifier generation.
Home ENRP Server Identifier: 32 bits (unsigned integer)
Indicates the current home ENRP server of this PE. Set to all 0's if
the PE's home ENRP server is undetermined.
Registration Life: 32 bits (signed integer) Registration Life: 32 bits (signed integer)
Indicates the life time of the registration in number of Indicates the life time of the registration in number of seconds. A
seconds. A value of -1 indicates infinite life time. value of -1 indicates infinite life time.
User Transport #1-#k: User Transport #1-#k:
Each of the User Transport parameters in a PE parameter can be Each of the User Transport parameters in a PE parameter can be either
either an SCTP, TCP, or UDP type transport parameter (see an SCTP, TCP, or UDP type transport parameter (see Section 3.3,
sections 3.3, 3.4, 3.5). A PE MUST have at least 1 User Section 3.4, Section 3.5). A PE MUST have at least 1 User Transport
Transport and MAY have multiple User Transports. When multiple and MAY have multiple User Transports. When multiple transports are
transports are present, they MAY be of mixed types (i.e., SCTP, present, they MAY be of mixed types (i.e., SCTP, TCP, and UDP).
TCP, and UDP).
Member Selection Policy: Member Selection Policy:
Contains one of the defined member selection policy parameters Contains one of the defined member selection policy parameters (see
(see section 3.6). Section 3.6).
3.9 Pool Element Handle Parameter
This parameter is used to encode a logical handler that points to
an individual PE in a specific pool.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0x9 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Pool Handle Parameter :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: PE's User Transport :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of
octets.
Note, the value in Length field will NOT cover any padding at
the end of the parameter.
Pool Handle:
Specifies the pool to which the PE belongs.
PE's User Transport:
Indicates the user transport (or one of the user transports) of
the PE. This can be either an SCTP, TCP, or UDP type transport.
3.10 Server Information Parameter 3.9 Server Information Parameter
This parameter is used in ENRP to pass basic information of an ENRP This parameter is used in ENRP to pass basic information of an ENRP
server. server.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xa | Length=variable | | Type = 0x9 | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Server ID | | Server ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|M| (reserved) | |M| (reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Server Transport : : Server Transport :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets.
octets.
Note, the value in Length field will NOT cover any padding at Note, the value in Length field will NOT cover any padding at the end
the end of the parameter. of the parameter.
Server ID: 32 bit (unsiged integer) Server ID: 32 bit (unsiged integer)
This is the ID of the ENRP server, as defined in Section 4.2.1? This is the ID of the ENRP server, as defined in Section xxxxxx in
in [ENRP]. ENRP [5] .
Multicast Flag (M): 1 bit Multicast Flag (M): 1 bit
If set to '1', indicates the ENRP server is allowed to use If set to '1', indicates the ENRP server is allowed to use multicast
multicast for communications. If set to '0', multicast is not for communications. If set to '0', multicast is not used by the
used by the server. server.
Reserved: 31 bits Reserved: 31 bits
MUST be set to 0's by sender and ignored by the receiver. MUST be set to 0's by sender and ignored by the receiver.
Server Transport: Server Transport:
This is an SCTP Transport Parameter, as defined in Section 3.3?, This is an SCTP Transport Parameter, as defined in Section 3.3 that
that contains the network access address(es), SCTP port number, contains the network access address(es), SCTP port number, etc. of
etc. of the ENRP server. the ENRP server.
3.11 Operation Error Parameter 3.10 Operation Error Parameter
This parameter is used in both ENPR and ASAP for a message sender This parameter is used in both ENPR and ASAP for a message sender to
to report an error(s) to a message receiver. report an error(s) to a message receiver.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xb | Length=variable | | Type = 0xa | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: one or more Error Causes : : one or more Error Causes :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Length: 16 bits (unsigned integer) Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of Indicates the entire length of the parameter in number of octets.
octets.
Note, the value in Length field will NOT cover any padding at Note, the value in Length field will NOT cover any padding at the end
the end of the parameter. of the parameter.
Error causes are defined as variable-length parameters using the Error causes are defined as variable-length parameters using the
format described in 3.2.1, i.e.: format described in 3.2.1 of RFC2960 [3], i.e.:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code | Cause Length | | Cause Code | Cause Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Cause-specific Information : : Cause-specific Information :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Cause Code: 16 bits (unsigned integer) Cause Code: 16 bits (unsigned integer)
Defines the type of error condition being reported. Defines the type of error condition being reported.
Cause Code Cause Code
Value Cause Code Value Cause Code
--------- ---------------- --------- ----------------
0x0 (reserved by IETF) 1 Unrecognized Parameter
0x1 Unrecognized Parameter 2 Unrecognized Message
0x2 Unrecognized Message 3 Authorization Failure
0x3 Authorization Failure 4 Invalid Values
0x4 Invalid Values 5 Non-unique PE Identifier
0x5 Non-unique PE Identifier 6 Pooling Policy Inconsistent
0x6 Pooling Policy Inconsistent other values reserved by IETF
other values (reserved by IETF)
Cause Length: 16 bits (unsigned integer) Cause Length: 16 bits (unsigned integer)
Set to the size of the parameter in bytes, including the Cause Set to the size of the parameter in bytes, including the Cause Code,
Code, Cause Length, and Cause-Specific Information fields, but Cause Length, and Cause-Specific Information fields, but not
not including any padding at the end of this error cause TLV. including any padding at the end of this error cause TLV.
Cause-specific Information: variable length Cause-specific Information: variable length
This field carries the details of the error condition. This field carries the details of the error condition.
The following subsections (3.11.1 - 3.11.6) define specific error The following subsections (Section 3.10.1 - Section 3.10.2) define
causes. specific error causes.
3.11.1 Unrecognized Parameter Error
This error cause is used by a receiver to report an unrecognized
parameter found in a received message to the message sender.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x1 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Offending Parameter TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Offending Parameter TLV:
The complete TLV of the parameter that the receiver of the
message fails to recognize.
3.11.2 Unrecognized Message Error
This error cause is used by a receiver to report an unrecognized
message type to the message sender.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x2 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: Offending Message TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Offending Message TLV:
The complete TLV of the receive message whose type the receiver 3.10.1 Unrecognized Parameter Error
of the message fails to recognize.
3.11.3 Authorization Failure Error (TBD)
This error cause is used by a message receiver to report to the 3.10.2 Unrecognized Message Error
message sender that the received message has failed the
authorization check.
0 1 2 3 (TBD)
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x3 | Cause Length = variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: [TBD]
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.11.4 Invalid Values Error 3.11 Cookie Parameter
This error cause is used by a message receiver to report to the This parameter defines a TLV that carries a Cookie.
message sender that the received message has one or more fields
that contains an invalid value.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x4 | Cause Length = variable | | Type = 0xb | Length=variable |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: [TBD] : Cookie :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.11.5 Non-unique PE Identifier Error Length: 16 bits (unsigned integer)
Indicates the entire length of the parameter in number of bytes,
This error cause is used by an ENRP server to report a collission including the Type, Length, and Cookie.
between two PE identifers (i.e., two PEs try to register with the
same PE identifer).
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x5 | Cause Length = 0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Bad PE Identifer |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Bad PE Identifer: Cookie: variable length
This is the value of the PE identifer which is found colliding The Cookie is an arbitrary byte string of (Length - 4) bytes.
with an existing PE identifer.
3.11.6 Pooling Policy Inconsistent Error 3.12 PE Identifier Parameter
This error cause is used by an ENRP server to report an This parameter defines a TLV that carries a PE Identifier.
inconsistancy between the selection policy of a registering PE and
the current overall pool policy.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code = 0x2 | Cause Length = variable | | Type = 0xc | Length=0x8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : | PE Identifier |
: Offending Policy TLV :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Offending Policy TLV: PE Identifier: 32 bits (unsigned integer)
The complete TLV of the selection policy parameter (see Section Uniquely identifies the PE in the pool. The PE picks its identifier
3.6?) that is found in conflict with the current pool policy. when it starts up. See Section ???? in [ASAP] for recommendations on
PE identifier generation.
4. Common Message Formats 4. Common Message Formats
The figure below illustrates the common format for all ASAP and The figure below illustrates the common format for all ASAP and ENRP
ENRP messages. Each message is formatted with a Message Type field, messages. Each message is formatted with a Message Type field, a
a message-specific Flag field, a Message Length field, and a Value message-specific Flag field, a Message Length field, and a Value
field. field.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message Type | Msg Flags | Message Length | | Message Type | Msg Flags | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : : :
: Message Value : : Message Value :
: : : :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message Type: 8 bits (unsigned integer) Message Type: 8 bits (unsigned integer)
This field identifies the type of information contained in the This field identifies the type of information contained in the
Message Value field. It takes a value from 0 to 254. The value Message Value field. It takes a value from 0 to 254. The value of
of 255 is reserved for future use as an extension field. 255 is reserved for future use as an extension field.
Message Types are encoded such that the highest-order two bits Message Types are encoded such that the highest-order two bits
specify the action that must be taken if the message receiver specify the action that must be taken if the message receiver does
does not recognize the Message Type. not recognize the Message Type.
00 - Stop processing this message and discard it. 00 Stop processing this message and discard it.
01 - Stop processing this message and discard it, and report the 01 Stop processing this message and discard it, and report the
unrecognized message in an 'Unrecognized Message' error unrecognized message in an 'Unrecognized Message' error (see
(see Section 3.11). Section Section 3.10.2).
10 - reserved. 10 reserved.
11 - reserved. 11 reserved.
Message Flags: 8 bits Message Flags: 8 bits
The usage of these bits depends on the message type as given by The usage of these bits depends on the message type as given by the
the Message Type. Unless otherwise specified, they are set to Message Type. Unless otherwise specified, they are set to zero on
zero on transmit and are ignored on receipt. transmit and are ignored on receipt.
Message Length: 16 bits (unsigned integer) Message Length: 16 bits (unsigned integer)
This value represents the size of the message in bytes including This value represents the size of the message in bytes including the
the Message Type, Message Flags, Message Length, and Message Message Type, Message Flags, Message Length, and Message Value
Value fields. Therefore, if the Message Value field is fields. Therefore, if the Message Value field is zero-length, the
zero-length, the Length field will be set to 4. The Message Length field will be set to 4. The Message Length field does not
Length field does not count any padding. count any padding.
Note, the value in Message Length field will NOT cover any Note, the value in Message Length field will NOT cover any padding at
padding at the end of this message. the end of this message.
Message Value: variable length Message Value: variable length
The Message Value field contains the actual information to be The Message Value field contains the actual information to be
transferred in the message. The usage and format of this field transferred in the message. The usage and format of this field is
is dependent on the Message Type. dependent on the Message Type.
The total length of a message (including Type, Length and Value The total length of a message (including Type, Length and Value
fields) MUST be a multiple of 4 bytes. If the length of the fields) MUST be a multiple of 4 bytes. If the length of the message
message is not a multiple of 4 bytes, the sender MUST pad the is not a multiple of 4 bytes, the sender MUST pad the message with
message with all zero bytes and this padding is not included in the all zero bytes and this padding is not included in the message length
message length field. The sender should never pad with more than 3 field. The sender should never pad with more than 3 bytes. The
bytes. The receiver MUST ignore the padding bytes. receiver MUST ignore the padding bytes.
5. Security Considerations 5. Security Considerations
This document contains common parameter formats only. As such This document contains common parameter formats only. As such it
it specifies no new security constraints on either ENRP or specifies no new security constraints on either ENRP or ASAP.
ASAP. Details on ENRP and ASAP security constraints are a Details on ENRP and ASAP security constraints are a addressed in ENRP
addressed in [ENRP] and [ASAP]. [5] and ASAP [4] .
6. References
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision Normative References
3", BCP 9, RFC 2026, October 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
Requirement Levels", BCP 14, RFC 2119, March 1997. 9, RFC 2026, October 1996.
[ENRP] Q. Xie, R. R. Stewart "Endpoint Name Resolution Protocol", [2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
draft-ietf-rserpool-enrp-01.txt, work in progress. Levels", BCP 14, RFC 2119, March 1997.
[ASAP] R. R. Stewart, Q. Xie: "Aggregate Server Access Protocol [3] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer,
(ASAP)", <draft-ietf-rserpool-asap-00.txt>, work in progress. H., Taylor, T., Rytina, I., Kalla, M., Zhang, L. and V. Paxson,
"Stream Control Transmission Protocol", RFC 2960, October 2000.
7. Acknowledgments [4] Stewart, R., Xie, Q. and M. Stillman, "Aggregate Server Access
Protocol (ASAP)", draft-ietf-rserpool-common-param-01 (work in
progress), May 2002.
The authors wish to thank John Loughney, Lyndon Ong, and Maureen [5] Xie, Q., Stewart, R. and M. Stillman, "Enpoint Name Resolution
Stillman and many others for their invaluable comments. Protocol (ENRP)", draft-ietf-rserpool-enrp-04 (work in
progress), May 2002.
8. Authors' Addresses Authors' Addresses
Randall R. Stewart Tel: +1-815-477-2127 Randall R. Stewart
Cisco Systems, Inc. EMail: rrs@cisco.com Cisco Systems, Inc.
8725 West Higgins Road 8725 West Higgins Road
Suite 300 Suite 300
Chicago, Ill 60631 Chicago, IL 60631
USA
Qiaobing Xie Phone: +1-847-632-3028 Phone: +1-815-477-2127
Motorola, Inc. EMail: qxie1@email.mot.com EMail: rrs@cisco.com
Qiaobing Xie
Motorola, Inc.
1501 W. Shure Drive, #2309 1501 W. Shure Drive, #2309
Arlington Heights, IL 60004 Arlington Heights, IL 60004
USA USA
Expires in six months from May 2, 2002
Phone: +1-847-632-3028
EMail: qxie1@email.mot.com
Maureen Stillman
Nokia
127 W. State Street
Ithaca, NY 14850
USA
Phone: +1-607-273-0724
EMail: maureen.stillman@nokia.com
Michael Tuexen
Siemens AG
ICN WN CC SE 7
D-81359 Munich
Germany
Phone: +49 89 722 47210
EMail: Michael.Tuexen@icn.siemens.de
Full Copyright Statement
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/