MINOR: global: Use a dedicated bitfield to customize zero-copy fast-forwarding
authorChristopher Faulet <cfaulet@haproxy.com>
Mon, 4 Dec 2023 13:18:50 +0000 (14:18 +0100)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 4 Dec 2023 14:31:47 +0000 (15:31 +0100)
commit7732323cf3df151d9b546f17278e1e4698fe6f63
treeb7f0507e1f86b4e28216e42d3f96bed183e7f2ba
parent37b31b2f4de8dba4b80b9ed096ea0d4afdeef2b1
MINOR: global: Use a dedicated bitfield to customize zero-copy fast-forwarding

Zero-copy fast-forwading feature is a quite new and is a bit sensitive.
There is an option to disable it globally. However, all protocols have not
the same maturity. For instance, for the PT multiplexer, there is nothing
really new. The zero-copy fast-forwading is only another name for the kernel
splicing. However, for the QUIC/H3, it is pretty new, not really optimized
and it will evolved. And soon, the support will be added for the cache
applet.

In this context, it is usefull to be able to enable/disable zero-copy
fast-forwading per-protocol and applet. And when it is applicable, on sends
or receives separately. So, instead of having one flag to disable it
globally, there is now a dedicated bitfield, global.tune.no_zero_copy_fwd.
doc/configuration.txt
include/haproxy/global-t.h
src/cfgparse-global.c
src/haproxy.c
src/stconn.c