Configure QUIC fabric idle TTL

This commit is contained in:
2026-05-16 11:51:32 +03:00
parent 8622ee71d7
commit 6dc7a61c9d
10 changed files with 31 additions and 0 deletions
@@ -1161,6 +1161,9 @@ func newVPNFabricQUICTransport(cfg config.Config) *mesh.QUICFabricTransport {
if cfg.VPNFabricQUICMaxStreamsPerConn > 0 {
transport.MaxStreamsPerConn = cfg.VPNFabricQUICMaxStreamsPerConn
}
if cfg.VPNFabricQUICIdleTTL > 0 {
transport.IdleTTL = cfg.VPNFabricQUICIdleTTL
}
return transport
}
@@ -2017,6 +2020,9 @@ func applyRefreshedSyntheticMeshConfig(ctx context.Context, cfg config.Config, i
} else if cfg.VPNFabricQUICMaxStreamsPerConn > 0 {
meshState.VPNFabricQUICTransport.MaxStreamsPerConn = cfg.VPNFabricQUICMaxStreamsPerConn
}
if meshState.VPNFabricQUICTransport != nil && cfg.VPNFabricQUICIdleTTL > 0 {
meshState.VPNFabricQUICTransport.IdleTTL = cfg.VPNFabricQUICIdleTTL
}
if meshState.VPNFabricSessionDialStats == nil {
meshState.VPNFabricSessionDialStats = newVPNFabricSessionDialStats()
}
@@ -2983,6 +2989,7 @@ func heartbeatPayload(cfg config.Config, identity state.Identity, meshState *syn
quicSnapshot := meshState.VPNFabricQUICTransport.Snapshot()
report["quic_sessions"] = quicSnapshot
report["quic_max_streams_per_conn"] = meshState.VPNFabricQUICTransport.MaxStreamsPerConn
report["quic_idle_ttl_seconds"] = int(meshState.VPNFabricQUICTransport.IdleTTL.Seconds())
}
if meshState != nil && meshState.VPNFabricSessionDialStats != nil {
report["dial_stats"] = meshState.VPNFabricSessionDialStats.Report(observedAt)