.. _envoy_api_file_api/address.proto: Network addresses ================= .. NOTE:: **v2 API difference**: Addresses now have .proto structure. .. _envoy_api_msg_Pipe: Pipe ---- `[Pipe proto] `_ .. code-block:: json { "path": "..." } .. _envoy_api_field_Pipe.path: path (`string `_, *REQUIRED*) Unix Domain Socket path. .. _envoy_api_msg_SocketAddress: SocketAddress ------------- `[SocketAddress proto] `_ .. code-block:: json { "protocol": "...", "address": "...", "port_value": "...", "named_port": "...", "resolver_name": "..." } .. _envoy_api_field_SocketAddress.protocol: protocol (:ref:`SocketAddress.Protocol `) .. _envoy_api_field_SocketAddress.address: address (`string `_) The address for this socket. :ref:`Listeners ` will bind to the address or outbound connections will be made. An empty address implies a bind to 0.0.0.0 or ::. It's still possible to distinguish on an address via the prefix/suffix matching in FilterChainMatch after connection. For :ref:`clusters `, an address may be either an IP or hostname to be resolved via DNS. If it is a hostname, :ref:`resolver_name ` should be set unless default (i.e. DNS) resolution is expected. .. _envoy_api_field_SocketAddress.port_value: port_value (`uint32 `_) Precisely one of :ref:`port_value `, :ref:`named_port ` must be set. .. _envoy_api_field_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_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_enum_SocketAddress.Protocol: Enum SocketAddress.Protocol --------------------------- `[SocketAddress.Protocol proto] `_ .. _envoy_api_enum_value_SocketAddress.Protocol.TCP: TCP *(DEFAULT)* ⁣ .. _envoy_api_msg_BindConfig: BindConfig ---------- `[BindConfig proto] `_ .. code-block:: json { "source_address": "{...}" } .. _envoy_api_field_BindConfig.source_address: source_address (:ref:`SocketAddress `, *REQUIRED*) The address to bind to when creating a socket. .. _envoy_api_msg_Address: Address ------- `[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_Address.socket_address: socket_address (:ref:`SocketAddress `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_api_field_Address.pipe: pipe (:ref:`Pipe `) Precisely one of :ref:`socket_address `, :ref:`pipe ` must be set. .. _envoy_api_msg_CidrRange: CidrRange --------- `[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_CidrRange.address_prefix: address_prefix (`string `_, *REQUIRED*) IPv4 or IPv6 address, e.g. 192.0.0.0 or 2001:db8::. .. _envoy_api_field_CidrRange.prefix_len: prefix_len (`UInt32Value `_) Length of prefix, e.g. 0, 32.