]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: connection: add flag MX_FL_FRAMED to mark muxes relying on framed xprt
authorWilly Tarreau <w@1wt.eu>
Tue, 26 Apr 2022 09:54:08 +0000 (11:54 +0200)
committerWilly Tarreau <w@1wt.eu>
Fri, 20 May 2022 16:41:55 +0000 (18:41 +0200)
In order to be able to check compatibility between muxes and transport
layers, we'll need a new flag to tag muxes that work on framed transport
layers like QUIC. Only QUIC has this flag now.

include/haproxy/connection-t.h
src/connection.c
src/mux_quic.c

index ca7819616f3de6443cb9dc88437b26a6f8532002..77b43b8421d218d416879111cefd4f006c1ae439 100644 (file)
@@ -280,6 +280,7 @@ enum {
        MX_FL_HTX         = 0x00000001, /* set if it is an HTX multiplexer */
        MX_FL_HOL_RISK    = 0x00000002, /* set if the protocol is subject the to head-of-line blocking on server */
        MX_FL_NO_UPG      = 0x00000004, /* set if mux does not support any upgrade */
+       MX_FL_FRAMED      = 0x00000008, /* mux working on top of a framed transport layer (QUIC) */
 };
 
 /* PROTO token registration */
index 2ead7147002dd5f165955c1ebc05e090459cdc3f..dd1898bf925853d260d7930b1a069dca256b0c47 100644 (file)
@@ -1707,6 +1707,9 @@ void list_mux_proto(FILE *out)
                if (item->mux->flags & MX_FL_NO_UPG)
                        done |= fprintf(out, "%sNO_UPG", done ? "|" : "");
 
+               if (item->mux->flags & MX_FL_FRAMED)
+                       done |= fprintf(out, "%sFRAMED", done ? "|" : "");
+
                fprintf(out, "\n");
        }
 }
index 77bb7aea4b1aa7c2fa6d71cf0d8bab3ad90611f0..4c240c8b22dafd78f0dbf78ce94d1d9530254ac1 100644 (file)
@@ -1678,7 +1678,7 @@ static const struct mux_ops qc_ops = {
        .subscribe = qc_subscribe,
        .unsubscribe = qc_unsubscribe,
        .wake = qc_wake,
-       .flags = MX_FL_HTX|MX_FL_NO_UPG,
+       .flags = MX_FL_HTX|MX_FL_NO_UPG|MX_FL_FRAMED,
        .name = "QUIC",
 };