haproxy/src
Amaury Denoyelle 2c71fe58f0 MEDIUM: mux-quic: use direct send transport API for STREAMs
Modify the STREAM emission in qc_send. Use the new transport function
qc_send_app_pkts to directly send the list of constructed frames. This
allows to remove the tasklet wakeup on the quic_conn and should reduce
the latency.

If not all frames are send after the transport call, subscribe the MUX
on the lower layer to be able to retry. Currently there is a bug because
the transport layer does not retry to send frames in excess after a
successful sendto. This might cause the transfer to be interrupted.
2022-03-04 17:00:12 +01:00
..
acl.c MINOR: add ::1 to predefined LOCALHOST acl 2021-10-18 07:21:28 +02:00
action.c CLEANUP: Apply ha_free.cocci 2021-11-05 07:48:38 +01:00
activity.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
applet.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
arg.c MINOR: arg: Be able to forbid unresolved args when building an argument list 2021-09-30 16:37:05 +02:00
auth.c BUILD: auth: include missing list.h 2021-05-08 12:29:51 +02:00
backend.c CLEANUP: backend: Don't export connect_server anymore 2022-02-24 11:00:03 +01:00
base64.c BUG/MINOR: base64: base64urldec() ignores padding in output size check 2021-08-25 16:14:14 +02:00
cache.c MINOR: cache: Always access the stream-int via the conn-stream 2022-02-24 11:00:02 +01:00
calltrace.c BUILD: trace: include tools.h 2020-09-25 17:54:48 +02:00
cbuf.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
cfgcond.c MINOR: ssl: Add ssllib_name_startswith precondition 2021-10-13 11:28:08 +02:00
cfgdiag.c CLEANUP: assorted typo fixes in the code and comments 2021-04-26 10:42:58 +02:00
cfgparse-global.c MINOR: config: use a standard parser for the "nbthread" keyword 2021-09-27 09:47:40 +02:00
cfgparse-listen.c BUG/MEDIUM: sample: Cumulate frontend and backend sample validity flags 2021-10-15 14:12:19 +02:00
cfgparse-quic.c MEDIUM: quic: implement Retry emission 2022-01-12 11:08:48 +01:00
cfgparse-ssl.c BUG/MEDIUM: ssl: initialize correctly ssl w/ default-server 2021-12-29 14:42:16 +01:00
cfgparse-tcp.c MINOR: server: prepare parsing for dynamic servers 2021-03-18 15:51:12 +01:00
cfgparse-unix.c MINOR: listener: create a new struct "settings" in bind_conf 2020-09-16 20:13:13 +02:00
cfgparse.c MINOR: listener: define per-thr struct 2022-01-26 16:13:54 +01:00
channel.c MINOR: channel: add new function co_getdelim() to support multiple delimiters 2022-01-19 19:16:47 +01:00
check.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
chunk.c MINOR: pool: move pool declarations to read_mostly 2021-04-10 19:27:41 +02:00
cli.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
clock.c REORG: thread/clock: move the clock parts of thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
compression.c REORG: thread/clock: move the clock parts of thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
conn_stream.c MAJOR: check: Use a persistent conn-stream for health-checks 2022-02-24 11:00:03 +01:00
connection.c BUILD: connection: do not declare register_mux_proto() inline 2022-03-02 14:46:45 +01:00
cpuset.c BUILD: cpuset: do not use const on the source of CPU_AND/CPU_ASSIGN 2022-01-28 19:04:02 +01:00
debug.c DEBUG: reduce the footprint of BUG_ON() calls 2022-03-02 16:00:42 +01:00
dgram.c REORG: dgram: rename proto_udp to dgram 2020-06-11 10:18:59 +02:00
dict.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
dns.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
dynbuf.c REORG: thread/sched: move the last dynamic thread_info to thread_ctx 2021-10-08 17:22:26 +02:00
eb32sctree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb32tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
eb64tree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebimtree.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
ebistree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebmbtree.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
ebpttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebsttree.c REORG: ebtree: move the include files from ebtree to include/import/ 2020-06-11 09:31:11 +02:00
ebtree.c BUG/MEDIUM: ebtree: use a byte-per-byte memcmp() to compare memory blocks 2020-06-16 11:30:33 +02:00
errors.c CLEANUP: Apply xalloc_size.cocci 2021-09-17 17:22:05 +02:00
ev_epoll.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_evports.c BUILD: evports: remove a leftover from the dead_fd cleanup 2021-11-30 09:34:32 +01:00
ev_kqueue.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_poll.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
ev_select.c MINOR: activity: get the run_time from the clock updates 2021-10-08 17:22:26 +02:00
extcheck.c MINOR: proxy: Introduce proxy flags to replace disabled bitfield 2021-10-15 14:12:19 +02:00
fcgi-app.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
fcgi.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
fd.c DEBUG: fd: make sure we never try to insert/delete an impossible FD number 2022-01-31 21:00:35 +01:00
filters.c MINOR: proxy: Introduce proxy flags to replace disabled bitfield 2021-10-15 14:12:19 +02:00
fix.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
flt_http_comp.c MINOR: compression: Warn for 'compression offload' in defaults sections 2021-11-05 16:36:42 +01:00
flt_spoe.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
flt_trace.c CLEANUP: Apply ist.cocci 2021-11-08 12:08:26 +01:00
freq_ctr.c CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
frontend.c MINOR: frontend: Always access the stream-int via the conn-stream 2022-02-24 11:00:02 +01:00
h1.c BUG/MEDIUM: h1: Properly reset h1m flags when headers parsing is restarted 2021-12-02 09:46:29 +01:00
h1_htx.c BUILD: tree-wide: mark a few numeric constants as explicitly long long 2022-01-28 19:04:02 +01:00
h2.c CLEANUP: Apply ist.cocci 2021-11-08 08:05:39 +01:00
h3.c BUG/MINOR: h3/hq_interop: Fix CS and stream creation 2022-02-24 11:13:59 +01:00
haproxy.c DEBUG: move the tainted stuff to bug.h for easier inclusion 2022-02-25 11:55:38 +01:00
hash.c REORG: include: move base64.h, errors.h and hash.h from common to to haproxy/ 2020-06-11 10:18:56 +02:00
hlua.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
hlua_fcn.c BUG/MINOR: lua: don't expose internal proxies 2021-11-24 16:14:24 +01:00
hpack-dec.c CLEANUP: Use isttest(const struct ist) whenever possible 2021-03-03 05:07:10 +01:00
hpack-enc.c CLEANUP: include: tree-wide alphabetical sort of include files 2020-06-11 10:18:59 +02:00
hpack-huff.c CONTRIB: move some dev-specific tools to dev/ 2021-04-02 17:48:42 +02:00
hpack-tbl.c MINOR: pool: move pool declarations to read_mostly 2021-04-10 19:27:41 +02:00
hq_interop.c BUG/MINOR: h3/hq_interop: Fix CS and stream creation 2022-02-24 11:13:59 +01:00
http.c MINOR: http: Add 422-Unprocessable-Content error message 2021-09-28 16:21:25 +02:00
http_acl.c CLEANUP: acl: don't reference the generic pattern deletion function anymore 2020-11-05 19:27:09 +01:00
http_act.c MINOR: http-act: Always access the stream-int via the conn-stream 2022-02-24 11:00:02 +01:00
http_ana.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
http_client.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
http_conv.c BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time 2021-08-30 06:14:32 +02:00
http_fetch.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
http_htx.c CLEANUP: Apply ist.cocci 2021-11-08 12:08:26 +01:00
http_rules.c BUILD: http_rules: do not declare http_*_keywords_registre() inline 2022-03-02 14:50:38 +01:00
htx.c BUG/MEDIUM: htx: Fix a possible null derefs in htx_xfer_blks() 2022-02-28 17:16:55 +01:00
init.c CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
jwt.c BUG/MINOR: jwt: Memory leak if same key is used in multiple jwt_verify calls 2022-02-15 20:08:20 +01:00
lb_chash.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fas.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
lb_fwlc.c BUG/MEDIUM: leastconn: fix rare possibility of divide by zero 2021-09-22 07:24:02 +02:00
lb_fwrr.c CLEANUP: assorted typo fixes in the code and comments 2021-08-16 12:37:59 +02:00
lb_map.c MINOR: server: replace the pendconns-related stuff with a struct queue 2021-06-22 18:43:14 +02:00
listener.c BUG/MEDIUM: listener: read-lock the listener during accept() 2022-02-01 16:51:55 +01:00
log.c MINOR: log: Always access the stream-int via the conn-stream 2022-02-24 11:00:02 +01:00
lru.c DEBUG: lru: use a xorshift generator in the testing code 2022-01-27 16:28:10 +01:00
mailers.c BUG/MINOR: mailers: negotiate SMTP, not ESMTP 2022-02-17 15:45:59 +01:00
map.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
mjson.c MINOR: sample: converter: Add mjson library. 2021-04-15 17:05:38 +02:00
mqtt.c CLEANUP: Apply ist.cocci 2021-11-05 07:48:38 +01:00
mux_fcgi.c BUG/MEDIUM: mux-fcgi: Don't rely on SI src/dst addresses for FCGI health-checks 2022-02-28 17:16:55 +01:00
mux_h1.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
mux_h2.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
mux_pt.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
mux_quic.c MEDIUM: mux-quic: use direct send transport API for STREAMs 2022-03-04 17:00:12 +01:00
mworker-prog.c BUILD: mworker: include tools.h for platforms without unsetenv() 2022-01-28 19:04:02 +01:00
mworker.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
namespace.c REORG: include: move the error reporting functions to from log.h to errors.h 2020-06-11 10:18:59 +02:00
pattern.c CLEANUP: Add haproxy/xxhash.h to avoid modifying import/xxhash.h 2021-09-11 19:58:45 +02:00
payload.c REORG: conn_stream: move conn-stream stuff in dedicated files 2022-02-24 11:00:02 +01:00
peers.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
pipe.c CLEANUP: atomic/tree-wide: replace single increments/decrements with inc/dec 2021-04-07 18:18:37 +02:00
pool.c BUG/MEDIUM: pools: fix ha_free() on area in the process of being freed 2022-03-03 18:42:49 +01:00
proto_quic.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_sockpair.c MINOR: protocols: add a new protocol type selector 2021-10-27 17:05:36 +02:00
proto_tcp.c BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types 2021-12-06 09:11:47 +01:00
proto_udp.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
proto_uxdg.c MINOR: protocols: add a new protocol type selector 2021-10-27 17:05:36 +02:00
proto_uxst.c BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types 2021-12-06 09:11:47 +01:00
protocol.c MINOR: protocols: make use of the protocol type to select the protocol 2021-10-27 17:31:20 +02:00
proxy.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
qpack-dec.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
qpack-enc.c MINOR: h3/qpack: fix gcc11 warnings 2021-11-08 08:59:30 +01:00
qpack-tbl.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
queue.c MINOR: queue: Replace if() + abort() with BUG_ON() 2022-03-01 10:14:56 +01:00
quic_cc.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_cc_newreno.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_frame.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_sock.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
quic_tls.c MINOR: quic: implement Retry TLS AEAD tag generation 2022-01-12 11:08:48 +01:00
raw_sock.c CLEANUP: tree-wide: remove unneeded include time.h in ~20 files 2021-10-07 01:41:14 +02:00
regex.c OPTIM: regex: PCRE2 use JIT match when JIT optimisation occured. 2020-08-14 07:53:40 +02:00
resolvers.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
ring.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
sample.c BUG/MEDIUM: sample: Fix memory leak in sample_conv_jwt_member_query 2021-12-03 09:03:55 +01:00
server.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
server_state.c BUILD: server-state: avoid using not-so-portable isblank() 2022-01-28 19:04:02 +01:00
session.c MINOR: session: Rely on client source address at session level to log error 2021-10-27 11:34:21 +02:00
sha1.c BUILD: use inttypes.h instead of stdint.h 2019-04-01 07:44:56 +02:00
shctx.c MINOR: shctx: add a few BUG_ON() for consistency checks 2021-11-19 19:25:13 +01:00
signal.c CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion 2021-04-21 09:20:17 +02:00
sink.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
slz.c IMPORT: slz: use the correct CRC32 instruction when running in 32-bit mode 2021-12-06 09:14:20 +01:00
sock.c MINOR: sock: move the unused socket cleaning code into its own function 2022-01-28 19:04:02 +01:00
sock_inet.c MEDIUM: listeners: split the thread mask between receiver and bind_conf 2021-10-14 21:27:48 +02:00
sock_unix.c MEDIUM: listeners: split the thread mask between receiver and bind_conf 2021-10-14 21:27:48 +02:00
ssl_ckch.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
ssl_crtlist.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
ssl_sample.c MINOR: stream: Add pointer to front/back conn-streams into stream struct 2022-02-24 11:00:02 +01:00
ssl_sock.c MINOR: stream: Add pointer to front/back conn-streams into stream struct 2022-02-24 11:00:02 +01:00
ssl_utils.c MINOR: sample: Expose SSL captures using new fetchers 2021-08-26 19:48:34 +02:00
stats.c MEDIUM: tree-wide: Use unsafe conn-stream API when it is relevant 2022-02-28 17:13:36 +01:00
stick_table.c MEDIUM: applet: Set the conn-stream as appctx owner instead of the stream-int 2022-02-24 11:00:02 +01:00
stream.c CLEANUP: tree-wide: remove a few rare non-ASCII chars 2022-03-04 08:58:32 +01:00
stream_interface.c DEBUG: stream-int: Fix BUG_ON used to test appctx in si_applet_ops callbacks 2022-02-28 17:29:11 +01:00
task.c BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks 2022-02-14 20:10:43 +01:00
tcp_act.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
tcp_rules.c MEDIUM: tcp-rules: Eval TCP rules defined in defaults sections 2021-10-15 14:12:19 +02:00
tcp_sample.c MAJOR: stream/conn_stream: Move the stream-interface into the conn-stream 2022-02-24 11:00:03 +01:00
tcpcheck.c BUILD: tcpcheck: do not declare tcp_check_keywords_register() inline 2022-03-02 14:54:44 +01:00
thread.c MINOR: threads: add a new function to resolve config groups and masks 2021-10-08 17:22:26 +02:00
time.c REORG: time: move time-keeping code and variables to clock.c 2021-10-08 17:22:26 +02:00
tools.c BUG/MINOR: tools: url2sa reads ipv4 too far 2022-02-18 16:32:04 +01:00
trace.c BUILD: trace: do not declare trace_registre_source() inline 2022-03-02 14:53:00 +01:00
uri_auth.c CLEANUP: Compare the return value of XXXcmp() functions with zero 2021-01-04 10:09:02 +01:00
uri_normalizer.c MINOR: uri_normalizer: Add fragment-encode normalizer 2021-05-11 17:24:32 +02:00
vars.c CLEANUP: vars: move the per-process variables initialization to vars.c 2022-02-23 17:11:33 +01:00
version.c BUILD: Fix build by including haproxy/global.h 2020-06-16 23:36:04 +02:00
wdt.c REORG: thread/sched: move the thread_info flags to the thread_ctx 2021-10-08 17:22:26 +02:00
xprt_handshake.c MEDIUM: connections: Implement a start() method for xprt_handshake. 2021-03-19 15:33:04 +01:00
xprt_quic.c MINOR: mux-quic: refactor transport parameters init 2022-03-04 17:00:12 +01:00