Network addresses

core.Pipe

[core.Pipe proto]

{
  "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.

core.SocketAddress

[core.SocketAddress proto]

{
  "protocol": "...",
  "address": "...",
  "port_value": "...",
  "named_port": "...",
  "resolver_name": "...",
  "ipv4_compat": "..."
}
protocol
(core.SocketAddress.Protocol)
address
(string, REQUIRED) The address for this socket. Listeners will bind to the address or outbound connections will be made. An empty address is not allowed, specify 0.0.0.0 or :: to bind any. It’s still possible to distinguish on an address via the prefix/suffix matching in FilterChainMatch after connection. For clusters, an address may be either an IP or hostname to be resolved via DNS. If it is a hostname, resolver_name should be set unless default (i.e. DNS) resolution is expected.
port_value

(uint32)

Precisely one of port_value, named_port must be set.

named_port

(string) This is only valid if resolver_name is specified below and the named resolver is capable of named port resolution.

Precisely one of port_value, named_port must be set.

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.
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:<IPv4-address>.

Enum core.SocketAddress.Protocol

[core.SocketAddress.Protocol proto]

TCP
(DEFAULT)

core.BindConfig

[core.BindConfig proto]

{
  "source_address": "{...}"
}
source_address
(core.SocketAddress, REQUIRED) The address to bind to when creating a socket.

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.

{
  "socket_address": "{...}",
  "pipe": "{...}"
}
socket_address

(core.SocketAddress)

Precisely one of socket_address, pipe must be set.

pipe

(core.Pipe)

Precisely one of socket_address, pipe must be set.

core.CidrRange

[core.CidrRange proto]

CidrRange specifies an IP Address and a prefix length to construct the subnet mask for a CIDR range.

{
  "address_prefix": "...",
  "prefix_len": "{...}"
}
address_prefix
(string, REQUIRED) IPv4 or IPv6 address, e.g. 192.0.0.0 or 2001:db8::.
prefix_len
(UInt32Value) Length of prefix, e.g. 0, 32.