diff --git a/BUILD b/BUILD index 73912d9f..8e8831ea 100644 --- a/BUILD +++ b/BUILD @@ -229,6 +229,7 @@ proto_library( "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg", + "//envoy/extensions/transport_sockets/quic/v3:pkg", "//envoy/extensions/transport_sockets/raw_buffer/v3:pkg", "//envoy/extensions/transport_sockets/tap/v3:pkg", "//envoy/extensions/transport_sockets/tls/v3:pkg", diff --git a/envoy/extensions/transport_sockets/quic/v3/BUILD b/envoy/extensions/transport_sockets/quic/v3/BUILD new file mode 100644 index 00000000..e95e504f --- /dev/null +++ b/envoy/extensions/transport_sockets/quic/v3/BUILD @@ -0,0 +1,12 @@ +# DO NOT EDIT. This file is generated by tools/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = [ + "//envoy/extensions/transport_sockets/tls/v3:pkg", + "@com_github_cncf_udpa//udpa/annotations:pkg", + ], +) diff --git a/envoy/extensions/transport_sockets/quic/v3/quic_transport.proto b/envoy/extensions/transport_sockets/quic/v3/quic_transport.proto new file mode 100644 index 00000000..b17e2262 --- /dev/null +++ b/envoy/extensions/transport_sockets/quic/v3/quic_transport.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package envoy.extensions.transport_sockets.quic.v3; + +import "envoy/extensions/transport_sockets/tls/v3/tls.proto"; + +import "udpa/annotations/status.proto"; +import "udpa/annotations/versioning.proto"; +import "validate/validate.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.transport_sockets.quic.v3"; +option java_outer_classname = "QuicTransportProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = ACTIVE; + +// [#protodoc-title: quic transport] +// [#extension: envoy.transport_sockets.quic] + +// Configuration for Downstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. +message QuicDownstreamTransport { + tls.v3.DownstreamTlsContext downstream_tls_context = 1 + [(validate.rules).message = {required: true}]; +} + +// Configuration for Upstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. +message QuicUpstreamTransport { + tls.v3.UpstreamTlsContext upstream_tls_context = 1 [(validate.rules).message = {required: true}]; +} diff --git a/envoy/extensions/transport_sockets/quic/v4alpha/BUILD b/envoy/extensions/transport_sockets/quic/v4alpha/BUILD new file mode 100644 index 00000000..47c94aa7 --- /dev/null +++ b/envoy/extensions/transport_sockets/quic/v4alpha/BUILD @@ -0,0 +1,13 @@ +# DO NOT EDIT. This file is generated by tools/proto_sync.py. + +load("@envoy_api//bazel:api_build_system.bzl", "api_proto_package") + +licenses(["notice"]) # Apache 2 + +api_proto_package( + deps = [ + "//envoy/extensions/transport_sockets/quic/v3:pkg", + "//envoy/extensions/transport_sockets/tls/v4alpha:pkg", + "@com_github_cncf_udpa//udpa/annotations:pkg", + ], +) diff --git a/envoy/extensions/transport_sockets/quic/v4alpha/quic_transport.proto b/envoy/extensions/transport_sockets/quic/v4alpha/quic_transport.proto new file mode 100644 index 00000000..255bfe62 --- /dev/null +++ b/envoy/extensions/transport_sockets/quic/v4alpha/quic_transport.proto @@ -0,0 +1,35 @@ +syntax = "proto3"; + +package envoy.extensions.transport_sockets.quic.v4alpha; + +import "envoy/extensions/transport_sockets/tls/v4alpha/tls.proto"; + +import "udpa/annotations/status.proto"; +import "udpa/annotations/versioning.proto"; +import "validate/validate.proto"; + +option java_package = "io.envoyproxy.envoy.extensions.transport_sockets.quic.v4alpha"; +option java_outer_classname = "QuicTransportProto"; +option java_multiple_files = true; +option (udpa.annotations.file_status).package_version_status = NEXT_MAJOR_VERSION_CANDIDATE; + +// [#protodoc-title: quic transport] +// [#extension: envoy.transport_sockets.quic] + +// Configuration for Downstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. +message QuicDownstreamTransport { + option (udpa.annotations.versioning).previous_message_type = + "envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport"; + + tls.v4alpha.DownstreamTlsContext downstream_tls_context = 1 + [(validate.rules).message = {required: true}]; +} + +// Configuration for Upstream QUIC transport socket. This provides Google's implementation of Google QUIC and IETF QUIC to Envoy. +message QuicUpstreamTransport { + option (udpa.annotations.versioning).previous_message_type = + "envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport"; + + tls.v4alpha.UpstreamTlsContext upstream_tls_context = 1 + [(validate.rules).message = {required: true}]; +} diff --git a/versioning/BUILD b/versioning/BUILD index ccea9008..9f62a77d 100644 --- a/versioning/BUILD +++ b/versioning/BUILD @@ -112,6 +112,7 @@ proto_library( "//envoy/extensions/retry/host/omit_host_metadata/v3:pkg", "//envoy/extensions/retry/priority/previous_priorities/v3:pkg", "//envoy/extensions/transport_sockets/alts/v3:pkg", + "//envoy/extensions/transport_sockets/quic/v3:pkg", "//envoy/extensions/transport_sockets/raw_buffer/v3:pkg", "//envoy/extensions/transport_sockets/tap/v3:pkg", "//envoy/extensions/transport_sockets/tls/v3:pkg",