.. _envoy_v3_api_file_envoy/config/core/v3/address.proto: Network addresses (proto) ========================= .. _envoy_v3_api_msg_config.core.v3.Pipe: config.core.v3.Pipe ------------------- :repo:`[config.core.v3.Pipe proto] ` .. code-block:: json :force: { "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.EnvoyInternalAddress: config.core.v3.EnvoyInternalAddress ----------------------------------- :repo:`[config.core.v3.EnvoyInternalAddress proto] ` The address represents an envoy internal listener. .. _envoy_v3_api_msg_config.core.v3.SocketAddress: config.core.v3.SocketAddress ---------------------------- :repo:`[config.core.v3.SocketAddress proto] ` .. code-block:: json :force: { "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 ------------------------------------------ :repo:`[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 --------------------------- :repo:`[config.core.v3.TcpKeepalive proto] ` .. code-block:: json :force: { "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 ------------------------- :repo:`[config.core.v3.BindConfig proto] ` .. code-block:: json :force: { "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 (**repeated** :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 ---------------------- :repo:`[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 :force: { "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 ------------------------ :repo:`[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 :force: { "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. Defaults to 0 when unset.