haproxy/src
Christopher Faulet 8d46a2c973 MAJOR: h3: Implement zero-copy support to send DATA frame
When possible, we try send DATA frame without copying data. To do so, we
swap the input buffer with QCS tx buffer. It is only possible iff:

 * There is only one HTX block of data at the beginning of the message
 * Amount of data to send is equal to the size of the HTX data block
 * The QCS tx buffer is empty

In this case, both buffers are swapped. The frame metadata are written at
the begining of the buffer, before data and where the HTX structure is
stored.
2023-11-24 07:42:43 +01:00
..
acl.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
action.c MINOR: support for http-request set-timeout client 2023-09-28 08:49:22 +02:00
activity.c MINOR: activity: report profiling duration and age in "show profiling" 2023-11-14 11:46:37 +01:00
applet.c BUG/MINOR: stconn/applet: Report send activity only if there was output data 2023-11-17 15:36:43 +01:00
arg.c
auth.c
backend.c MINOR: log/balance: rename "log-sticky" to "sticky" 2023-11-23 18:21:31 +01:00
base64.c
cache.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
calltrace.c BUG/MINOR: calltrace: fix 'now' being used in place of 'date' 2023-04-27 18:14:57 +02:00
cbuf.c
cfgcond.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
cfgdiag.c
cfgparse-global.c MINOR: ext-check: add an option to preserve environment variables 2023-11-23 16:53:57 +01:00
cfgparse-listen.c Revert "MINOR: cfgparse-listen: "http-reuse" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
cfgparse-quic.c BUG/MINOR: quic: maximum window limits do not match the doc 2023-11-13 19:56:28 +01:00
cfgparse-ssl.c BUG/MINOR: ssl: load correctly @system-ca when ca-base is define 2023-10-23 22:03:55 +02:00
cfgparse-tcp.c BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line 2023-06-06 15:15:17 +02:00
cfgparse-unix.c
cfgparse.c MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01:00
channel.c MINOR: tree-wide: Only rely on co_data() to check channel emptyness 2023-10-17 18:51:13 +02:00
check.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
chunk.c MEDIUM: init: initialize the trash earlier 2023-09-08 16:25:19 +02:00
cli.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
clock.c MINOR: clock: provide a function to automatically adjust now_offset 2023-05-17 09:33:54 +02:00
compression.c MINOR: compression/slz: add support for a pure flush of pending bytes 2023-06-30 16:12:36 +02:00
connection.c MINOR: rhttp: add count of active conns per thread 2023-11-23 17:43:01 +01:00
cpuset.c REORG: cpuset: move parse_cpu_set() and parse_cpumap() to cpuset.c 2023-09-08 16:25:19 +02:00
debug.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
dgram.c MINOR: dgram: allow to set rcv/sndbuf for dgram sockets as well 2023-10-18 17:01:19 +02:00
dict.c
dns.c MEDIUM: tree-wide: Change sc API to specify required free space to progress 2023-05-05 15:44:23 +02:00
dynbuf.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
eb32sctree.c
eb32tree.c
eb64tree.c
ebimtree.c
ebistree.c
ebmbtree.c
ebpttree.c
ebsttree.c
ebtree.c
errors.c MEDIUM: errors: move the MODE_QUIET test in print_message() 2023-11-09 14:39:11 +01:00
ev_epoll.c
ev_evports.c
ev_kqueue.c
ev_poll.c
ev_select.c
event_hdl.c Revert "MAJOR: import: update mt_list to support exponential back-off" 2023-09-15 17:13:43 +02:00
extcheck.c MINOR: ext-check: add an option to preserve environment variables 2023-11-23 16:53:57 +01:00
fcgi-app.c Revert "MINOR: fcgi-app: "use-fcgi-app" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
fcgi.c BUG/MAJOR: fcgi: Fix uninitialized reserved bytes 2022-12-09 12:23:14 +01:00
fd.c BUG/MEDIUM: fd: don't wait for tmask to stabilize if we're not in it. 2023-04-13 18:04:46 +02:00
filters.c Revert "MINOR: filter: "filter" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
fix.c
flt_bwlim.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
flt_http_comp.c Revert "MINOR: flt_http_comp: "compression" requires TCP or HTTP mode" 2023-11-18 11:16:21 +01:00
flt_spoe.c MEDIUM: tree-wide: logsrv struct becomes logger 2023-10-13 10:05:06 +02:00
flt_trace.c BUG/MINOR: trace: show wall-clock date, not internal date in show activity 2023-04-27 18:22:34 +02:00
freq_ctr.c BUG/MEDIUM: freq-ctr: Don't report overshoot for long inactivity period 2023-11-08 16:38:06 +01:00
frontend.c MINOR: frontend: implement a dedicated actconn increment function 2023-10-26 15:18:48 +02:00
h1_htx.c MINOR: h1-htx: Declare successful tunnel establishment as bodyless 2023-10-04 15:34:18 +02:00
h1.c BUG/MEDIUM: h1: Ignore C-L value in the H1 parser if T-E is also set 2023-10-04 15:34:18 +02:00
h2.c MINOR: h2: Set the BODYLESS_RESP flag on the HTX start-line if necessary 2023-10-17 18:51:13 +02:00
h3_stats.c
h3.c MAJOR: h3: Implement zero-copy support to send DATA frame 2023-11-24 07:42:43 +01:00
haproxy.c MINOR: init: add info about the main program to the post_mortem struct 2023-11-23 15:39:21 +01:00
hash.c
hlua_fcn.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
hlua.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
hpack-dec.c BUG/CRITICAL: http: properly reject empty http header field names 2023-02-14 08:48:54 +01:00
hpack-enc.c
hpack-huff.c BUG/MEDIUM: hpack: fix incorrect huffman decoding of some control chars 2023-01-26 11:36:39 +01:00
hpack-tbl.c
hq_interop.c MAJOR: h3: Implement zero-copy support to send DATA frame 2023-11-24 07:42:43 +01:00
http_acl.c
http_act.c MINOR: support for http-response set-timeout 2023-10-17 08:27:33 +02:00
http_ana.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
http_client.c BUG/MEDIUM: proxy: always initialize the default settings after init 2023-11-13 09:17:05 +01:00
http_conv.c CLEANUP: assorted typo fixes in the code and comments 2023-04-01 18:33:40 +02:00
http_ext.c BUG/MINOR: http_ext: unhandled ERR_ABORT in proxy_http_parse_7239() 2023-07-06 15:41:17 +02:00
http_fetch.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
http_htx.c Revert "MINOR: http_htx/errors: prevent the use of some keywords when not in tcp/http mode" 2023-11-18 11:16:21 +01:00
http_rules.c MINOR: tree-wide: use free_acl_cond() where relevant 2023-05-11 15:37:04 +02:00
http.c MINOR: sample: Add fetcher for getting all cookie names 2023-11-03 09:57:06 +01:00
htx.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
init.c
jwt.c MINOR: jwt: Add support for RSA-PSS signatures (PS256 algorithm) 2023-03-08 10:43:04 +01:00
lb_chash.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
lb_fas.c
lb_fwlc.c
lb_fwrr.c
lb_map.c
linuxcap.c MEDIUM: capabilities: enable support for Linux capabilities 2023-08-29 11:11:50 +02:00
listener.c MINOR: listener: allow thread kw for rhttp bind 2023-11-23 17:46:00 +01:00
log.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
lru.c
mailers.c MINOR: mailers/hlua: disable email sending from lua 2023-05-05 16:28:32 +02:00
map.c BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range() 2023-11-04 07:55:37 +01:00
mjson.c BUILD: mjson: Fix warning about unused variables 2023-05-11 09:22:46 +02:00
mqtt.c
mux_fcgi.c BUG/MEDIUM: mux-fcgi: fail earlier on malloc in takeover() 2023-11-17 18:10:16 +01:00
mux_h1.c BUG/MEDIUM: mux-h1: Don't set CO_SFL_MSG_MORE flag on last fast-forward send 2023-11-23 17:30:18 +01:00
mux_h2.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
mux_pt.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
mux_quic.c MEDIUM: mux-quic: Add consumer-side fast-forwarding support 2023-11-24 07:42:43 +01:00
mworker-prog.c MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02:00
mworker.c MEDIUM: mworker: display a more accessible message when a worker crash 2023-09-05 15:31:04 +02:00
namespace.c BUG/MINOR: namespace: missing free in netns_sig_stop() 2023-06-14 11:27:29 +02:00
ncbuf.c MINOR: ncbuf: missing malloc checks in standalone code 2023-05-12 09:45:30 +02:00
pattern.c BUG/MEDIUM: pattern: don't trim pools under lock in pat_ref_purge_range() 2023-11-04 07:55:37 +01:00
payload.c MEDIUM: tree-wide: fetches that may return IPV4+IPV6 now return ADDR 2023-07-03 16:32:01 +02:00
peers.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
pipe.c
pool.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
proto_quic.c CLEANUP: Re-apply xalloc_size.cocci (3) 2023-11-06 20:49:56 +01:00
proto_rhttp.c MEDIUM: rhttp: support multi-thread active connect 2023-11-23 17:45:56 +01:00
proto_sockpair.c MEDIUM: proto: duplicate receivers marked RX_F_MUST_DUP 2023-04-21 17:41:26 +02:00
proto_tcp.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
proto_udp.c MINOR: dgram: allow to set rcv/sndbuf for dgram sockets as well 2023-10-18 17:01:19 +02:00
proto_uxdg.c MINOR: proto_ux: ability to dump ABNS names in error messages 2023-02-23 15:05:05 +01:00
proto_uxst.c MINOR: proto: skip socket setup for duped FDs 2023-04-21 17:41:26 +02:00
protocol.c MINOR: quic+openssl_compat: Do not start without "limited-quic" 2023-08-17 15:44:03 +02:00
proxy.c MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01:00
qmux_http.c MAJOR: h3: Implement zero-copy support to send DATA frame 2023-11-24 07:42:43 +01:00
qmux_trace.c MINOR: mux-quic: add flow-control info to minimal trace level 2023-03-22 16:08:54 +01:00
qpack-dec.c BUG/MINOR: mux-quic: fix transport VS app CONNECTION_CLOSE 2023-05-09 18:42:34 +02:00
qpack-enc.c
qpack-tbl.c
queue.c MEDIUM: clock: replace timeval "now" with integer "now_ns" 2023-04-28 16:08:08 +02:00
quic_ack.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_cc_cubic.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc_newreno.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc_nocc.c MINOR: quic: Maximum congestion control window for each algo 2023-11-13 17:53:18 +01:00
quic_cc.c
quic_cli.c MINOR: quic: Dump the expiration date of the idle timer task 2023-11-17 17:31:42 +01:00
quic_conn.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_frame.c MEDIUM: quic: Heavy task mode during handshake 2023-11-09 10:32:31 +01:00
quic_loss.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_openssl_compat.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_rx.c BUG/MINOR: quic: Possible RX packet memory leak under heavy load 2023-11-22 18:03:26 +01:00
quic_sock.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_ssl.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_stats.c MINOR: quic: fix stats naming for flow control BLOCKED frames 2023-05-26 17:17:00 +02:00
quic_stream.c BUG/MINOR: mux-quic: differentiate failure on qc_stream_desc alloc 2023-05-12 16:26:20 +02:00
quic_tls.c MEDIUM: quic: Heavy task mode during handshake 2023-11-09 10:32:31 +01:00
quic_tp.c REORG: quic: cleanup traces definition 2023-10-11 14:15:31 +02:00
quic_trace.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
quic_tx.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
raw_sock.c MEDIUM: raw-sock: Specifiy amount of data to send via snd_pipe callback 2023-10-17 18:51:13 +02:00
regex.c
resolvers.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
ring.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
sample.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
server_state.c BUG/MINOR: server-state: Avoid warning on 'file not found' 2023-07-21 15:08:27 +02:00
server.c MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01:00
session.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
sha1.c
shctx.c BUG/MINOR: shctx: Remove old HA_SPIN_INIT 2023-11-17 16:56:18 +01:00
signal.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
sink.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
slz.c IMPORT: slz: implement a synchronous flush() operation 2023-06-30 16:12:36 +02:00
sock_inet.c MINOR: protocol: move the global reuseport flag to the protocols 2023-04-23 09:46:15 +02:00
sock_unix.c BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them 2023-11-20 11:38:26 +01:00
sock.c BUG/MINOR: sock: mark abns sockets as non-suspendable and always unbind them 2023-11-20 11:38:26 +01:00
ssl_ckch.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
ssl_crtlist.c MINOR: ssl: allow to change the signature algorithm for client authentication 2023-05-05 00:05:46 +02:00
ssl_ocsp.c BUG/MINOR: ssl: Fix potential leak in cli_parse_update_ocsp_response 2023-03-31 09:10:36 +02:00
ssl_sample.c MEDIUM: ssl: new sample fetch method to get curve name 2023-07-17 15:45:41 +02:00
ssl_sock.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
ssl_utils.c BUILD: ssl: ssl_c_r_dn fetches uses functiosn only available since 1.1.1 2023-05-15 12:07:52 +02:00
stats.c MINOR: tree-wide: Only rely on co_data() to check channel emptyness 2023-10-17 18:51:13 +02:00
stconn.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
stick_table.c BUG/MINOR: proxy/stktable: missing frees on proxy cleanup 2023-11-18 11:16:21 +01:00
stream.c MINOR: stream/cli: add another filter "susp" to "show sess" 2023-11-17 19:30:07 +01:00
task.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
tcp_act.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
tcp_rules.c MINOR: log/backend: prevent tcp-{request,response} use with LOG mode 2023-11-18 11:16:21 +01:00
tcp_sample.c MINOR: sample: accept_date / request_date return %Ts / %tr timestamp values 2023-07-24 17:12:29 +02:00
tcpcheck.c MINOR: tools: make str2sa_range() directly return type hints 2023-11-10 17:49:57 +01:00
thread.c MEDIUM: cache: Use dedicated cache tree lock alongside shctx lock 2023-11-16 19:35:10 +01:00
time.c
tools.c MINOR: rhttp: large renaming to use rhttp prefix 2023-11-23 17:40:01 +01:00
trace.c BUG/MINOR: trace: fix trace parser error reporting 2023-10-19 14:45:07 +02:00
uri_auth.c
uri_normalizer.c
vars.c CLEANUP: assorted typo fixes in the code and comments 2023-11-23 16:23:14 +01:00
version.c
wdt.c BUG/MEDIUM: wdt: fix wrong thread being checked for sleeping 2023-02-17 16:01:34 +01:00
xprt_handshake.c
xprt_quic.c BUG/MAJOR: quic: complete thread migration before tcp-rules 2023-11-20 16:11:26 +01:00