P4PORT
For the the Perforce service (server, broker, or proxy), the port number to listen on and the transport protocol for binding.
For
client
applications, the protocol, host, and port number of the
Perforce
service with which to communicate. The most commonly-used communications
protocols are tcp
(plaintext over TCP/IP) or
ssl
(SSL/TLS over TCP/IP).
P4 Server
supports connectivity over IPv6 networks as well as over IPv4 networks.
You can specify whether to use IPv4 or
IPv6 addresses when resolving hostnames. The protocol settings of
tcp4
and ssl4
require IPv4 address support.
Similarly, tcp6
and ssl6
require IPv6 support.
Using tcp64
and ssl64
attempts first to resolve
the host to an IPv6 address, but will accept an IPv4 address if IPv6 is
not available.
Using tcp46
and ssl46
defaults to IPv4, but
uses IPv6 if IPv4 is unavailable.
To permit the operating system to automatically determine which transport to
use, set the net.rfc3484
configurable on user workstations or in P4CONFIG
files.
Behavior and performance of networked services depend on:
- The networking capabilities of the machine that hosts the service.
- The operating systems used by the end users.
- Your specific LAN and WAN infrastructure, and the state of IPv6 support for every router between the end user and the P4 Server.
Suppose a user is working from home with an IPv6-based home network, but the ISP or VPN provider does not fully support IPv6. Variations of P4PORT provide flexibility and backwards compatibility for administrators and users during the transition from IPv4 to IPv6:
P4PORT protocol value | Behavior in IPv4/IPv6 or mixed networks |
---|---|
|
Use |
|
Use |
|
Listen on/connect to an IPv4 address/port only. |
|
Listen on/connect to an IPv6 address/port only. |
|
Attempt to listen/connect to an IPv4 address. If this fails, try IPv6. |
|
Attempt to listen/connect to an IPv6 address. If this fails, try IPv4. |
|
Use |
|
Listen on/connect to an IPv4 address/port only, using SSL/TLS encryption. |
|
Listen on/connect to an IPv6 address/port only, using SSL/TLS encryption. |
|
Listen on/connect to an IPv4 address/port. If that fails, try IPv6. After connecting, require SSL/TLS encryption. |
|
Listen on/connect to an IPv6 address/port. If that fails, try IPv4. After connecting, require SSL/TLS encryption. |
Mixed network of IPV4 and IPV6
If the network has a mixture of IPV4 and IPV6, set the
net.rfc3484 configurable to 1
:
p4 configure set net.rfc3484=1
This ensures RFC3484-compliant behavior for users who do not
explicitly specify the protocol value. This means the user’s operating system determines whether to use IPv4 or IPv6 transport for a given connection. This feature requires that P4PORT
be set to one of the these formats:
-
example.com:1666
-
tcp:example.com:1666
-
ssl:example.com:1666
Certificates
The 2021.2 release and later handle certificates in a way that does not require p4 trust for SSL/TLS connects where the server provides a certificate that is not self-signed and can be verified by the client.
For self-signed certificates, unvalidated certificates, and clients prior to 2021.2, if you used SSL/TLS to connect to
P4 Server, the
fingerprint of the
P4 Server
needed to match the fingerprint was stored in the P4TRUST
file. When you connected to
a new
P4 Server
installation for the first time, the server’s fingerprint was displayed.
If the displayed fingerprint matched the fingerprint your administrator had assigned, you could safely
connect to the server by using the p4
trust
command to add the server to your P4TRUST
file.
Usage notes
Used by Client? | Used by Server? | Command-Line Alternative | Can be set in P4CONFIG file? |
---|---|---|---|
Yes |
Yes |
such as
|
Yes |
Value if not explicitly set
Program | Value |
---|---|
P4 Server |
|
P4 Proxy |
|
P4 CLI command-line client application |
|
Examples
P4 Server application | Service |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Notes
The format of P4PORT
for
P4 Server
applications is
,
or protocol
:host
:port
port
by itself if both the
P4 Server
application and versioning service are running on the same host. Port
numbers must be in the range 1024
through
32767
.
If you specify both an IP address and a port number in P4PORT
, the
P4 Server ignores requests from any IP addresses other than the
one specified in P4PORT
.
If you do not specify a protocol, transmissions between client applications and P4 Server are performed in plaintext and IPv4 addresses are assumed.