Skip to main content

validate_h2_flood_knobs_http

Function validate_h2_flood_knobs_http 

Source
pub fn validate_h2_flood_knobs_http(
    patch: &UpdateHttpListenerConfig,
) -> Result<(), StateError>
Expand description

Validate all H2 flood knobs in an HTTP listener patch.

Every flood-detector knob (including stream-0 WINDOW_UPDATE) requires a value >= 1. 0 does not disable the detector — check_flood compares count > threshold, so it makes the first event that counter sees a violation, which is every request for h2_max_header_list_size and h2_max_header_fields (also the HPACK decode budget) and the first matching frame for the per-window and lifetime counters. The runtime constructor H2FloodConfig::new() clamps with .max(1) instead, but a clamp rewrites the operator’s stated value, so the control plane refuses it here.

h2_max_concurrent_streams is a connection-config knob that also requires >= 1; h2_stream_shrink_ratio requires >= 2.

h2_graceful_shutdown_deadline_seconds = 0 is intentionally allowed — it means “wait forever (no forced close after GOAWAY)”.