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 stringoptional_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 stringoptional_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_nameclass 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_nameclass dialup dialup_option ; delegation-only yes_or_no ; file string ;
- masterfile-format (text|raw) ;
+ masterfile-format (text|raw|fast) ; forward (only|first) ; forwarders { ip_addrport ip_port ; ... }; masters port ip_port { ( masters_list | ip_addr
@@ -10523,7 +10529,7 @@ zone zone_nameclass"."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.