For the Perforce service (server, broker, or proxy), the port number on which it listens, and the network transport(s) to which it is to bind.
For
Helix Server
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 over TCP/IP).
Helix Server
supports connectivity over IPv6 networks as well as over IPv4 networks.
You can specify whether you require (or prefer) 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. The opposite behavior is available with tcp46
and ssl46
; these default to the use of IPv4 if possible, and
use IPv6 if IPv4 is unavailable. A configurable,
net.rfc3484
, may be set on user workstations or in P4CONFIG
files in order to permit
the operating system to automatically determine which transport to
use.
Behavior and performance of networked services depend on:
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 encryption. |
|
Listen on/connect to an IPv6 address/port only, using SSL encryption. |
|
Listen on/connect to an IPv4 address/port. If that fails, try IPv6. After connecting, require SSL encryption. |
|
Listen on/connect to an IPv6 address/port. If that fails, try IPv4. After connecting, require SSL encryption. |
In mixed environments, it is good practice to set the net.rfc3484 configurable to 1:
$ p4 configure set net.rfc3484=1
Doing so ensures RFC3484-compliant behavior for users who do not
explicitly specify the protocol value. In other words, if the client-side
configurable net.rfc3484
is set to 1
, and
P4PORT
is set to example.com:1666
, or
tcp:example.com:1666
, or ssl:example.com:1666
,
the user’s operating system determines whether to use IPv4 or IPv6 transport for a given connection.
If you use SSL to connect to
Helix Server, the
fingerprint of the
Helix Server
must match that stored in the P4TRUST
file. (When you connect to
a new
Helix Server
installation for the first time, the server’s fingerprint is displayed.
If it matches the one your administrator has assigned it, you may safely
connect to the server by using the p4
trust
command to add the server to your P4TRUST
file.)
Used by Client? | Used by Server? | Command-Line Alternative | Can be set in P4CONFIG file? |
---|---|---|---|
Yes |
Yes |
|
Yes |
Program | Value |
---|---|
Helix Server |
|
Helix Proxy |
|
Helix Server application |
|
Helix Server application | Service |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The format of P4PORT
for
Helix Server
applications is
,
or protocol
:host
:port
port
by itself if both the
Helix 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
versioning service ignores requests from any IP addresses other than the
one specified in P4PORT
.
If you do not specify a protocol, transmissions between the Helix Server applications and the versioning service are performed in plaintext, and IPv4 addresses are assumed.