Tatsuhiro Tsujikawa
ef3066a1bd
nghttpx: Update doc
2021-08-31 19:24:41 +09:00
Tatsuhiro Tsujikawa
65db5b94e4
nghttpx: Document "quic" parameter
2021-08-31 19:24:41 +09:00
Tatsuhiro Tsujikawa
54fd0efdfe
nghttpx: Return error if quic param is specified when quic is disabled
2021-08-31 17:15:44 +09:00
Tatsuhiro Tsujikawa
f0d1e50d5a
cmake: Build bpf
2021-08-31 17:15:37 +09:00
Tatsuhiro Tsujikawa
e01d61484d
Fix compile error with cmake
2021-08-31 16:49:55 +09:00
Tatsuhiro Tsujikawa
51f83087f2
nghttpx: Add missing HTTP/3 timer handling
2021-08-31 14:19:31 +09:00
Tatsuhiro Tsujikawa
17012654e1
nghttpx: Add HTTP/3 graceful shutdown
2021-08-31 14:06:59 +09:00
Tatsuhiro Tsujikawa
e998d125ab
nghttpx: Send CONNECTION_CLOSE if Retry token validation failed
2021-08-31 13:23:52 +09:00
Tatsuhiro Tsujikawa
95601d3179
nghttpx: Utilize the latest ngtcp2 features
2021-08-31 12:13:06 +09:00
Tatsuhiro Tsujikawa
0566a5833b
nghttpx: Fix infinite loop
2021-08-30 18:39:28 +09:00
Tatsuhiro Tsujikawa
58d81dbc52
nghttpx: Send Stateless Reset in response to Short packet only for now
2021-08-29 21:08:41 +09:00
Tatsuhiro Tsujikawa
2b4dc4496f
nghttpx: Forward QUIC UDP datagram to lingering worker in graceful shutdown
...
Forward QUIC UDP datagram to lingering worker process which is in
graceful shutdown. Both SIGHUP and SIGUSR2 work. To make this work
correctly, eBPF is required.
2021-08-29 18:35:41 +09:00
Tatsuhiro Tsujikawa
c5e9d0096a
nghttpx: Fix crash when ConnectionHandler is deleted while doing memcached request
2021-08-29 17:17:36 +09:00
Tatsuhiro Tsujikawa
ef694923f7
Provide enum bpf_stats_type if not defined in linux/bpf.h for older kernel
2021-08-29 14:30:59 +09:00
Tatsuhiro Tsujikawa
8d02203bb6
Add LIBBPF_CFLAGS for eBPF program and nghttpx
2021-08-29 13:58:10 +09:00
Tatsuhiro Tsujikawa
7d13891066
nghttpx: Rename eBPF options
2021-08-27 21:34:18 +09:00
Tatsuhiro Tsujikawa
4292bd7ad9
nghttpx: Set max udp payload size to IPv4 minimum payload size for now
2021-08-27 21:26:50 +09:00
Tatsuhiro Tsujikawa
82cd110dbe
nghttpx: Use SHRPX_MAX_UDP_PAYLOAD_SIZE
2021-08-27 21:13:26 +09:00
Tatsuhiro Tsujikawa
d2729193c7
nghttpx: Add --frontend-http3-max-concurrent-streams option
2021-08-27 21:11:03 +09:00
Tatsuhiro Tsujikawa
87fb325357
nghttpx: Add window size options for HTTP/3 connection
2021-08-27 21:02:45 +09:00
Tatsuhiro Tsujikawa
fb8ff7b892
nghttpx: Format duration for frontend-quic-idle-timeout default value
2021-08-27 19:52:24 +09:00
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