Commit f7b31d65 authored by Dridi Boukelmoune's avatar Dridi Boukelmoune

param: Document mapping to HTTP/2 settings

With the exception of h2_max_header_list_size that is not advertised as
such despite being ent as part of the initial SETTINGS frame. The same
parameter also sees its default and maximum values updated to 2^32-1.

This is based on this sentence from rfc9113:

> The initial value of this setting is unlimited.

This aligns the h2_max_header_list_size parameter with the values set in
h2_settings.h for MAX_HEADER_LIST_SIZE.
parent af1a6983
...@@ -1219,6 +1219,12 @@ PARAM_SIMPLE( ...@@ -1219,6 +1219,12 @@ PARAM_SIMPLE(
/* flags */ WIZARD /* flags */ WIZARD
) )
#define H2_SETTING_NAME(nm) "SETTINGS_" #nm
#define H2_SETTING_DESCR(nm) \
"\n\nThe value of this parameter defines " H2_SETTING_NAME(nm) \
" in the initial SETTINGS frame sent to the client when a new " \
"HTTP2 session is established."
PARAM_SIMPLE( PARAM_SIMPLE(
/* name */ h2_header_table_size, /* name */ h2_header_table_size,
/* type */ bytes_u, /* type */ bytes_u,
...@@ -1230,6 +1236,7 @@ PARAM_SIMPLE( ...@@ -1230,6 +1236,7 @@ PARAM_SIMPLE(
"HTTP2 header table size.\n" "HTTP2 header table size.\n"
"This is the size that will be used for the HPACK dynamic\n" "This is the size that will be used for the HPACK dynamic\n"
"decoding table." "decoding table."
H2_SETTING_DESCR(HEADER_TABLE_SIZE)
) )
PARAM_SIMPLE( PARAM_SIMPLE(
...@@ -1243,6 +1250,7 @@ PARAM_SIMPLE( ...@@ -1243,6 +1250,7 @@ PARAM_SIMPLE(
"HTTP2 Maximum number of concurrent streams.\n" "HTTP2 Maximum number of concurrent streams.\n"
"This is the number of requests that can be active\n" "This is the number of requests that can be active\n"
"at the same time for a single HTTP2 connection." "at the same time for a single HTTP2 connection."
H2_SETTING_DESCR(MAX_CONCURRENT_STREAMS)
) )
/* We have a strict min at the protocol default here. This is because we /* We have a strict min at the protocol default here. This is because we
...@@ -1258,7 +1266,8 @@ PARAM_SIMPLE( ...@@ -1258,7 +1266,8 @@ PARAM_SIMPLE(
/* def */ "65535b", /* def */ "65535b",
/* units */ "bytes", /* units */ "bytes",
/* descr */ /* descr */
"HTTP2 initial flow control window size.", "HTTP2 initial flow control window size."
H2_SETTING_DESCR(INITIAL_WINDOW_SIZE)
) )
PARAM_SIMPLE( PARAM_SIMPLE(
...@@ -1270,19 +1279,23 @@ PARAM_SIMPLE( ...@@ -1270,19 +1279,23 @@ PARAM_SIMPLE(
/* units */ "bytes", /* units */ "bytes",
/* descr */ /* descr */
"HTTP2 maximum per frame payload size we are willing to accept." "HTTP2 maximum per frame payload size we are willing to accept."
H2_SETTING_DESCR(MAX_FRAME_SIZE)
) )
PARAM_SIMPLE( PARAM_SIMPLE(
/* name */ h2_max_header_list_size, /* name */ h2_max_header_list_size,
/* type */ bytes_u, /* type */ bytes_u,
/* min */ "0b", /* min */ "0b",
/* max */ NULL, /* max */ "4294967295b",
/* def */ "2147483647b", /* def */ "4294967295b",
/* units */ "bytes", /* units */ "bytes",
/* descr */ /* descr */
"HTTP2 maximum size of an uncompressed header list." "HTTP2 maximum size of an uncompressed header list."
) )
#undef H2_SETTING_DESCR
#undef H2_SETTING_NAME
#define H2_RR_INFO \ #define H2_RR_INFO \
"Changes to this parameter affect the default for new HTTP2 " \ "Changes to this parameter affect the default for new HTTP2 " \
"sessions. vmod_h2(3) can be used to adjust it from VCL." "sessions. vmod_h2(3) can be used to adjust it from VCL."
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment