Skip to content

Commit 3a19aa5

Browse files
Proto Sync 2025-07-02
Signed-off-by: anurag.ag <[email protected]>
1 parent 9193701 commit 3a19aa5

File tree

42 files changed

+1071
-446
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1071
-446
lines changed

repositories.bzl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,10 +101,10 @@ def grpc_java_repositories(bzlmod = False):
101101
if not native.existing_rule("com_github_cncf_xds"):
102102
http_archive(
103103
name = "com_github_cncf_xds",
104-
strip_prefix = "xds-024c85f92f20cab567a83acc50934c7f9711d124",
105-
sha256 = "5f403aa681711500ca8e62387be3e37d971977db6e88616fc21862a406430649",
104+
strip_prefix = "xds-2ac532fd44436293585084f8d94c6bdb17835af0",
105+
sha256 = "790c4c83b6950bb602fec221f6a529d9f368cdc8852aae7d2592d0d04b015f37",
106106
urls = [
107-
"https://github.com/cncf/xds/archive/024c85f92f20cab567a83acc50934c7f9711d124.tar.gz",
107+
"https://github.com/cncf/xds/archive/2ac532fd44436293585084f8d94c6bdb17835af0.tar.gz",
108108
],
109109
)
110110
if not bzlmod and not native.existing_rule("com_github_grpc_grpc"):
@@ -141,10 +141,10 @@ def grpc_java_repositories(bzlmod = False):
141141
if not native.existing_rule("envoy_api"):
142142
http_archive(
143143
name = "envoy_api",
144-
sha256 = "ecf71817233eba19cc8b4ee14e126ffd5838065d5b5a92b2506258a42ac55199",
145-
strip_prefix = "data-plane-api-0bc95493c5e88b7b07e62758d23b39341813a827",
144+
sha256 = "e1c59ea08b84ad2994ccfc8d0cb6fc02358f24f659ea42dd8fc7755ff6887d01",
145+
strip_prefix = "envoy-464320b866ca5d2fddaa609a62d77d7d12f0f078/api",
146146
urls = [
147-
"https://github.com/envoyproxy/data-plane-api/archive/0bc95493c5e88b7b07e62758d23b39341813a827.tar.gz",
147+
"https://github.com/envoyproxy/envoy/archive/464320b866ca5d2fddaa609a62d77d7d12f0f078.tar.gz",
148148
],
149149
)
150150

xds/third_party/envoy/import.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
set -e
1919
# import VERSION from the google internal copybara_version.txt for Envoy
20-
VERSION=0b90f64539c88dc3d2a6792dc714e8207bce0c08
20+
VERSION=464320b866ca5d2fddaa609a62d77d7d12f0f078
2121
DOWNLOAD_URL="https://github.com/envoyproxy/envoy/archive/${VERSION}.tar.gz"
2222
DOWNLOAD_BASE_DIR="envoy-${VERSION}"
2323
SOURCE_PROTO_BASE_DIR="${DOWNLOAD_BASE_DIR}/api"
@@ -46,6 +46,7 @@ envoy/config/core/v3/http_uri.proto
4646
envoy/config/core/v3/protocol.proto
4747
envoy/config/core/v3/proxy_protocol.proto
4848
envoy/config/core/v3/resolver.proto
49+
envoy/config/core/v3/socket_cmsg_headers.proto
4950
envoy/config/core/v3/socket_option.proto
5051
envoy/config/core/v3/substitution_format_string.proto
5152
envoy/config/core/v3/udp_socket_config.proto
@@ -97,6 +98,7 @@ envoy/service/load_stats/v3/lrs.proto
9798
envoy/service/rate_limit_quota/v3/rlqs.proto
9899
envoy/service/status/v3/csds.proto
99100
envoy/type/http/v3/path_transformation.proto
101+
envoy/type/matcher/v3/address.proto
100102
envoy/type/matcher/v3/filter_state.proto
101103
envoy/type/matcher/v3/http_inputs.proto
102104
envoy/type/matcher/v3/metadata.proto

xds/third_party/envoy/src/main/proto/envoy/admin/v3/config_dump_shared.proto

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,14 @@ enum ClientResourceStatus {
3939

4040
// Client received this resource and replied with NACK.
4141
NACKED = 4;
42+
43+
// Client received an error from the control plane. The attached config
44+
// dump is the most recent accepted one. If no config is accepted yet,
45+
// the attached config dump will be empty.
46+
RECEIVED_ERROR = 5;
47+
48+
// Client timed out waiting for the resource from the control plane.
49+
TIMEOUT = 6;
4250
}
4351

4452
message UpdateFailureState {

xds/third_party/envoy/src/main/proto/envoy/config/accesslog/v3/accesslog.proto

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -152,35 +152,38 @@ message TraceableFilter {
152152
"envoy.config.filter.accesslog.v2.TraceableFilter";
153153
}
154154

155-
// Filters for random sampling of requests.
155+
// Filters requests based on runtime-configurable sampling rates.
156156
message RuntimeFilter {
157157
option (udpa.annotations.versioning).previous_message_type =
158158
"envoy.config.filter.accesslog.v2.RuntimeFilter";
159159

160-
// Runtime key to get an optional overridden numerator for use in the
161-
// ``percent_sampled`` field. If found in runtime, this value will replace the
162-
// default numerator.
160+
// Specifies a key used to look up a custom sampling rate from the runtime configuration. If a value is found for this
161+
// key, it will override the default sampling rate specified in ``percent_sampled``.
163162
string runtime_key = 1 [(validate.rules).string = {min_len: 1}];
164163

165-
// The default sampling percentage. If not specified, defaults to 0% with
166-
// denominator of 100.
164+
// Defines the default sampling percentage when no runtime override is present. If not specified, the default is
165+
// **0%** (with a denominator of 100).
167166
type.v3.FractionalPercent percent_sampled = 2;
168167

169-
// By default, sampling pivots on the header
170-
// :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` being
171-
// present. If :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`
172-
// is present, the filter will consistently sample across multiple hosts based
173-
// on the runtime key value and the value extracted from
174-
// :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`. If it is
175-
// missing, or ``use_independent_randomness`` is set to true, the filter will
176-
// randomly sample based on the runtime key value alone.
177-
// ``use_independent_randomness`` can be used for logging kill switches within
178-
// complex nested :ref:`AndFilter
179-
// <envoy_v3_api_msg_config.accesslog.v3.AndFilter>` and :ref:`OrFilter
180-
// <envoy_v3_api_msg_config.accesslog.v3.OrFilter>` blocks that are easier to
181-
// reason about from a probability perspective (i.e., setting to true will
182-
// cause the filter to behave like an independent random variable when
183-
// composed within logical operator filters).
168+
// Controls how sampling decisions are made.
169+
//
170+
// - Default behavior (``false``):
171+
//
172+
// * Uses the :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` as a consistent sampling pivot.
173+
// * When :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` is present, sampling will be consistent
174+
// across multiple hosts based on both the ``runtime_key`` and
175+
// :ref:`x-request-id<config_http_conn_man_headers_x-request-id>`.
176+
// * Useful for tracking related requests across a distributed system.
177+
//
178+
// - When set to ``true`` or :ref:`x-request-id<config_http_conn_man_headers_x-request-id>` is missing:
179+
//
180+
// * Sampling decisions are made randomly based only on the ``runtime_key``.
181+
// * Useful in complex filter configurations (like nested
182+
// :ref:`AndFilter<envoy_v3_api_msg_config.accesslog.v3.AndFilter>`/
183+
// :ref:`OrFilter<envoy_v3_api_msg_config.accesslog.v3.OrFilter>` blocks) where independent probability
184+
// calculations are desired.
185+
// * Can be used to implement logging kill switches with predictable probability distributions.
186+
//
184187
bool use_independent_randomness = 3;
185188
}
186189

@@ -257,6 +260,7 @@ message ResponseFlagFilter {
257260
in: "DF"
258261
in: "DO"
259262
in: "DR"
263+
in: "UDO"
260264
}
261265
}
262266
}];

