  auto/options                            |    9 +
  src/core/ngx_connection.h               |    7 +
  src/core/ngx_core.h                     |    3 +
- src/event/ngx_event_quic.c              |  585 ++++++
+ src/event/ngx_event_quic.c              |  589 ++++++
  src/event/ngx_event_quic.h              |   49 +
  src/event/ngx_event_udp.c               |    8 +
  src/http/modules/ngx_http_ssl_module.c  |   13 +-

 src/http/ngx_http_request.h             |    3 +
 src/http/ngx_http_request_body.c        |   29 +
 src/http/ngx_http_upstream.c            |   13 +
 src/http/v3/ngx_http_v3.c               | 2196 +++++++++++++++++++++++
 src/http/v3/ngx_http_v3.h               |   77 +
 src/http/v3/ngx_http_v3_filter_module.c |   68 +
 src/http/v3/ngx_http_v3_module.c        |  286 +++
 src/http/v3/ngx_http_v3_module.h        |   34 +
 27 files changed, 3672 insertions(+), 11 deletions(-)
 create mode 100644 auto/lib/quiche/conf
 create mode 100644 auto/lib/quiche/make
 create mode 100644 src/event/ngx_event_quic.c

     if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) {
diff --git a/src/http/v3/ngx_http_v3.c b/src/http/v3/ngx_http_v3.c
new file mode 100644
index 000000000..c63d53b82
--- /dev/null
+++ b/src/http/v3/ngx_http_v3.c
@@ -0,0 +1,2204 @@
+
+/*
+ * Copyright (C) Cloudflare, Inc.
