-
Notifications
You must be signed in to change notification settings - Fork 90
CONNECT/CONNECT-UDP Encapsulation Support #1379
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
base: main
Are you sure you want to change the base?
Conversation
46c5e51
to
fbe6068
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ca97948
to
eda8939
Compare
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
- Major .bazelrc update after envoyproxy/envoy#39755 - Not taking the upstream update `build:linux --action_env=BAZEL_LINKOPTS=-lm:-fuse-ld=gold` which breaks my local `ci/do_ci.sh build` with `clang-18: error: invalid linker name in argument '-fuse-ld=gold'` - `Http1PoolImpl` started taking an `OverloadManager` argument; created a `NullOverloadManager` in `NighthawkServerInstance` to be used for that Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com> Signed-off-by: asingh-g <abhisinghx@google.com>
- Major .bazelrc update after envoyproxy/envoy#39755 - Not taking the upstream update `build:linux --action_env=BAZEL_LINKOPTS=-lm:-fuse-ld=gold` which breaks my local `ci/do_ci.sh build` with `clang-18: error: invalid linker name in argument '-fuse-ld=gold'` - `Http1PoolImpl` started taking an `OverloadManager` argument; created a `NullOverloadManager` in `NighthawkServerInstance` to be used for that Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com> Signed-off-by: asingh-g <abhisinghx@google.com>
Update `ENVOY_COMMIT` and `ENVOY_SHA`. Signed-off-by: eric846 <56563761+eric846@users.noreply.github.com> Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
e9b11d7
to
87f61fe
Compare
Signed-off-by: asingh-g <100796504+asingh-g@users.noreply.github.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still need to read over source/client/process_impl.cc
and the tests, but here's some comments.
@@ -1,5 +1,7 @@ | |||
#include "source/client/process_bootstrap.h" | |||
|
|||
#include <semaphore.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use the C++ semaphore
header rather than the C semaphore.h
header, or perhaps something from Abseil's synchronization library?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I looked into std::semaphore and abseil's synchronisation libs, I am not convinced if they're meant for IPC. The pshared flag (PTHREAD_PROCESS_SHARED) in semaphore.h is what allows us to do inter process synchronisation and it looks to me that both of the alternatives use PTHREAD_PROCESS_PRIVATE
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
b0b330f
to
47d662f
Compare
Signed-off-by: asingh-g <abhisinghx@google.com>
Signed-off-by: asingh-g <abhisinghx@google.com>
To be able to load test Terminating HTTP CONNECT/CONNECT-UDP Proxies, I've implemented encapsulation by spinning up a second envoy as a subprocess and routing nighthawk's generated traffic through it.
Presently CONNECT-UDP is only supported for HTTP/2 in envoy, and CONNECT is supported for all of H1, H2 and H3 QUIC.
Therefore only following combinations are supported
H1,H2 over H1,H2,H3
and
H3 over H2
using a combination of the --protocol and --tunnel-protocol flags.