# xDS Features in gRPC
This document lists the [xDS ](https://github.com/envoyproxy/data-plane-api/tree/master/envoy/api/v2 )
features supported in various gRPC language implementations and versions.
Note that a gRPC client will simply ignore the configuration of a feature it
does not support. The gRPC client does not generate a log
to indicate that some configuration was ignored. It is impractical to generate
a log and keep it up-to-date because xDS has a large number of APIs that gRPC
does not support and the APIs keep evolving too. We recommend reading the
[first gRFC ](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md )
on xDS support in gRPC to understand the design philosophy.
The EDS policy will *not* support
[overprovisioning ](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/overprovisioning ),
which is different from Envoy. Envoy takes the overprovisioning into
account in both [locality-weighted load balancing ](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/locality_weight )
and [priority failover ](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/load_balancing/priority ),
but gRPC assumes that the xDS server will update it to redirect traffic
when this kind of graceful failover is needed. gRPC will send the
[`envoy.lb.does_not_support_overprovisioning` client
feature](https://github.com/envoyproxy/envoy/pull/10136) to the xDS
server to tell the xDS server that it will not perform graceful failover;
xDS server implementations may use this to decide whether to perform
graceful failover themselves.
The EDS policy will not support per-endpoint stats; it will report only
per-locality stats.
An [`lb_endpoint` ](https://github.com/envoyproxy/envoy/blob/12a4bc430eaf440ceb0d11286cfbd4c16b79cdd1/api/envoy/api/v2/endpoint/endpoint_components.proto#L72 )
is ignored if the `health_status` is not HEALTHY or UNKNOWN.
The optional `load_balancing_weight` is always ignored.
Initially, only `google_default` channel creds will be supported
to authenticate with the xDS server.
Features | gRFCs | [C++, Python,<br> Ruby, PHP, C# ](https://github.com/grpc/grpc/releases ) | [Java ](https://github.com/grpc/grpc-java/releases ) | [Go ](https://github.com/grpc/grpc-go/releases )
---------|--------|--------------|------|------
**xDS Infrastructure in gRPC client channel:**< br > LDS->RDS->CDS->EDS flow,< br > ADS stream, | [A27 ](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md ) | v1.30.0 | v1.30.0 | v1.30.0 |
**Load Balancing:**< br > Virtual host matching,< br > Only default path ("" or "/") matching,< br > Priority-based weighted round-robin locality picking,< br > Round-robin endpoint picking within locality,< br > Cluster route action,< br > Client-side Load reporting via [LRS ](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/service/load_stats/v2/lrs.proto )| [A27 ](https://github.com/grpc/proposal/blob/master/A27-xds-global-load-balancing.md ) | v1.30.0 | v1.30.0 | v1.30.0 |