comparison src/event/quic/ngx_event_quic_connection.h @ 9194:a6f79f044de5

QUIC: path revalidation after expansion failure. As per RFC 9000, Section 8.2.1: When an endpoint is unable to expand the datagram size to 1200 bytes due to the anti-amplification limit, the path MTU will not be validated. To ensure that the path MTU is large enough, the endpoint MUST perform a second path validation by sending a PATH_CHALLENGE frame in a datagram of at least 1200 bytes.
author Roman Arutyunyan <arut@nginx.com>
date Wed, 29 Nov 2023 10:58:21 +0400
parents fcec773dd249
children ff452f283aa9
comparison
equal deleted inserted replaced
9193:ce1ff81e9b92 9194:a6f79f044de5
109 u_char challenge[2][8]; 109 u_char challenge[2][8];
110 uint64_t seqnum; 110 uint64_t seqnum;
111 uint64_t mtu_pnum[NGX_QUIC_PATH_RETRIES]; 111 uint64_t mtu_pnum[NGX_QUIC_PATH_RETRIES];
112 ngx_str_t addr_text; 112 ngx_str_t addr_text;
113 u_char text[NGX_SOCKADDR_STRLEN]; 113 u_char text[NGX_SOCKADDR_STRLEN];
114 ngx_uint_t validated; /* unsigned validated:1; */ 114 unsigned validated:1;
115 unsigned mtu_unvalidated:1;
115 }; 116 };
116 117
117 118
118 struct ngx_quic_socket_s { 119 struct ngx_quic_socket_s {
119 ngx_udp_connection_t udp; 120 ngx_udp_connection_t udp;