xds/third_party/envoy/src/main/proto/envoy/config/bootstrap/v3/bootstrap.proto

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,7 @@ message Bootstrap {
5757
// If a network based configuration source is specified for :ref:`cds_config
5858
// <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.DynamicResources.cds_config>`, it's necessary
5959
// to have some initial cluster definitions available to allow Envoy to know
60-
// how to speak to the management server. These cluster definitions may not
61-
// use :ref:`EDS <arch_overview_dynamic_config_eds>` (i.e. they should be static
62-
// IP or DNS-based).
60+
// how to speak to the management server.
6361
repeated cluster.v3.Cluster clusters = 2;
6462

6563
// These static secrets can be used by :ref:`SdsSecretConfig

xds/third_party/envoy/src/main/proto/envoy/config/cluster/v3/cluster.proto

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -652,9 +652,10 @@ message Cluster {
652652
// If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
653653
// window to 0.
654654
//
655-
// Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
656-
// because merging those updates isn't currently safe. See
657-
// https://github.com/envoyproxy/envoy/pull/3941.
655+
// .. note::
656+
// Merging does not apply to cluster membership changes (e.g.: adds/removes); this is
657+
// because merging those updates isn't currently safe. See
658+
// https://github.com/envoyproxy/envoy/pull/3941.
658659
google.protobuf.Duration update_merge_window = 4;
659660

660661
// If set to true, Envoy will :ref:`exclude <arch_overview_load_balancing_excluded>` new hosts
@@ -816,12 +817,14 @@ message Cluster {
816817
string name = 1 [(validate.rules).string = {min_len: 1}];
817818

818819
// An optional alternative to the cluster name to be used for observability. This name is used
819-
// emitting stats for the cluster and access logging the cluster name. This will appear as
820+
// for emitting stats for the cluster and access logging the cluster name. This will appear as
820821
// additional information in configuration dumps of a cluster's current status as
821822
// :ref:`observability_name <envoy_v3_api_field_admin.v3.ClusterStatus.observability_name>`
822-
// and as an additional tag "upstream_cluster.name" while tracing. Note: Any ``:`` in the name
823-
// will be converted to ``_`` when emitting statistics. This should not be confused with
824-
// :ref:`Router Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
823+
// and as an additional tag "upstream_cluster.name" while tracing.
824+
//
825+
// .. note::
826+
// Any ``:`` in the name will be converted to ``_`` when emitting statistics. This should not be confused with
827+
// :ref:`Router Filter Header <config_http_filters_router_x-envoy-upstream-alt-stat-name>`.
825828
string alt_stat_name = 28 [(udpa.annotations.field_migrate).rename = "observability_name"];
826829

827830
oneof cluster_discovery_type {
@@ -942,6 +945,7 @@ message Cluster {
942945
// "envoy.filters.network.thrift_proxy". See the extension's documentation for details on
943946
// specific options.
944947
// [#next-major-version: make this a list of typed extensions.]
948+
// [#extension-category: envoy.upstream_options]
945949
map<string, google.protobuf.Any> typed_extension_protocol_options = 36;
946950

947951
// If the DNS refresh rate is specified and the cluster type is either
@@ -953,8 +957,15 @@ message Cluster {
953957
// :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
954958
// and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
955959
// this setting is ignored.
956-
google.protobuf.Duration dns_refresh_rate = 16
957-
[(validate.rules).duration = {gt {nanos: 1000000}}];
960+
// This field is deprecated in favor of using the :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>`
961+
// extension point and configuring it with :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
962+
// If :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
963+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`, this field will be ignored.
964+
google.protobuf.Duration dns_refresh_rate = 16 [
965+
deprecated = true,
966+
(validate.rules).duration = {gt {nanos: 1000000}},
967+
(envoy.annotations.deprecated_at_minor_version) = "3.0"
968+
];
958969

959970
// DNS jitter can be optionally specified if the cluster type is either
960971
// :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
@@ -965,7 +976,15 @@ message Cluster {
965976
// :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`
966977
// and :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>`
967978
// this setting is ignored.
968-
google.protobuf.Duration dns_jitter = 58;
979+
// This field is deprecated in favor of using the :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>`
980+
// extension point and configuring it with :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
981+
// If :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
982+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`, this field will be ignored.
983+
google.protobuf.Duration dns_jitter = 58 [
984+
deprecated = true,
985+
(validate.rules).duration = {gte {}},
986+
(envoy.annotations.deprecated_at_minor_version) = "3.0"
987+
];
969988

970989
// If the DNS failure refresh rate is specified and the cluster type is either
971990
// :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>`,
@@ -975,16 +994,31 @@ message Cluster {
975994
// other than :ref:`STRICT_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.STRICT_DNS>` and
976995
// :ref:`LOGICAL_DNS<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DiscoveryType.LOGICAL_DNS>` this setting is
977996
// ignored.
978-
RefreshRate dns_failure_refresh_rate = 44;
997+
// This field is deprecated in favor of using the :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>`
998+
// extension point and configuring it with :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
999+
// If :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
1000+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`, this field will be ignored.
1001+
RefreshRate dns_failure_refresh_rate = 44
1002+
[deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
9791003

9801004
// Optional configuration for setting cluster's DNS refresh rate. If the value is set to true,
9811005
// cluster's DNS refresh rate will be set to resource record's TTL which comes from DNS
9821006
// resolution.
983-
bool respect_dns_ttl = 39;
1007+
// This field is deprecated in favor of using the :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>`
1008+
// extension point and configuring it with :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
1009+
// If :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
1010+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`, this field will be ignored.
1011+
bool respect_dns_ttl = 39
1012+
[deprecated = true, (envoy.annotations.deprecated_at_minor_version) = "3.0"];
9841013

9851014
// The DNS IP address resolution policy. If this setting is not specified, the
9861015
// value defaults to
9871016
// :ref:`AUTO<envoy_v3_api_enum_value_config.cluster.v3.Cluster.DnsLookupFamily.AUTO>`.
1017+
// For logical and strict dns cluster, this field is deprecated in favor of using the
1018+
// :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>`
1019+
// extension point and configuring it with :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
1020+
// If :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
1021+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`, this field will be ignored.
9881022
DnsLookupFamily dns_lookup_family = 17 [(validate.rules).enum = {defined_only: true}];
9891023

9901024
// If DNS resolvers are specified and the cluster type is either
@@ -1024,6 +1058,9 @@ message Cluster {
10241058
// During the transition period when both ``dns_resolution_config`` and ``typed_dns_resolver_config`` exists,
10251059
// when ``typed_dns_resolver_config`` is in place, Envoy will use it and ignore ``dns_resolution_config``.
10261060
// When ``typed_dns_resolver_config`` is missing, the default behavior is in place.
1061+
// Also note that this field is deprecated for logical dns and strict dns clusters and will be ignored when
1062+
// :ref:`cluster_type<envoy_v3_api_field_config.cluster.v3.Cluster.cluster_type>` is configured with
1063+
// :ref:`DnsCluster<envoy_v3_api_msg_extensions.clusters.dns.v3.DnsCluster>`.
10271064
// [#extension-category: envoy.network.dns_resolver]
10281065
core.v3.TypedExtensionConfig typed_dns_resolver_config = 55;
10291066

@@ -1311,7 +1348,7 @@ message TrackClusterStats {
13111348

13121349
// If request_response_sizes is true, then the :ref:`histograms
13131350
// <config_cluster_manager_cluster_stats_request_response_sizes>` tracking header and body sizes
1314-
// of requests and responses will be published.
1351+
// of requests and responses will be published. Additionally, number of headers in the requests and responses will be tracked.
13151352
bool request_response_sizes = 2;
13161353

13171354
// If true, some stats will be emitted per-endpoint, similar to the stats in admin ``/clusters``

xds/third_party/envoy/src/main/proto/envoy/config/core/v3/address.proto

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ message EnvoyInternalAddress {
5050
string endpoint_id = 2;
5151
}
5252

53-
// [#next-free-field: 7]
53+
// [#next-free-field: 8]
5454
message SocketAddress {
5555
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.core.SocketAddress";
5656

@@ -97,6 +97,20 @@ message SocketAddress {
9797
// allow both IPv4 and IPv6 connections, with peer IPv4 addresses mapped into
9898
// IPv6 space as ``::FFFF:<IPv4-address>``.
9999
bool ipv4_compat = 6;
100+
101+
// Filepath that specifies the Linux network namespace this socket will be created in (see ``man 7
102+
// network_namespaces``). If this field is set, Envoy will create the socket in the specified
103+
// network namespace.
104+
//
105+
// .. note::
106+
// Setting this parameter requires Envoy to run with the ``CAP_NET_ADMIN`` capability.
107+
//
108+
// .. note::
109+
// Currently only used for Listener sockets.
110+
//
111+
// .. attention::
112+
// Network namespaces are only configurable on Linux. Otherwise, this field has no effect.
113+
string network_namespace_filepath = 7;
100114
}
101115

102116
message TcpKeepalive {

0 commit comments

Comments
 (0)