diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 6a331117c3..3d3d616e4c 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -2,7 +2,7 @@ - + BIND 9 Administrator Reference Manual @@ -3380,29 +3380,29 @@ is preferred least of all. The topology option is not yet implemented in BIND 9. - - The <command>sortlist</command> Statement -Resource Records (RRs) are the data associated with the names -in a domain name space. The data is maintained in the form of sets -of RRs. The order of RRs in a set is, by default, not significant. -Therefore, to control the sorting of records in a set of resource -records, or RRset, you must use the sortlist statement. - RRs are explained more fully in . Specifications for RRs -are documented in RFC 1035. -When returning multiple RRs the nameserver will normally return -them in Round Robin order, -that is, after each request the first RR is put at the end of the -list. The client resolver code should rearrange the RRs as appropriate, + + + +The <command>sortlist</command> Statement + +The response to a DNS query may consist of multiple resource +records (RRs) forming a resource records set (RRset). +The name server will normally return the +RRs within the RRset in an indeterminate order +(but see the rrset-order +command in ). +The client resolver code should rearrange the RRs as appropriate, that is, using any addresses on the local net in preference to other addresses. However, not all resolvers can do this or are correctly configured. When a client is using a local server the sorting can be performed in the server, based on the client's address. This only requires configuring the nameservers, not all the clients. + The sortlist statement (see below) takes an address_match_list and interprets it even more specifically than the topology statement -does (). Each top level statement in the sortlist must +does (). +Each top level statement in the sortlist must itself be an explicit address_match_list with one or two elements. The first element (which may be an IP address, an IP prefix, an ACL name or a nested address_match_list) @@ -3462,13 +3462,12 @@ to other queries will not be sorted. RRset Ordering When multiple records are returned in an answer it may be useful to configure the order of the records placed into the response. -For example, the records for a zone might be configured always to -be returned in the order they are defined in the zone file. Or perhaps -a random shuffle of the records as they are returned is wanted. The rrset-order statement permits configuration -of the ordering made of the records in a multiple record response. -The default, if no ordering is defined, is a cyclic ordering (round -robin). +of the ordering of the records in a multiple record response. +See also the sortlist statement, +. + + An order_spec is defined as follows: class class_name type type_name name "domain_name" order ordering @@ -3508,14 +3507,16 @@ order. have "host.example.com" as a suffix, to always be returned in random order. All other records are returned in cyclic order. If multiple rrset-order statements appear, -they are not combined-the last one applies. -If no rrset-order statement is specified, -then a default one of: -rrset-order { class ANY type ANY name "*" order cyclic ; }; - -is used. -The rrset-order statement -is not yet implemented in BIND 9. +they are not combined — the last one applies. + + +The rrset-order statement +is not yet implemented in BIND 9. +BIND 9 currently supports only a "random-cyclic" ordering, +where the server randomly chooses a starting point within +the RRset and returns the records in order starting at +that point, wrapping around the end of the RRset if +necessary. Synthetic IPv6 responses