diff --git a/envoy/config/core/v3/address.proto b/envoy/config/core/v3/address.proto index df38c2f7..802e01d5 100644 --- a/envoy/config/core/v3/address.proto +++ b/envoy/config/core/v3/address.proto @@ -32,15 +32,20 @@ message Pipe { } // The address represents an envoy internal listener. -// [#comment: TODO(lambdai): Make this address available for listener and endpoint. -// TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.] +// [#comment: TODO(asraa): When address available, remove workaround from test/server/server_fuzz_test.cc:30.] message EnvoyInternalAddress { oneof address_name_specifier { option (validate.required) = true; - // [#not-implemented-hide:] The :ref:`listener name ` of the destination internal listener. + // Specifies the :ref:`name ` of the + // internal listener. string server_listener_name = 1; } + + // Specifies an endpoint identifier to distinguish between multiple endpoints for the same internal listener in a + // single upstream pool. Only used in the upstream addresses for tracking changes to individual endpoints. This, for + // example, may be set to the final destination IP for the target internal listener. + string endpoint_id = 2; } // [#next-free-field: 7] @@ -143,7 +148,8 @@ message Address { Pipe pipe = 2; - // [#not-implemented-hide:] + // Specifies a user-space address handled by :ref:`internal listeners + // `. EnvoyInternalAddress envoy_internal_address = 3; } } diff --git a/envoy/config/listener/v3/listener.proto b/envoy/config/listener/v3/listener.proto index b63a1400..b2904791 100644 --- a/envoy/config/listener/v3/listener.proto +++ b/envoy/config/listener/v3/listener.proto @@ -103,7 +103,6 @@ message Listener { } // Configuration for envoy internal listener. All the future internal listener features should be added here. - // [#not-implemented-hide:] message InternalListenerConfig { } @@ -333,24 +332,21 @@ message Listener { google.protobuf.BoolValue bind_to_port = 26; // The exclusive listener type and the corresponding config. - // TODO(lambdai): https://github.com/envoyproxy/envoy/issues/15372 - // Will create and add TcpListenerConfig. Will add UdpListenerConfig and ApiListener. - // [#not-implemented-hide:] oneof listener_specifier { // Used to represent an internal listener which does not listen on OSI L4 address but can be used by the // :ref:`envoy cluster ` to create a user space connection to. - // The internal listener acts as a tcp listener. It supports listener filters and network filter chains. - // The internal listener require :ref:`address ` has - // field `envoy_internal_address`. + // The internal listener acts as a TCP listener. It supports listener filters and network filter chains. + // Upstream clusters refer to the internal listeners by their :ref:`name + // `. :ref:`Address + // ` must not be set on the internal listeners. // - // There are some limitations are derived from the implementation. The known limitations include + // There are some limitations that are derived from the implementation. The known limitations include: // // * :ref:`ConnectionBalanceConfig ` is not - // allowed because both cluster connection and listener connection must be owned by the same dispatcher. + // allowed because both the cluster connection and the listener connection must be owned by the same dispatcher. // * :ref:`tcp_backlog_size ` // * :ref:`freebind ` // * :ref:`transparent ` - // [#not-implemented-hide:] InternalListenerConfig internal_listener = 27; }