Deadlines and retry budgets

Does Istio + Envoy provide a concept of a deadline for HTTP calls?

Via VirtualServices, we can define timeouts and retries for a particular service. However when there is a call-chain that involves multiple services, does Istio provide a deadline feature, where the originating service’s timeout is the governing window in which the call-chain has to succeed?

Under the hood, I believe Istio’s VirtualService timeout uses Envoy’s x-envoy-expected-rq-timeout-ms header, but the question is whether all the Envoy’s in the call chain, dynamically set the value while respecting the time already spent in the call, and the originating Envoy’s timeout value?

I could not find any documentation that either stated this or ruled it out - neither in Envoy’s nor in Istio’s documentation.

The closest I came was network-resilience-and-testing, but this talks about timeouts, but not deadlines.

General service mesh topics and books mention this concept, but they are not accompanied by an example.

Thank you.