diff --git a/bin/check/named-checkzone.docbook b/bin/check/named-checkzone.docbook index 85479e7d90..d6a77755e8 100644 --- a/bin/check/named-checkzone.docbook +++ b/bin/check/named-checkzone.docbook @@ -239,8 +239,8 @@ Specify the format of the zone file. - Possible formats are "text" (default) - and "raw". + Possible formats are "text" (default), + "raw", and "fast". @@ -255,14 +255,15 @@ contents. - Possible formats are "text" (default) - and "raw" or "raw=N", - which store the zone in a binary format for rapid loading - by named. "raw=N" - specifies the format version of the raw zone file: if N - is 0, the raw file can be read by any version of - named; if N is 1, the file can be read - by release 9.9.0 or higher. The default is 1. + Possible formats are "text" (default), + which is the standard textual representation of the zone, + and "fast", "raw", + and "raw=N", which store the zone in a + binary format for rapid loading by named. + "raw=N" specifies the format version of + the raw zone file: if N is 0, the raw file can be read by + any version of named; if N is 1, the file + can be read by release 9.9.0 or higher; the default is 1. @@ -286,9 +287,10 @@ -L serial - When compiling a zone to 'raw' format, set the "source serial" - value in the header to the specified serial number. (This is - expected to be used primarily for testing purposes.) + When compiling a zone to "raw" or "fast" format, set the + "source serial" value in the header to the specified serial + number. (This is expected to be used primarily for testing + purposes.) diff --git a/bin/dnssec/dnssec-signzone.docbook b/bin/dnssec/dnssec-signzone.docbook index e427fc1266..eac4ac01dc 100644 --- a/bin/dnssec/dnssec-signzone.docbook +++ b/bin/dnssec/dnssec-signzone.docbook @@ -166,8 +166,8 @@ () is used, DNSKEY records are also included. The resulting file can be included in the original zone file with $INCLUDE. This option - cannot be combined with or serial - number updating. + cannot be combined with , + , or serial number updating. @@ -337,8 +337,8 @@ The format of the input zone file. - Possible formats are "text" (default) - and "raw". + Possible formats are "text" (default), + "raw", and "fast". This option is primarily intended to be used for dynamic signed zones so that the dumped zone file in a non-text format containing updates can be signed directly. @@ -376,9 +376,10 @@ -L serial - When writing a signed zone to 'raw' format, set the "source serial" - value in the header to the specified serial number. (This is - expected to be used primarily for testing purposes.) + When writing a signed zone to "raw" or "fast" format, set the + "source serial" value in the header to the specified serial + number. (This is expected to be used primarily for testing + purposes.) @@ -446,16 +447,17 @@ The format of the output file containing the signed zone. - Possible formats are "text" (default) + Possible formats are "text" (default), + which is the standard textual representation of the zone; "full", which is text output in a - format suitable for processing by external scripts, - and "raw" or "raw=N", - which store the zone in a binary format for rapid loading - by named. "raw=N" - specifies the format version of the raw zone file: if N - is 0, the raw file can be read by any version of - named; if N is 1, the file can be - read by release 9.9.0 or higher. The default is 1. + format suitable for processing by external scripts; + and "fast", "raw", + and "raw=N", which store the zone in + binary formats for rapid loading by named. + "raw=N" specifies the format version of + the raw zone file: if N is 0, the raw file can be read by + any version of named; if N is 1, the file + can be read by release 9.9.0 or higher; the default is 1. diff --git a/bin/named/named.conf.docbook b/bin/named/named.conf.docbook index 24c8535b0f..d432effc31 100644 --- a/bin/named/named.conf.docbook +++ b/bin/named/named.conf.docbook @@ -318,7 +318,7 @@ options { update-check-ksk boolean; dnssec-dnskey-kskonly boolean; - masterfile-format ( text | raw ); + masterfile-format ( text | raw | fast ); notify notifytype; notify-source ( ipv4_address | * ) port ( integer | * ) ; notify-source-v6 ( ipv6_address | * ) port ( integer | * ) ; @@ -506,7 +506,7 @@ view string optional_class update-check-ksk boolean; dnssec-dnskey-kskonly boolean; - masterfile-format ( text | raw ); + masterfile-format ( text | raw | fast ); notify notifytype; notify-source ( ipv4_address | * ) port ( integer | * ) ; notify-source-v6 ( ipv6_address | * ) port ( integer | * ) ; @@ -603,7 +603,7 @@ zone string optional_class update-check-ksk boolean; dnssec-dnskey-kskonly boolean; - masterfile-format ( text | raw ); + masterfile-format ( text | raw | fast ); notify notifytype; notify-source ( ipv4_address | * ) port ( integer | * ) ; notify-source-v6 ( ipv6_address | * ) port ( integer | * ) ; diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml index 6b5144be95..716b6cfbd0 100644 --- a/doc/arm/Bv9ARM-book.xml +++ b/doc/arm/Bv9ARM-book.xml @@ -5325,7 +5325,8 @@ badresp:1,adberr:0,findfail:0,valfail:0] max-acache-size size_spec ; clients-per-query number ; max-clients-per-query number ; - masterfile-format (text|raw) ; + masterfile-format + (text|raw|fast) ; empty-server name ; empty-contact name ; empty-zones-enable yes_or_no ; @@ -8958,7 +8959,12 @@ avoid-v6-udp-ports { 40000; range 50000 60000; }; a zone file in the raw format must be generated with the same check level as that specified in the named configuration - file. This statement sets the + file. Also, fast format files are + loaded directly into memory via memory mapping, with only + minimal checking. + + + This statement sets the masterfile-format for all zones, but can be overridden on a per-zone or per-view basis by including a masterfile-format @@ -10371,7 +10377,7 @@ view "external" { check-integrity yes_or_no ; dialup dialup_option ; file string ; - masterfile-format (text|raw) ; + masterfile-format (text|raw|fast) ; journal string ; max-journal-size size_spec; forward (only|first) ; @@ -10426,7 +10432,7 @@ zone zone_name class check-names (warn|fail|ignore) ; dialup dialup_option ; file string ; - masterfile-format (text|raw) ; + masterfile-format (text|raw|fast) ; journal string ; max-journal-size size_spec; forward (only|first) ; @@ -10480,7 +10486,7 @@ zone zone_name class dialup dialup_option ; delegation-only yes_or_no ; file string ; - masterfile-format (text|raw) ; + masterfile-format (text|raw|fast) ; forward (only|first) ; forwarders { ip_addr port ip_port ; ... }; masters port ip_port { ( masters_list | ip_addr @@ -10523,7 +10529,7 @@ zone zone_name class"." class { type redirect; file string ; - masterfile-format (text|raw) ; + masterfile-format (text|raw|fast) ; allow-query { address_match_list }; }; @@ -13601,18 +13607,28 @@ HOST-127.EXAMPLE. MX 0 . In addition to the standard textual format, BIND 9 supports the ability to read or dump to zone files in - other formats. The raw format is - currently available as an additional format. It is a - binary format representing BIND 9's internal data - structure directly, thereby remarkably improving the - loading time. + other formats. - For a primary server, a zone file in the - raw format is expected to be - generated from a textual zone file by the - named-compilezone command. For a - secondary server or for a dynamic zone, it is automatically + The raw format is + a binary representation of zone data in a manner similar + to that used in zone transfers. Since it does not require + parsing text, load time is significantly reduced. + + + An even faster alternative is the fast + format, which is an image of a BIND 9 + in-memory zone database; it is capable of being loaded + directly into memory via the mmap() + function; the zone can begin serving queries almost + immediately. + + + For a primary server, a zone file in + raw or fast + format is expected to be generated from a textual zone + file by the named-compilezone command. + For a secondary server or for a dynamic zone, it is automatically generated (if this format is specified by the masterfile-format option) when named dumps the zone contents after @@ -13627,14 +13643,21 @@ HOST-127.EXAMPLE. MX 0 . named-compilezone command again. - Although the raw format uses the - network byte order and avoids architecture-dependent - data alignment so that it is as much portable as - possible, it is primarily expected to be used inside - the same single system. In order to export a zone - file in the raw format or make a - portable backup of the file, it is recommended to - convert the file to the standard textual representation. + Note that fast format is extremely + architecture-specific. A fast + file cannot be used on a system + with different pointer size, endianness or data alignment + than the system on which it was generated, and should in + general be used only inside a single system. + While raw format uses + network byte order and avoids architecture-dependent + data alignment so that it is as portable as + possible, it is also primarily expected to be used + inside the same single system. To export a + zone file in either raw or + fast format, or make a + portable backup of such a file, conversion to + text format is recommended.