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
c50459b81a
bpf: use __builtin_memcpy explicitly to build under ubuntu 20.04
2021-08-30 18:34:26 +09:00
Tatsuhiro Tsujikawa
0e52cf76eb
bpf: Add -g flag by default
2021-08-30 18:33:27 +09:00
Tatsuhiro Tsujikawa
0baf725073
Remove unneeded include files
2021-08-30 18:32:58 +09:00
Tatsuhiro Tsujikawa
e77fd7ddb9
Build libbpf on CI
2021-08-29 22:08:42 +09:00
Tatsuhiro Tsujikawa
e5cb5dca61
Fix reuseport_kern.c to work under ubuntu 20.04
2021-08-29 21:09:27 +09:00
Tatsuhiro Tsujikawa
7941b559c5
Fix libbpf configure help message
2021-08-29 21:08:41 +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
c6f9780b1b
Add accidentally deleted BPFCFLAGS
2021-08-29 15:47:45 +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
1e75be3b5d
Find libbpf with pkg-config
2021-08-29 13:43:07 +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
23e09e3b3c
Mention libbpf-dev in README.rst
2021-08-26 22:12:54 +09:00
Tatsuhiro Tsujikawa
80c9d46b70
Update doc
2021-08-26 22:10:02 +09:00
Tatsuhiro Tsujikawa
0aa107426c
Bump QUIC flavored OpenSSL
2021-08-26 21:41:06 +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
ff389b3e97
Merge branch 'quic'
2021-08-23 18:41:35 +09:00
Tatsuhiro Tsujikawa
50fe8e7852
Check the availability of SSL_is_quic
2021-08-22 23:59:09 +09:00
Tatsuhiro Tsujikawa
cdb6d19989
Enable HTTP/3 build for cmake on CI
2021-08-22 23:54:29 +09:00