[PATCH 0 of 6] QUIC packet routing improvements

2022-12-09 Thread Roman Arutyunyan
Tha patchset addresses the packet routing problem in current QUIC implementation. The problem is how to route a QUIC datagram to the right nginx worker. The simplest and currently available solution is to use SO_REUSEPORT (SO_REUSEPORT_LB in FreeBSD) socket option, which allows to route a packet

[PATCH 1 of 6] QUIC: ignore server address while looking up a connection

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670322119 0 # Tue Dec 06 10:21:59 2022 + # Branch quic # Node ID 1038d7300c29eea02b47eac3f205e293b1e55f5b # Parent b87a0dbc1150f415def5bc1e1f00d02b33519026 QUIC: ignore server address while looking up a connection. The server connecti

[PATCH 2 of 6] QUIC: handle datagrams directly in ngx_quic_recvmsg()

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670428292 0 # Wed Dec 07 15:51:32 2022 + # Branch quic # Node ID 8a7f2c71db202141d169f3ab292027bfc16ff8ec # Parent 1038d7300c29eea02b47eac3f205e293b1e55f5b QUIC: handle datagrams directly in ngx_quic_recvmsg(). Previously, ngx_quic_re

[PATCH 6 of 6] QUIC: client sockets

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670509141 0 # Thu Dec 08 14:19:01 2022 + # Branch quic # Node ID 779035cf3e1c7886d06e5d5295943f425f4aac60 # Parent afbac4ba4c75023e10e68bae39df5b1a0fdbd17b QUIC: client sockets. In client sockets mode, a new socket is created for each

[PATCH 5 of 6] QUIC: eBPF worker sockets

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670494771 0 # Thu Dec 08 10:19:31 2022 + # Branch quic # Node ID afbac4ba4c75023e10e68bae39df5b1a0fdbd17b # Parent de8bcaea559d151f5945d0a2e06c61b56a26a52b QUIC: eBPF worker sockets. For each nginx worker, a worker socket is created.

[PATCH 3 of 6] QUIC: eliminated timeout handling in listen connection read event

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670428974 0 # Wed Dec 07 16:02:54 2022 + # Branch quic # Node ID b5c30f16ec8ba3ace2f58d77d294d9b355bf3267 # Parent 8a7f2c71db202141d169f3ab292027bfc16ff8ec QUIC: eliminated timeout handling in listen connection read event. The timeout

[PATCH 4 of 6] QUIC: never disable QUIC socket events

2022-12-09 Thread Roman Arutyunyan
# HG changeset patch # User Roman Arutyunyan # Date 1670256830 0 # Mon Dec 05 16:13:50 2022 + # Branch quic # Node ID de8bcaea559d151f5945d0a2e06c61b56a26a52b # Parent b5c30f16ec8ba3ace2f58d77d294d9b355bf3267 QUIC: never disable QUIC socket events. Unlike TCP accept(), current QUIC impl