[6.0] 99a3ac45b Panic H2 local and remote settings

Dridi Boukelmoune dridi.boukelmoune at gmail.com
Wed Oct 18 09:21:08 UTC 2023


commit 99a3ac45b030cfd2fef0307a3c77b53de7d489ee
Author: Martin Blix Grydeland <martin at varnish-software.com>
Date:   Wed May 19 14:42:41 2021 +0200

    Panic H2 local and remote settings

diff --git a/bin/varnishd/http2/cache_http2_panic.c b/bin/varnishd/http2/cache_http2_panic.c
index a64dae674..d41eb3b49 100644
--- a/bin/varnishd/http2/cache_http2_panic.c
+++ b/bin/varnishd/http2/cache_http2_panic.c
@@ -43,6 +43,20 @@ h2_panic_error(const struct h2_error_s *e)
 		return (e->name);
 }
 
+static void
+h2_panic_settings(struct vsb *vsb, const struct h2_settings *s)
+{
+	int cont = 0;
+
+#define H2_SETTING(U,l,...)			\
+	if (cont)				\
+		VSB_printf(vsb, ", ");		\
+	cont = 1;				\
+	VSB_printf(vsb, "0x%x", s->l);
+#include "tbl/h2_settings.h"
+#undef H2_SETTING
+}
+
 void
 h2_sess_panic(struct vsb *vsb, const struct sess *sp)
 {
@@ -63,6 +77,12 @@ h2_sess_panic(struct vsb *vsb, const struct sess *sp)
 	    "open_streams = %d, highest_stream = %u,"
 	    " goaway_last_stream = %u,\n",
 	    h2->open_streams, h2->highest_stream, h2->goaway_last_stream);
+	VSB_printf(vsb, "local_settings = {");
+	h2_panic_settings(vsb, &h2->local_settings);
+	VSB_printf(vsb, "},\n");
+	VSB_printf(vsb, "remote_settings = {");
+	h2_panic_settings(vsb, &h2->remote_settings);
+	VSB_printf(vsb, "},\n");
 	VSB_printf(vsb,
 	    "{rxf_len, rxf_type, rxf_flags, rxf_stream} ="
 	    " {%u, %u, 0x%x, %u},\n",


More information about the varnish-commit mailing list