.. _envoy_api_file_envoy/api/v2/core/address.proto: Network addresses ================= .. _envoy_api_msg_core.Pipe: core.Pipe --------- `[core.Pipe proto] `_ .. code-block:: json { "path": "..." } .. _envoy_api_field_core.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_api_msg_core.SocketAddress: core.SocketAddress ------------------ `[core.SocketAddress proto] `_ .. code-block:: json { "protocol": "...", "address": "...", "port_value": "...", "named_port": "...", "resolver_name": "...", "ipv4_compat": "..." } .. _envoy_api_field_core.SocketAddress.protocol: protocol (:ref:`core.SocketAddress.Protocol `) .. _envoy_api_field_core.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_api_field_core.SocketAddress.port_value: port_value (`uint32 `_) Precisely one of :ref:`port_value `, :ref:`named_port ` must be set. .. _envoy_api_field_core.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_api_field_core.SocketAddress.resolver_name: resolver_name (`string `_) The name of the resolver. This must have been registered with Envoy. If this is empty, a context dependent default applies. If address is a hostname this should be set for resolution other than DNS. If the address is a concrete IP address, no resolution will occur. .. _envoy_api_field_core.SocketAddress.ipv4_compat: ipv4_compat (`bool `_) When binding to an IPv6 address above, this enables `IPv4 compatibity `_. Binding to ``::`` will allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into IPv6 space as ``::FFFF:``. .. _envoy_api_enum_core.SocketAddress.Protocol: Enum core.SocketAddress.Protocol -------------------------------- `[core.SocketAddress.Protocol proto] `_ .. _envoy_api_enum_value_core.SocketAddress.Protocol.TCP: TCP *(DEFAULT)* ⁣ .. _envoy_api_msg_core.TcpKeepalive: core.TcpKeepalive ----------------- `[core.TcpKeepalive proto] `_ .. code-block:: json { "keepalive_probes": "{...}", "keepalive_time": "{...}", "keepalive_interval": "{...}" } .. _envoy_api_field_core.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_api_field_core.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 (ie 2 hours.) .. _envoy_api_field_core.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_api_msg_core.BindConfig: core.BindConfig --------------- `[core.BindConfig proto] `_ .. code-block:: json { "source_address": "{...}", "freebind": "{...}", "socket_options": [] } .. _envoy_api_field_core.BindConfig.source_address: source_address (:ref:`core.SocketAddress `, *REQUIRED*) The address to bind to when creating a socket. .. _envoy_api_field_core.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_api_field_core.BindConfig.socket_options: socket_options (:ref:`core.SocketOption `) Additional socket options that may not be present in Envoy source code or precompiled binaries. .. _envoy_api_msg_core.Address: core.Address ------------ `[core.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_api_field_core.Address.socket_address: socket_address (:ref:`core.SocketAddress `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_api_field_core.Address.pipe: pipe (:ref:`core.Pipe `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_api_msg_core.CidrRange: core.CidrRange -------------- `[core.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_api_field_core.CidrRange.address_prefix: address_prefix (`string `_, *REQUIRED*) IPv4 or IPv6 address, e.g. ``192.0.0.0`` or ``2001:db8::``. .. _envoy_api_field_core.CidrRange.prefix_len: prefix_len (`UInt32Value `_) Length of prefix, e.g. 0, 32.