diff --git a/svcb-docpath/draft-ietf-core-dns-over-coap.html b/svcb-docpath/draft-ietf-core-dns-over-coap.html index c192fff..042cbbe 100644 --- a/svcb-docpath/draft-ietf-core-dns-over-coap.html +++ b/svcb-docpath/draft-ietf-core-dns-over-coap.html @@ -1481,7 +1481,7 @@

octets.

To use the service binding from a SVCB RR, the DoC client MUST send any DoC request to the CoAP resource identifier constructed from the SvcParams including "docpath". A rough construction -algorithm could be as follows. +algorithm could be as follows, going through the provided records in order of their priority. - If the "alpn" SvcParam value for the service is "coap", construct a CoAP request for CoAP over TCP, if it is "co", construct one for CoAP over DTLS. - The destination address for the request should be taken from additional information about the @@ -1494,7 +1494,10 @@

the request. - If a "port" SvcParam value is provided or if a port was queried, and if either differs from either the default port of the transport or the destination port selected above, set that port in the - URI-Port option.

+ URI-Port option. +- If this request receives a response, use that for future DoC queries, until it becomes + unreachable. If not, or if it becomes unreachable, repeat with the SVCB record with the next + highest priority.

A more generalized construction algorithm can be found in [I-D.ietf-core-transport-indication].

diff --git a/svcb-docpath/draft-ietf-core-dns-over-coap.txt b/svcb-docpath/draft-ietf-core-dns-over-coap.txt index faf2c5c..2393bb8 100644 --- a/svcb-docpath/draft-ietf-core-dns-over-coap.txt +++ b/svcb-docpath/draft-ietf-core-dns-over-coap.txt @@ -250,21 +250,25 @@ Table of Contents To use the service binding from a SVCB RR, the DoC client MUST send any DoC request to the CoAP resource identifier constructed from the SvcParams including "docpath". A rough construction algorithm could - be as follows. - If the "alpn" SvcParam value for the service is - "coap", construct a CoAP request for CoAP over TCP, if it is "co", - construct one for CoAP over DTLS. - The destination address for the - request should be taken from additional information about the target, - e.g. from an AAAA record associated to the target or from am - "ipv6hint" SvcParam value, or, as a fallback, by querying an address - for the queried host name of the SVCB record. - The destination port - for the address is taken from the "port" SvcParam value, if present. + be as follows, going through the provided records in order of their + priority. - If the "alpn" SvcParam value for the service is "coap", + construct a CoAP request for CoAP over TCP, if it is "co", construct + one for CoAP over DTLS. - The destination address for the request + should be taken from additional information about the target, e.g. + from an AAAA record associated to the target or from am "ipv6hint" + SvcParam value, or, as a fallback, by querying an address for the + queried host name of the SVCB record. - The destination port for the + address is taken from the "port" SvcParam value, if present. Otherwise, take the default port of the CoAP transport. - Set the queried host name of SVCB record in the URI-Host option. - For each element in the CBOR sequence of the "docpath" SvcParam value, add a Uri-Path option to the request. - If a "port" SvcParam value is provided or if a port was queried, and if either differs from either the default port of the transport or the destination port selected - above, set that port in the URI-Port option. + above, set that port in the URI-Port option. - If this request + receives a response, use that for future DoC queries, until it + becomes unreachable. If not, or if it becomes unreachable, repeat + with the SVCB record with the next highest priority. A more generalized construction algorithm can be found in [I-D.ietf-core-transport-indication].