path->validated = 1;
+ ngx_quic_set_connection_path(c, path);
+
if (path->mtu_unvalidated) {
path->mtu_unvalidated = 0;
return ngx_quic_validate_path(c, path);
qc->path = next;
qc->path->tag = NGX_QUIC_PATH_ACTIVE;
- ngx_quic_set_connection_path(c, next);
+ if (next->validated) {
+ ngx_quic_set_connection_path(c, next);
- if (!next->validated && next->state != NGX_QUIC_PATH_VALIDATING) {
+ } else if (next->state != NGX_QUIC_PATH_VALIDATING) {
if (ngx_quic_validate_path(c, next) != NGX_OK) {
return NGX_ERROR;
}
qc->path = bkp;
qc->path->tag = NGX_QUIC_PATH_ACTIVE;
- ngx_quic_set_connection_path(c, qc->path);
-
ngx_log_error(NGX_LOG_INFO, c->log, 0,
"quic path seq:%uL addr:%V is restored from backup",
qc->path->seqnum, &qc->path->addr_text);