← Commit list

446dae5bfe

Stefan Eissing
Stefan Eissing
2025-10-29
SUCCESS Duration: 147s

Subject

ngtcp2: overwrite rate-limits defaults

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/vquic/curl_ngtcp2.c+4 -16
@@ -457,17 +457,6 @@ static void quic_settings(struct cf_ngtcp2_ctx *ctx,
struct Curl_easy *data,
struct pkt_io_ctx *pktx)
{
-#ifdef NGTCP2_SETTINGS_V2x
-static uint16_t mtu_probes[] = {
- 1472, /* what h2o offers */
- 1452, /* what Caddy offers */
- 1454 - 48, /* The well known MTU used by a domestic optic fiber
- service in Japan. */
- 1390 - 48, /* Typical Tunneled MTU */
- 1280 - 48, /* IPv6 minimum MTU */
- 1492 - 48, /* PPPoE */
-};
-#endif
ngtcp2_settings *s = &ctx->settings;
ngtcp2_transport_params *t = &ctx->transport_params;
@@ -485,12 +474,11 @@ static uint16_t mtu_probes[] = {
s->max_window = 100 * ctx->max_stream_window;
s->max_stream_window = 10 * ctx->max_stream_window;
s->no_pmtud = FALSE;
-#ifdef NGTCP2_SETTINGS_V2x
- s->pmtud_probes = mtu_probes;
- s->pmtud_probeslen = CURL_ARRAYSIZE(mtu_probes);
- s->max_tx_udp_payload_size = 64 * 1024; /* mtu_probes[0]; */
+#ifdef NGTCP2_SETTINGS_V3
+ /* try ten times the ngtcp2 defaults here for problems with Caddy */
+ s->glitch_ratelim_burst = 1000 * 10;
+ s->glitch_ratelim_rate = 33 * 10;
#endif
-
t->initial_max_data = 10 * ctx->max_stream_window;
t->initial_max_stream_data_bidi_local = ctx->max_stream_window;
t->initial_max_stream_data_bidi_remote = ctx->max_stream_window;
tests/http/test_08_caddy.py+0 -3
@@ -108,7 +108,6 @@ class TestCaddy:
# download 5MB files sequentially
@pytest.mark.skipif(condition=Env().slow_network, reason="not suitable for slow network tests")
- @pytest.mark.skipif(condition=Env().ci_run, reason="not suitable for CI runs")
@pytest.mark.parametrize("proto", ['h2', 'h3'])
def test_08_04a_download_10mb_sequential(self, env: Env, caddy: Caddy, proto):
if proto == 'h3' and not env.have_h3_curl():
@@ -121,7 +120,6 @@ class TestCaddy:
# download 10MB files sequentially
@pytest.mark.skipif(condition=Env().slow_network, reason="not suitable for slow network tests")
- @pytest.mark.skipif(condition=Env().ci_run, reason="not suitable for CI runs")
@pytest.mark.parametrize("proto", ['h2', 'h3'])
def test_08_04b_download_10mb_sequential(self, env: Env, caddy: Caddy, proto):
if proto == 'h3' and not env.have_h3_curl():
@@ -135,7 +133,6 @@ class TestCaddy:
# download 10MB files parallel
@pytest.mark.skipif(condition=Env().slow_network, reason="not suitable for slow network tests")
@pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3'])
- @pytest.mark.skipif(condition=Env().ci_run, reason="not suitable for CI runs")
def test_08_05_download_1mb_parallel(self, env: Env, caddy: Caddy, proto):
if proto == 'h3' and not env.have_h3_curl():
pytest.skip("h3 not supported in curl")