-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Connectivity grid for upstream connections #15649
Labels
Comments
mattklein123
added
area/quic
help wanted
Needs help!
and removed
enhancement
Feature requests. Not bugs or questions.
labels
Mar 24, 2021
alyssawilk
added a commit
that referenced
this issue
Mar 30, 2021
Naive connectivity grid, which works for TCP/UDP and only does serial connections. Risk Level: n/a (unused code) Testing: new unit tests Docs Changes: n/a Release Notes: n/a Part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
This was referenced Mar 30, 2021
Merged
alyssawilk
added a commit
that referenced
this issue
Apr 1, 2021
Adding trace logs to the connectivity grid Risk Level: n/a (adding an accessor to connection pools) Testing: new unit tests Part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
alyssawilk
added a commit
that referenced
this issue
Apr 5, 2021
Risk Level: n/a (not used in prod) Testing: unit tests Docs Changes: n/a Part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
alyssawilk
added a commit
that referenced
this issue
Apr 6, 2021
Turning up http2 upstream tests for http3. Risk Level: n/a (test only) Testing: yes Docs Changes: n/a Release Notes: n/a Part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
RyanTheOptimist
added a commit
to RyanTheOptimist/envoy
that referenced
this issue
Apr 7, 2021
…nvoyproxy#15649) Signed-off-by: Ryan Hamilton <rch@google.com>
alyssawilk
pushed a commit
that referenced
this issue
Apr 8, 2021
…15649) (#15881) Make the failover timeout a constructor argument of ConnectionGrid (#5649) Commit Message: make the failover timeout a constructor argument of ConnectionGrid Additional Description: Risk Level: low Testing: unit test ConnectivityGridTest.TimeoutThenSuccessParallelSecondConnects Docs Changes: N/A Release Notes: N/A Platform Specific Features: Signed-off-by: Ryan Hamilton <rch@google.com>
alyssawilk
added a commit
that referenced
this issue
Apr 8, 2021
Handle when newStream immediately connects/fails. In this case, all the wrappers should be immediately deleted, and return nullptr rather than returning wrappers. Risk Level: n/a (code unused) Testing: new unit tests Docs Changes: n/a Release Notes: n/a Part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
alyssawilk
added a commit
that referenced
this issue
May 6, 2021
Addressing a TODO for upstream quic crypto. The clientContextConfig looks safe to access, as it does not reload, but QUIC was using the context to create a fresh Tls::ClientContextImpl per connection instead of reusing the factory built shared Ssl::ClientContextSharedPtr. This PR moves it to the ssl shared pointer. Risk Level: low (mostly H3 only) Testing: n/a (refactor) Docs Changes: n/a Release Notes: n/a part of #15649 Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
alyssawilk
pushed a commit
that referenced
this issue
May 6, 2021
Allow the ConnectivityGrid to take an optional AlternateProtocolsCache and use that for deciding if HTTP/3 should be enabled. Rename AlternateProtocols to AlternateProtocolsCache. Use uint32_t instead of int for ports in AlternateProtocolsCache to match other code in Envoy. Follow up PRs will make the AlternateProtocolsCache mandatory and will plumb it in from the ClusterManager, based on the config. Risk Level: Low Testing: new unit tests Docs Changes: N/A Release Notes: N/A Platform Specific Features: N/A Part of #15649 Signed-off-by: Ryan Hamilton <rch@google.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
As #14829 nears completion we need to have support in Envoy for trying QUIC connections and failing over to TCP. This sort of "try something and fail over" is also needed for mobile and dynamic forward proxy for ipv6 vs ipv4, and for mobile cellular vs wifi so we need something which can at worst handle the full grid of [QUIC vs TCP][IPv4 vs IPv4][cellular vs wifi]
The plan of record is to have a connection pool which seamlessly tries one after another, hiding the complexity from both the TCP proxy code and the router, and just selects the best available connection and uses it.
The text was updated successfully, but these errors were encountered: