Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2025.2

# Setting P4TARGET protocol

Set `P4TARGET` to the fully-qualified domain name or IP address of the target server The immediately upstream server for replica servers, edge servers, standby servers, proxies and brokers. See also 'upstream server' and 'central server'. from which a replica server is to retrieve its data.

You can:

- set `P4TARGET` explicitly
- use `p4 configure` to set a `P4TARGET` for each named replica server
- specify on the `p4d` command line `-t protocol:host:port`
  so that `p4d` examines its configuration for `startup.N` commands. If no valid `p4 pull` commands are found, `p4d` waits for the user to manually start a `p4 pull` command. If you omit a target, `p4d` assumes the existence of an external metadata replication source, such as `p4 replicate`. For more information, see "p4 pull vs. p4 replicate" in the p4 pull command topic.

Protocol | Behavior
--- | ---
`<not set>` | Use `tcp4:` behavior, but if the address is numeric and contains two or more colons, assume `tcp6:`. If the `net.rfc3484` configurable is set, allow the OS to determine which transport is used.
`tcp:` | Use `tcp4:` behavior, but if the address is numeric and contains two or more colons, assume `tcp6:`. If the `net.rfc3484` configurable is set, allow the OS to determine which transport is used.
`tcp4:` | Listen on/connect to an IPv4 address/port only.
`tcp6:` | Listen on/connect to an IPv6 address/port only.
`tcp46:` | Attempt to listen on/connect to an IPv4 address/port. If this fails, try IPv6.
`tcp64:` | Attempt to listen on/connect to an IPv6 address/port. If this fails, try IPv4.
`ssl:` | Use `ssl4:` behavior, but if the address is numeric and contains two or more colons, assume `ssl6:`. If the `net.rfc3484` configurable is set, allow the OS to determine which transport is used.
`ssl4:` | Listen on/connect to an IPv4 address/port only, using SSL/TLS encryption.
`ssl6:` | Listen on/connect to an IPv6 address/port only, using SSL/TLS encryption.
`ssl46:` | Attempt to listen on/connect to an IPv4 address/port. If this fails, try IPv6. After connecting, require SSL/TLS encryption.
`ssl64:` | Attempt to listen on/connect to an IPv6 address/port. If this fails, try IPv4. After connecting, require SSL/TLS encryption.

P4TARGET can be the hostname or the IP address of the host. Both IPv4 and IPv6 addresses are supported. For the `listen` setting, you can use the `*` wildcard to refer to all IP addresses, but only when you are not using CIDR notation.

If you use the `*` wildcard with an IPv6 address, you must enclose the entire IPv6 address in square brackets. For example, `[2001:db8:1:2:*]` is equivalent to `[2001:db8:1:2::]/64`. Best practice is to use CIDR notation, surround IPv6 addresses with square brackets, and avoid the `*` wildcard.

Your search for returned results