pipe mode and sendfile?

Poul-Henning Kamp phk at phk.freebsd.dk
Tue Mar 29 15:24:31 CEST 2016

In message <CANTn4cqd013==VS0X2rvoGuCDfFDn-HGsjR-+BH_gKD2FJnkag at mail.gmail.com>
, Martin Blix Grydeland writes:

>While a dumb proxy certainly has its uses, it is quite far from what
>Varnish is, and there are other tools that do the job well. Complementing
>Varnish with this functionality could be useful, but I guess this would
>count for <1% of the pipe use-cases.

Part of the H2 job is to get those 99% to stop using pipe, because
you cannot pipe from a H2 request to a H1 backend (or vice versa).

>For H2 vcl_sess{} probably has access to the HEADERS, and if the
>> PROXY offers it, also ALPN and client cert info.  This is where you
>> decide to pipe the entire connection.
>Here I don't really follow you. The HEADERS [...]

Sorry, I meant SETTINGS.

>We have the strangely named stevedore-bypass-for-pass changes that should
>take away most of the need for pipe as we know it. So getting that feature
>in becomes important, and would allow this discussion to take more innovative

I recently added the "delete as we deliver" for the backend->client direction
which was the main missing part of this, there may be some tuning left, but
please test it. (One XXX: we should alloc from Transient based on huge CL
from backend.)

Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

More information about the varnish-dev mailing list