summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/haproxy/stconn-t.h1
-rw-r--r--include/haproxy/stconn.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/include/haproxy/stconn-t.h b/include/haproxy/stconn-t.h
index f418e95..c346847 100644
--- a/include/haproxy/stconn-t.h
+++ b/include/haproxy/stconn-t.h
@@ -39,6 +39,7 @@ enum iobuf_flags {
* .done_fastfwd() on consumer side must take care of this flag
*/
IOBUF_FL_EOI = 0x00000010, /* A EOI was encountered on producer side */
+ IOBUF_FL_FF_WANT_ROOM = 0x00000020, /* Producer need more room in the IOBUF to forward data */
};
/* Flags used */
diff --git a/include/haproxy/stconn.h b/include/haproxy/stconn.h
index f60eaa8..e6548a6 100644
--- a/include/haproxy/stconn.h
+++ b/include/haproxy/stconn.h
@@ -474,7 +474,7 @@ static inline size_t se_nego_ff(struct sedesc *se, struct buffer *input, size_t
if (se_fl_test(se, SE_FL_T_MUX)) {
const struct mux_ops *mux = se->conn->mux;
- se->iobuf.flags &= ~IOBUF_FL_FF_BLOCKED;
+ se->iobuf.flags &= ~(IOBUF_FL_FF_BLOCKED|IOBUF_FL_FF_WANT_ROOM);
if (mux->nego_fastfwd && mux->done_fastfwd) {
/* Disable zero-copy forwarding if EOS or an error was reported. */
if (se_fl_test(se, SE_FL_EOS|SE_FL_ERROR|SE_FL_ERR_PENDING)) {