Internet Assigned Numbers Authority

Port Control Protocol (PCP) Parameters

Created
2012-11-21
Last Updated
2016-05-11
Available Formats

XML

HTML

Plain text

Registries included below

PCP Opcodes

Expert(s)
Dan Wing, Stuart Cheshire
Reference
[RFC6887]
Available Formats

CSV
Range Registration Procedures
0-31, 127 Standards Action
32-63 Specification Required
Value Description Reference
0 ANNOUNCE [RFC6887]
1 MAP [RFC6887]
2 PEER [RFC6887]
3 AUTHENTICATION [RFC7652]
4-63 Unassigned
64-95 Reserved [RFC6887]
96-126 Reserved for Private Use [RFC6887]
127 Reserved [RFC6887]

PCP Result Codes

Expert(s)
Dan Wing, Stuart Cheshire
Reference
[RFC6887]
Available Formats

CSV
Range Registration Procedures
0-127, 255 Standards Action
128-191 Specification Required
Value Name Description Reference
0 SUCCESS Success. [RFC6887]
1 UNSUPP_VERSION The version number at the start of the PCP Request header is not recognized by this PCP server. This is a long lifetime error. [RFC6887] describes PCP version 2. [RFC6887]
2 NOT_AUTHORIZED The requested operation is disabled for this PCP client, or the PCP client requested an operation that cannot be fulfilled by the PCP server's security policy. This is a long lifetime error. [RFC6887]
3 MALFORMED_REQUEST The request could not be successfully parsed. This is a long lifetime error. [RFC6887]
4 UNSUPP_OPCODE Unsupported Opcode. This is a long lifetime error. [RFC6887]
5 UNSUPP_OPTION Unsupported Option. This error only occurs if the Option is in the mandatory-to-process range. This is a long lifetime error. [RFC6887]
6 MALFORMED_OPTION Malformed Option (e.g., appears too many times, invalid length). This is a long lifetime error. [RFC6887]
7 NETWORK_FAILURE The PCP server or the device it controls are experiencing a network failure of some sort (e.g., has not obtained an External IP address). This is a short lifetime error. [RFC6887]
8 NO_RESOURCES Request is well-formed and valid, but the server has insufficient resources to complete the requested operation at this time. For example, the NAT device cannot create more mappings at this time, is short of CPU cycles or memory, or is unable to handle the request due to some other temporary condition. The same request may succeed in the future. This is a system-wide error, different from USER_EX_QUOTA. This can be used as a catch- all error, should no other error message be suitable. This is a short lifetime error. [RFC6887]
9 UNSUPP_PROTOCOL Unsupported transport protocol, e.g. SCTP in a NAT that handles only UDP and TCP. This is a long lifetime error. [RFC6887]
10 USER_EX_QUOTA This attempt to create a new mapping would exceed this subscriber's port quota. This is a short lifetime error. [RFC6887]
11 CANNOT_PROVIDE_EXTERNAL The suggested external port and/or external address cannot be provided. This error MUST only be returned for: * MAP requests that included the PREFER_FAILURE Option (normal MAP requests will return an available external port); * MAP requests for the SCTP protocol (PREFER_FAILURE is implied); * PEER requests. See Section 13.2 of [RFC6887] for processing details. The error lifetime depends on the reason for the failure. [RFC6887]
12 ADDRESS_MISMATCH The source IP address of the request packet does not match the contents of the PCP Client's IP Address field, due to an unexpected NAT on the path between the PCP client and the PCP-controlled NAT or firewall. This is a long lifetime error. [RFC6887]
13 EXCESSIVE_REMOTE_PEERS The PCP server was not able to create the filters in this request. This result code MUST only be returned if the MAP request contained the FILTER Option. See Section 13.3 for processing information. This is a long lifetime error. [RFC6887]
14 INITIATION The client includes this PCP result code in its request to the server for authentication. [RFC7652]
15 AUTHENTICATION_REQUIRED This error response is sent to the client if EAP authentication is required. [RFC7652]
16 AUTHENTICATION_FAILED This error response is sent to the client if EAP authentication failed. [RFC7652]
17 AUTHENTICATION_SUCCEEDED This success response is sent to the client if EAP authentication succeeded. [RFC7652]
18 AUTHORIZATION_FAILED This error response is sent to the client if EAP authentication succeeded but authorization failed. [RFC7652]
19 SESSION_TERMINATED This PCP result code indicates to the partner that the PA session must be terminated. [RFC7652]
20 UNKNOWN_SESSION_ID This error response is sent from the PCP server if there is no known PA session associated with the Session ID sent in the PA request or common PCP request from the PCP client. [RFC7652]
21 DOWNGRADE_ATTACK_DETECTED This PCP result code indicates to the client that the server detected a downgrade attack. [RFC7652]
22 AUTHENTICATION_REQUEST The server indicates to the client that the PA message contains an EAP request. [RFC7652]
23 AUTHENTICATION_REPLY The client indicates to the server that the PA message contains an EAP response. [RFC7652]
24 THIRD_PARTY_ID_UNKNOWN The provided identifier in a THIRD_PARTY_ID option is unknown/unavailable to the PCP server. This is a long lifetime error. [RFC7843]
25 THIRD_PARTY_MISSING_OPTION This error occurs if both THIRD_PARTY and THIRD_PARTY_ID options are expected in a request but one option is missing. This is a long lifetime error. [RFC7843]
26 UNSUPP_THIRD_PARTY_ID_LENGTH The received option length is not supported. This is a long lifetime error. [RFC7843]
27-191 Unassigned
192-254 Reserved for Private Use [RFC6887]
255 Reserved [RFC6887]

