[PATCH 1 of 4] QUIC: removed path->limited flag
Roman Arutyunyan
arut at nginx.com
Thu Jul 6 13:57:14 UTC 2023
# HG changeset patch
# User Roman Arutyunyan <arut at nginx.com>
# Date 1688651341 -14400
# Thu Jul 06 17:49:01 2023 +0400
# Node ID df01e8582189126cd5defd8f4bb021fec1a1a35a
# Parent 77c1418916f7817a0d020f28d8a08f278a12fe43
QUIC: removed path->limited flag.
Its value is the opposite of path->validated.
diff --git a/src/event/quic/ngx_event_quic.c b/src/event/quic/ngx_event_quic.c
--- a/src/event/quic/ngx_event_quic.c
+++ b/src/event/quic/ngx_event_quic.c
@@ -1013,7 +1013,6 @@ ngx_quic_handle_payload(ngx_connection_t
if (!qc->path->validated) {
qc->path->validated = 1;
- qc->path->limited = 0;
ngx_quic_path_dbg(c, "in handshake", qc->path);
ngx_post_event(&qc->push, &ngx_posted_events);
}
diff --git a/src/event/quic/ngx_event_quic_connection.h b/src/event/quic/ngx_event_quic_connection.h
--- a/src/event/quic/ngx_event_quic_connection.h
+++ b/src/event/quic/ngx_event_quic_connection.h
@@ -101,7 +101,6 @@ struct ngx_quic_path_s {
u_char text[NGX_SOCKADDR_STRLEN];
unsigned validated:1;
unsigned validating:1;
- unsigned limited:1;
};
diff --git a/src/event/quic/ngx_event_quic_migration.c b/src/event/quic/ngx_event_quic_migration.c
--- a/src/event/quic/ngx_event_quic_migration.c
+++ b/src/event/quic/ngx_event_quic_migration.c
@@ -168,7 +168,6 @@ valid:
path->validated = 1;
path->validating = 0;
- path->limited = 0;
ngx_quic_set_path_timer(c);
@@ -208,8 +207,6 @@ ngx_quic_new_path(ngx_connection_t *c,
path->cid = cid;
cid->used = 1;
- path->limited = 1;
-
path->seqnum = qc->path_seqnum++;
path->sockaddr = &path->sa.sockaddr;
@@ -665,7 +662,6 @@ ngx_quic_path_validation_handler(ngx_eve
path->validated = 0;
path->validating = 0;
- path->limited = 1;
/* RFC 9000, 9.3.2. On-Path Address Spoofing
diff --git a/src/event/quic/ngx_event_quic_migration.h b/src/event/quic/ngx_event_quic_migration.h
--- a/src/event/quic/ngx_event_quic_migration.h
+++ b/src/event/quic/ngx_event_quic_migration.h
@@ -18,11 +18,10 @@
#define NGX_QUIC_PATH_BACKUP 2
#define ngx_quic_path_dbg(c, msg, path) \
- ngx_log_debug7(NGX_LOG_DEBUG_EVENT, c->log, 0, \
- "quic path seq:%uL %s sent:%O recvd:%O state:%s%s%s", \
+ ngx_log_debug6(NGX_LOG_DEBUG_EVENT, c->log, 0, \
+ "quic path seq:%uL %s sent:%O recvd:%O state:%s%s", \
path->seqnum, msg, path->sent, path->received, \
- path->limited ? "L" : "", path->validated ? "V": "N", \
- path->validating ? "R": "");
+ path->validated ? "V": "N", path->validating ? "R": "");
ngx_int_t ngx_quic_handle_path_challenge_frame(ngx_connection_t *c,
ngx_quic_header_t *pkt, ngx_quic_path_challenge_frame_t *f);
diff --git a/src/event/quic/ngx_event_quic_output.c b/src/event/quic/ngx_event_quic_output.c
--- a/src/event/quic/ngx_event_quic_output.c
+++ b/src/event/quic/ngx_event_quic_output.c
@@ -281,7 +281,7 @@ ngx_quic_allow_segmentation(ngx_connecti
return 0;
}
- if (qc->path->limited) {
+ if (!qc->path->validated) {
/* don't even try to be faster on non-validated paths */
return 0;
}
@@ -1278,7 +1278,7 @@ ngx_quic_path_limit(ngx_connection_t *c,
{
off_t max;
- if (path->limited) {
+ if (!path->validated) {
max = path->received * 3;
max = (path->sent >= max) ? 0 : max - path->sent;
diff --git a/src/event/quic/ngx_event_quic_socket.c b/src/event/quic/ngx_event_quic_socket.c
--- a/src/event/quic/ngx_event_quic_socket.c
+++ b/src/event/quic/ngx_event_quic_socket.c
@@ -82,7 +82,6 @@ ngx_quic_open_sockets(ngx_connection_t *
if (pkt->validated) {
qc->path->validated = 1;
- qc->path->limited = 0;
}
ngx_quic_path_dbg(c, "set active", qc->path);
More information about the nginx-devel
mailing list