envoy
envoy copied to clipboard
http3: happy eyeballs
Adding happy eyeballs lite for HTTP/3 when going through the grid. This will try one v4 and one v6 address if the first two addresses have differing address families.
Risk Level: medium Testing: new unit tests, e2e tests Docs Changes: inline Release Notes: inline [Optional Runtime guard:] yes
As a reminder, PRs marked as draft will not be automatically assigned reviewers, or be handled by maintainer-oncall triage.
Please mark your PR as ready when you want it to be reviewed!
CC @envoyproxy/runtime-guard-changes: FYI only for changes made to (source/common/runtime/runtime_features.cc).
@RyanTheOptimist pre-review question - I'm (mostly) calling this happy eyeballs but it's not really given it's currently doing the first v4/v6 address iff sorted correctly. Have a prefered name or is happy eyeballs with comments on limitations ok?
ok I'll just mark this ready for review =P
right now we're only attempting a second connection if the first two entries have differing families. I suspect it's worth the trouble of walking the list but want your take first.
also the coverage failure is real - I'll need to add a test of trying to create an alternate pool when it's no longer [family1][family2] once we decide what to do there https://storage.googleapis.com/envoy-pr/3891971/coverage/source/common/http/http3/conn_pool.cc.gcov.html
ok hopefully this fixes coverage, and adds the tests we discussed offline