Commit Graph

3098 Commits

Author SHA1 Message Date
Tatsuhiro Tsujikawa 5aeae7444f nghttpx: Add --frontend-quic-debug-log option 2021-08-27 19:16:25 +09:00
Tatsuhiro Tsujikawa c9b11e9fbf nghttpx: Rename --quic-idle-timeout to --frontend-quic-idle-timeout 2021-08-27 19:03:06 +09:00
Tatsuhiro Tsujikawa 0005efa508 nghttpx: --frontend-http3-read-timeout should be noop if HTTP/3 is disabled 2021-08-27 18:45:19 +09:00
Tatsuhiro Tsujikawa 6931cb9d65 nghttpx: Add --quic-idle-timeout option 2021-08-27 18:44:33 +09:00
Tatsuhiro Tsujikawa c1bcf0f11a nghttpx: Do not dump HTTP/3 header fields 2021-08-27 18:35:27 +09:00
Tatsuhiro Tsujikawa 717e7ae8b2 nghttpx: Add --frontend-http3-read-timeout option
Add --frontend-http3-read-timeout option.  QUIC idle timeout option
will be added later.
2021-08-27 18:29:06 +09:00
Tatsuhiro Tsujikawa bed00fb8e1 nghttpx: Use buf.size() 2021-08-27 18:20:17 +09:00
Tatsuhiro Tsujikawa 2010401b81 nghttpx: Send APPLICATION_CLOSE on app read timeout 2021-08-27 18:19:44 +09:00
Tatsuhiro Tsujikawa 80c9d46b70 Update doc 2021-08-26 22:10:02 +09:00
Tatsuhiro Tsujikawa 1517c77d9c h2load: Do not use legacy QUIC transport_parameters code point 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 51bf79bb8c nghttpx: Add --http2-altsvc option 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa d88eadff13 nghttpx: Make sure each quic frontend endpoint has a unique address 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 0d35e8e15e nghttpx: Do not allow quic on UNIX domain socket for now 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa a0066a1ccf nghttpx: Send NEW_TOKEN and very token from client 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 7a5082e8c4 nghttpx: Clean up confusing dcid/scid mixup 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa dfc345756c nghttpx: Send Retry packet 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 137da6adf6 nghttpx: Generate and set QUIC secrets 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 8563ec5a7a nghttpx: Add options to specify eBPF program file path and disable eBPF 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 8ac4bee3bc nghttpx: Add eBPF program to steer QUIC datagram to a correct socket 2021-08-26 21:34:49 +09:00
Tatsuhiro Tsujikawa 579fb478b5 nghttpx: Fix heap-use-after-free on initialization failure 2021-08-26 13:26:37 +09:00
Tatsuhiro Tsujikawa 33c580ebbf Forward QUIC packet to the correct worker 2021-08-23 22:21:48 +09:00
Tatsuhiro Tsujikawa 29694e2945 nghttpx: Fix build error regarding RAND_bytes 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa 9fe08d3913 nghttpx: Fix build without mruby 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa c07a0d9005 Allow HTTP/3 in cmake build 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa cbd45478e0 Cleanup flags/libs order 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa 6f243108e9 nghttpx: Fix CI build error 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa 102d960106 nghttpx: Compile without UDP_SEGMENT 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa 4eced8a393 Build without HTTP/3 support 2021-08-22 23:54:29 +09:00
Tatsuhiro Tsujikawa f46984d218 nghttpx: Enable QUIC 0RTT 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 44663a7e6e nghttpx: Handle backend reset and early response 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 446124f378 nghttpx: Process request body 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa c45f2085d5 nghttpx: Fix veccnt assertion 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 3abf62b41a nghttpx: Send stateless reset token in TP 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 9b2982510e nghttpx: Send stateless reset 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 48bb1ebe01 nghttpx: Add configuration to enable ngtcp2 logging (no cmd-line opt yet) 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa fe4c6e4c56 nghttpx: Generate stateless reset secret 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 37bd9ffc48 nghttpx: Implement http_reset_stream and http_send_stop_sending 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa b0548b4944 nghttpx: Complete HTTP request and response 2021-08-21 18:34:08 +09:00
Tatsuhiro Tsujikawa 12425556c1 nghttpx: Extend Downstream stream_id to 64 bits 2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa 3ed2da562b nghttpx: Add HTTP3 skeleton and minor SSL_CTX fix 2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa 354f46d8c5 nghttpx: Add QUIC timeouts 2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa e70f0db83c nghttpx: QUIC handshake now works 2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa 49b8c56fde nghttpx: Use existing QUIC error object 2021-08-21 18:34:07 +09:00
Tatsuhiro Tsujikawa 940fdd5573 nghttpx: Read quic packet 2021-08-21 18:34:04 +09:00
Tatsuhiro Tsujikawa ef53db201e nghttpx: Create QUIC SSL_CTX
We choose an easier route to duplicate SSL_CTX for QUIC.
2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa aeb0b0728d nghttpx: Add QUICConnectionHandler and HTTP3Upstream skeleton 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 8b2746abf1 nghttpx: Add QUICListener 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 01da060496 nghttpx: Create quic server socket 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 20cbd269c4 Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 7c2cd43dfa Compile with the latest ngtcp2 and nghttp3 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa de5feff720 Compile with the latest nghttp3 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 7342de837d Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa e914b50d16 Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa f79554f918 Count outgoing packets 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 213cc9c4b5 Enlarge receive buffer 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 05f3b8fa0f Adopt ngtcp2_crypto_recv_crypto_data_cb 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa bc53624133 Do not specify max_udp_payload_size for now 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 5944d034da Avoid std::ostringstream 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa df400feb61 make clang-format 2021-08-21 18:33:39 +09:00
Hajime Fujita 48e10c57da h2load: Add qlog output support 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 1eb818b64c QUIC UDP GSO 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa e584d9cd2e Measure the number of UDP datagrams sent and received 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 09a2e50fc2 Support both h3 and h3-29 ALPN and their corresponding QUIC versions 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 35d8ef33ef Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa f1ff2af47a Deal with 0 length HTTP data write case 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa d2d2c31ec7 Follow ngtcp2_conn_writev_stream specification change 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 95102c1c6c Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa fa8c16ae01 Compile with the latest ngtcp2 and nghttp3 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 7ca2a8213d h2load: Enable --data for HTTP/3 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 1c8e5046e5 Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 6b4be30c64 Cap --window-bits to 26 for QUIC 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 6ce952ad4a Set X25519 as default 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 5ae62dd9d7 Cap --window-bits to 23 for QUIC 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 51987107a2 Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa e4a8c4813c Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 3d708f7dc4 Compile with the latest ngtcp2 2021-08-21 18:33:39 +09:00
Tatsuhiro Tsujikawa 10ec8c9558 Compile with the latest ngtcp2 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 3900f758ea QUIC needs termination without session 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa a3346fbad8 Compile with latest ngtcp2 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 813d5e1ddf Compile with latest ngtcp2 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa acb661df72 Fix bug for platform which does not have SOCK_NONBLOCK 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 4bc7710de9 Fix compile error 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa b8c1f4f138 Compile with latest ngtcp2 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 387b67472c Compile latest ngtcp2 crypto lib 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa b2c099bac6 Use ngtcp2_conn_handle_expiry 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 1acebb1cc4 draft-28 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 8d89a8dcb0 Assert ndatalen 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa a60a34331b Revert "Ensure complete packet is written"
This reverts commit c19046b09f8e66713f0e067f986ed92d676eb6b6.
2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 749015eb86 Ensure complete packet is written 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 4b45142e72 Fix compile error with the latest ngtcp2 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 2722119776 Handle stream limit increment 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 0b61e46f95 draft-25 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 5c0da486b9 Remove unused member function declaration 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 9701e5e6e4 Fix compile error 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa a93eb8b8f5 Optimize QUIC write 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa c591ab5e6f Only count STREAM data as bytes_total 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa b3fbebed55 Use correct type 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 4621f88441 Follow ngtcp2 API update 2021-08-21 18:33:38 +09:00
Tatsuhiro Tsujikawa 747edb3a99 quic draft-24 2021-08-21 18:33:38 +09:00
Lucas Pardue 73fd20a608 Add SSLKEYLOGFILE support 2021-08-21 18:33:38 +09:00