PCP Options

Expert(s)
Dan Wing, Stuart Cheshire
Reference
[RFC6887]
Note
Values 0-127 are mandatory to process, and 128-255 are optional to process.
Available Formats

CSV
Range Registration Procedures
0-63, 127-191, 255 Standards Action
64-95, 192-223 Specification Required
Value Name Purpose Valid for Opcodes Length May Appear in Maximum Occurrences Reference
0 Reserved [RFC6887]
1 THIRD_PARTY Indicates the MAP or PEER request is for a host other than the host sending the PCP Option. MAP, PEER 16 octets Request. May appear in response only if it appeared in the associated request. 1 [RFC6887]
2 PREFER_FAILURE Indicates that the PCP server should not create an alternative mapping if the suggested external port and address cannot be mapped. MAP 0 Request. May appear in response only if it appeared in the associated request. 1 [RFC6887]
3 FILTER Specifies a filter for incoming packets. MAP 20 octets Request. May appear in response only if it appeared in the associated request. As many as fit within maximum PCP message size. [RFC6887]
4 NONCE See Section 5.3 of [RFC7652]. AUTHENTICATION 4 octets Request and response. 1 [RFC7652]
5 AUTHENTICATION_TAG See Section 5.4 of [RFC7652]. MAP, PEER, ANNOUNCE variable Request and response. 1 [RFC7652]
6 PA_AUTHENTICATION_TAG See Section 5.5 of [RFC7652]. AUTHENTICATION variable Request and response. 1 [RFC7652]
7 EAP_PAYLOAD See Section 5.6 of [RFC7652]. AUTHENTICATION variable Request and response. 1 [RFC7652]
8 PRF See Section 5.7 of [RFC7652]. AUTHENTICATION 4 octets Request and response. As many as fit within maximum PCP message size. [RFC7652]
9 MAC_ALGORITHM See Section 5.8 of [RFC7652]. AUTHENTICATION 4 octets Request and response. As many as fit within maximum PCP message size. [RFC7652]
10 SESSION_LIFETIME See Section 5.9 of [RFC7652]. AUTHENTICATION 4 octets Response. 1 [RFC7652]
11 RECEIVED_PAK See Section 5.10 of [RFC7652]. AUTHENTICATION 4 octets Request and response. 1 [RFC7652]
12 ID_INDICATOR See Section 5.11 of [RFC7652]. AUTHENTICATION variable Response. 1 [RFC7652]
13 THIRD_PARTY_ID Together with the THIRD_PARTY option, the THIRD_PARTY_ID option identifies a third party for which a request for an external IP address and port is made. MAP, PEER Variable; maximum 1016 octets. Request. May appear in response only if it appeared in the associated request. 1 [RFC7843]
14-95 Unassigned
96-126 Reserved for Private Use [RFC6887]
127 Reserved [RFC6887]
128 DESCRIPTION Used to associate a text description with a mapping. MAP, PEER variable, maximum 1016 octets. Request. May appear in response only if it appeared in the associated request. 1 [RFC7220]
129 PREFIX64 Learn the prefix used by the NAT64 to build IPv4-converted IPv6 addresses. This is used by a host for local address synthesis (e.g., when an IPv4 address is present in referrals). MAP, ANNOUNCE variable request, response 1 for a request. As many as fit within the maximum PCP message size for a response. [RFC7225]
130 PORT_SET To map sets of ports. MAP 5 bytes Request and response. 1 [RFC7753]
131-191 Unassigned
192 CHECKPOINT_REQUIRED Indicate if an entry needs to be check-pointed. MAP, PEER 0 Request and response. 1 [RFC7767]
193-223 Unassigned
224-254 Reserved for Private Use [RFC6887]
255 Reserved [RFC6887]