[nginx] QUIC: removed explicit packet padding for certain frames.
Roman Arutyunyan
arut at nginx.com
Mon Aug 14 14:01:22 UTC 2023
details: https://hg.nginx.org/nginx/rev/93aee926d27f
branches:
changeset: 9145:93aee926d27f
user: Roman Arutyunyan <arut at nginx.com>
date: Thu Jul 06 11:30:47 2023 +0400
description:
QUIC: removed explicit packet padding for certain frames.
The frames for which the padding is removed are PATH_CHALLENGE and
PATH_RESPONSE, which are sent separately by ngx_quic_frame_sendto().
diffstat:
src/event/quic/ngx_event_quic_output.c | 30 +-----------------------------
1 files changed, 1 insertions(+), 29 deletions(-)
diffs (54 lines):
diff -r bba136612fe4 -r 93aee926d27f src/event/quic/ngx_event_quic_output.c
--- a/src/event/quic/ngx_event_quic_output.c Thu Jul 06 17:49:01 2023 +0400
+++ b/src/event/quic/ngx_event_quic_output.c Thu Jul 06 11:30:47 2023 +0400
@@ -525,7 +525,7 @@ ngx_quic_output_packet(ngx_connection_t
ssize_t flen;
ngx_str_t res;
ngx_int_t rc;
- ngx_uint_t nframes, expand;
+ ngx_uint_t nframes;
ngx_msec_t now;
ngx_queue_t *q;
ngx_quic_frame_t *f;
@@ -560,7 +560,6 @@ ngx_quic_output_packet(ngx_connection_t
nframes = 0;
p = src;
len = 0;
- expand = 0;
for (q = ngx_queue_head(&ctx->frames);
q != ngx_queue_sentinel(&ctx->frames);
@@ -568,33 +567,6 @@ ngx_quic_output_packet(ngx_connection_t
{
f = ngx_queue_data(q, ngx_quic_frame_t, queue);
- if (!expand && (f->type == NGX_QUIC_FT_PATH_RESPONSE
- || f->type == NGX_QUIC_FT_PATH_CHALLENGE))
- {
- /*
- * RFC 9000, 8.2.1. Initiating Path Validation
- *
- * An endpoint MUST expand datagrams that contain a
- * PATH_CHALLENGE frame to at least the smallest allowed
- * maximum datagram size of 1200 bytes...
- *
- * (same applies to PATH_RESPONSE frames)
- */
-
- if (max < 1200) {
- /* expanded packet will not fit */
- break;
- }
-
- if (min < 1200) {
- min = 1200;
-
- min_payload = ngx_quic_payload_size(&pkt, min);
- }
-
- expand = 1;
- }
-
if (len >= max_payload) {
break;
}
More information about the nginx-devel
mailing list