target = "https://www.rfc-editor.org/rfc/rfc9000#section-8.2.4" # 8.2.4. Failed Path Validation # # Path validation only fails when the endpoint attempting to validate # the path abandons its attempt to validate the path. # # Endpoints SHOULD abandon path validation based on a timer. When # setting this timer, implementations are cautioned that the new path # could have a longer round-trip time than the original. A value of # three times the larger of the current PTO or the PTO for the new path # (using kInitialRtt, as defined in [QUIC-RECOVERY]) is RECOMMENDED. # # This timeout allows for multiple PTOs to expire prior to failing path # validation, so that loss of a single PATH_CHALLENGE or PATH_RESPONSE # frame does not cause path validation failure. # # Note that the endpoint might receive packets containing other frames # on the new path, but a PATH_RESPONSE frame with appropriate data is # required for path validation to succeed. # # When an endpoint abandons path validation, it determines that the # path is unusable. This does not necessarily imply a failure of the # connection -- endpoints can continue sending packets over other paths # as appropriate. If no paths are available, an endpoint can wait for # a new path to become available or close the connection. An endpoint # that has no valid network path to its peer MAY signal this using the # NO_VIABLE_PATH connection error, noting that this is only possible if # the network path exists but does not support the required MTU # (Section 14). # # A path validation might be abandoned for other reasons besides # failure. Primarily, this happens if a connection migration to a new # path is initiated while a path validation on the old path is in # progress. [[spec]] level = "SHOULD" quote = ''' Endpoints SHOULD abandon path validation based on a timer. ''' [[spec]] level = "SHOULD" quote = ''' A value of three times the larger of the current PTO or the PTO for the new path (using kInitialRtt, as defined in [QUIC-RECOVERY]) is RECOMMENDED. ''' [[spec]] level = "MAY" quote = ''' An endpoint that has no valid network path to its peer MAY signal this using the NO_VIABLE_PATH connection error, noting that this is only possible if the network path exists but does not support the required MTU (Section 14). '''