[bind10-dev] Storing files by dhcp components

Tomek Mrugalski tomasz at isc.org
Fri Jan 4 14:44:27 UTC 2013


Hi,
DHCPv4 and v6 servers need to store many types of data. The most obvious
one is lease information. Currently it is stored in MySQL and the exact
location on filesystem is a matter of MySQL configuration. But there are
other types of data.

One notable example is server identifier. That's basically a byte array
that server generates based on various information (MAC address +
timestamp in v6 and IPv4 address of the interface in v4) that should be
consistent between restarts. Typically this is something that is
generated once and never modified. As this data requires special
formatting, it is impractical to request user to define it using
bindctl, especially that we have a working code that generates it.

Which constant should I use as a dir path to such files? If there is
none, I'd like to add it. What should it point to by default?

I suppose in typical installation it should be something pointing to
somewhere in /var (/var/run? /var/db?). As there will be additional
files there, it makes sense to create specific directory for dhcp4 and
dhcp6 components. It will be somewhat acceptable if we have one
directory for the whole bind10, but I would prefer separate directories
for DHCP and DNS for clarity.


Another example of data needed to be stored on disk is database file. We
are using MySQL for now, but it is likely that we will also add support
for SQLite in the future. It is necessary to specify sqlite file
location on disk.

We will also implement memfile backend one day that will store leases in
a plain text file, similar to isc-dhcp.

Tomek


More information about the bind10-dev mailing list