.. _envoy_v3_api_file_envoy/config/core/v3/address.proto: Network addresses ================= .. _envoy_v3_api_msg_config.core.v3.Pipe: config.core.v3.Pipe ------------------- `[config.core.v3.Pipe proto] `_ .. code-block:: json { "path": "...", "mode": "..." } .. _envoy_v3_api_field_config.core.v3.Pipe.path: path (`string `_, *REQUIRED*) Unix Domain Socket path. On Linux, paths starting with '@' will use the abstract namespace. The starting '@' is replaced by a null byte by Envoy. Paths starting with '@' will result in an error in environments other than Linux. .. _envoy_v3_api_field_config.core.v3.Pipe.mode: mode (`uint32 `_) The mode for the Pipe. Not applicable for abstract sockets. .. _envoy_v3_api_msg_config.core.v3.SocketAddress: config.core.v3.SocketAddress ---------------------------- `[config.core.v3.SocketAddress proto] `_ .. code-block:: json { "protocol": "...", "address": "...", "port_value": "...", "named_port": "...", "resolver_name": "...", "ipv4_compat": "..." } .. _envoy_v3_api_field_config.core.v3.SocketAddress.protocol: protocol (:ref:`config.core.v3.SocketAddress.Protocol `) .. _envoy_v3_api_field_config.core.v3.SocketAddress.address: address (`string `_, *REQUIRED*) The address for this socket. :ref:`Listeners ` will bind to the address. An empty address is not allowed. Specify ``0.0.0.0`` or ``::`` to bind to any address. When used within an upstream :ref:`BindConfig `, the address controls the source address of outbound connections. For :ref:`clusters `, the cluster type determines whether the address must be an IP (*STATIC* or *EDS* clusters) or a hostname resolved by DNS (*STRICT_DNS* or *LOGICAL_DNS* clusters). Address resolution can be customized via :ref:`resolver_name `. .. _envoy_v3_api_field_config.core.v3.SocketAddress.port_value: port_value (`uint32 `_) Precisely one of :ref:`port_value `, :ref:`named_port ` must be set. .. _envoy_v3_api_field_config.core.v3.SocketAddress.named_port: named_port (`string `_) This is only valid if :ref:`resolver_name ` is specified below and the named resolver is capable of named port resolution. Precisely one of :ref:`port_value `, :ref:`named_port ` must be set. .. _envoy_v3_api_field_config.core.v3.SocketAddress.resolver_name: resolver_name (`string `_) The name of the custom resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If the address is a concrete IP address, no resolution will occur. If address is a hostname this should be set for resolution other than DNS. Specifying a custom resolver with *STRICT_DNS* or *LOGICAL_DNS* will generate an error at runtime. .. _envoy_v3_api_field_config.core.v3.SocketAddress.ipv4_compat: ipv4_compat (`bool `_) When binding to an IPv6 address above, this enables `IPv4 compatibility `_. Binding to ``::`` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ``::FFFF:``. .. _envoy_v3_api_enum_config.core.v3.SocketAddress.Protocol: Enum config.core.v3.SocketAddress.Protocol ------------------------------------------ `[config.core.v3.SocketAddress.Protocol proto] `_ .. _envoy_v3_api_enum_value_config.core.v3.SocketAddress.Protocol.TCP: TCP *(DEFAULT)* ⁣ .. _envoy_v3_api_enum_value_config.core.v3.SocketAddress.Protocol.UDP: UDP ⁣ .. _envoy_v3_api_msg_config.core.v3.TcpKeepalive: config.core.v3.TcpKeepalive --------------------------- `[config.core.v3.TcpKeepalive proto] `_ .. code-block:: json { "keepalive_probes": "{...}", "keepalive_time": "{...}", "keepalive_interval": "{...}" } .. _envoy_v3_api_field_config.core.v3.TcpKeepalive.keepalive_probes: keepalive_probes (`UInt32Value `_) Maximum number of keepalive probes to send without response before deciding the connection is dead. Default is to use the OS level configuration (unless overridden, Linux defaults to 9.) .. _envoy_v3_api_field_config.core.v3.TcpKeepalive.keepalive_time: keepalive_time (`UInt32Value `_) The number of seconds a connection needs to be idle before keep-alive probes start being sent. Default is to use the OS level configuration (unless overridden, Linux defaults to 7200s (i.e., 2 hours.) .. _envoy_v3_api_field_config.core.v3.TcpKeepalive.keepalive_interval: keepalive_interval (`UInt32Value `_) The number of seconds between keep-alive probes. Default is to use the OS level configuration (unless overridden, Linux defaults to 75s.) .. _envoy_v3_api_msg_config.core.v3.BindConfig: config.core.v3.BindConfig ------------------------- `[config.core.v3.BindConfig proto] `_ .. code-block:: json { "source_address": "{...}", "freebind": "{...}", "socket_options": [] } .. _envoy_v3_api_field_config.core.v3.BindConfig.source_address: source_address (:ref:`config.core.v3.SocketAddress `, *REQUIRED*) The address to bind to when creating a socket. .. _envoy_v3_api_field_config.core.v3.BindConfig.freebind: freebind (`BoolValue `_) Whether to set the *IP_FREEBIND* option when creating the socket. When this flag is set to true, allows the :ref:`source_address ` to be an IP address that is not configured on the system running Envoy. When this flag is set to false, the option *IP_FREEBIND* is disabled on the socket. When this flag is not set (default), the socket is not modified, i.e. the option is neither enabled nor disabled. .. _envoy_v3_api_field_config.core.v3.BindConfig.socket_options: socket_options (:ref:`config.core.v3.SocketOption `) Additional socket options that may not be present in Envoy source code or precompiled binaries. .. _envoy_v3_api_msg_config.core.v3.Address: config.core.v3.Address ---------------------- `[config.core.v3.Address proto] `_ Addresses specify either a logical or physical address and port, which are used to tell Envoy where to bind/listen, connect to upstream and find management servers. .. code-block:: json { "socket_address": "{...}", "pipe": "{...}" } .. _envoy_v3_api_field_config.core.v3.Address.socket_address: socket_address (:ref:`config.core.v3.SocketAddress `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_v3_api_field_config.core.v3.Address.pipe: pipe (:ref:`config.core.v3.Pipe `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_v3_api_msg_config.core.v3.CidrRange: config.core.v3.CidrRange ------------------------ `[config.core.v3.CidrRange proto] `_ CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a `CIDR `_ range. .. code-block:: json { "address_prefix": "...", "prefix_len": "{...}" } .. _envoy_v3_api_field_config.core.v3.CidrRange.address_prefix: address_prefix (`string `_, *REQUIRED*) IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``. .. _envoy_v3_api_field_config.core.v3.CidrRange.prefix_len: prefix_len (`UInt32Value `_) Length of prefix, e.g. 0, 32.