]> git.ipfire.org Git - thirdparty/haproxy.git/commit
MEDIUM: quic: use quic-conn socket for reception
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Mon, 24 Oct 2022 15:40:37 +0000 (17:40 +0200)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 2 Dec 2022 13:45:43 +0000 (14:45 +0100)
commit5b41486b7fb331a9bc64527e1669cf9a88f0a1b3
tree4131f374ea886f3d62f6e8b3c5684938813f6564
parentdc0dcb394b4ae78243da85ce8778bc6220ac1107
MEDIUM: quic: use quic-conn socket for reception

Try to use the quic-conn socket for reception if it is allocated. For
this, the socket is inserted in the fdtab. This will call the new
handler quic_conn_io_cb() which is responsible to process the recv()
system call. It will reuse datagram dispatch for simplicity. However,
this is guaranteed to be called on the quic-conn thread, so it will be
more efficient to use a dedicated buffer. This will be implemented in
another commit.

This patch should improve performance by reducing contention on the
receiver socket. However, more gain can be obtained when the datagram
dispatch operation will be skipped.

Older quic_sock_fd_iocb() is renamed to quic_lstnr_sock_fd_iocb() to
emphasize its usage for the receiver socket.

This change is part of quic-conn owned socket implementation.
It may be backported to 2.7 after a period of observation.
include/haproxy/quic_conn-t.h
include/haproxy/quic_sock.h
src/proto_quic.c
src/quic_conn.c
src/quic_sock.c