1.2 What This Manual Covers

This manual covers the resolvd source tree as of release 0.1.5:

ComponentPackageInstalled as
The daemondev.peios.resolvd/usr/sbin/resolvd
The operator commanddev.peios.resolv/usr/bin/resolv
The NSS shimdev.peios.resolvd-nss/usr/lib/x86_64-linux-peios/libnss_peios_net.so.2

1.2.1 Other packaged files #

dev.peios.resolvd also ships the constant /usr/etc/resolv.conf, the service definition and port reservation seeds under /usr/share/regim/, the registry reference /usr/share/regman/resolvd.regman, and the resolvd(8) page; dev.peios.resolv ships resolv(1).

Each package has a matching -debuginfo package, and dev.peios.resolvd-debugsource carries the sources for all three.

1.2.2 The source tree #

The source is one workspace of five crates, and the split is visible in what each part of the system can do:

CrateWhat it is
dnsThe DNS wire codec: names, messages, records. No I/O and no policy.
libresolvThe native channel's types, MessagePack codec and framing. No I/O beyond framing.
resolvdThe engine, the cache, the stub door's DNS rendering, and the daemon around them.
resolvThe operator command.
nssThe shim. Built on libresolv and libc, without libpeios (§7.1).

1.2.3 Covered elsewhere #

The contract. What any resolver standing in resolvd's place has to do is PSPU §6: the doors (PSPU §6.3), the native channel's framing and control object (PSPU §6.4), the requests (PSPU §6.5), outcomes and validation (PSPU §6.6), the resolution model (PSPU §6.7), the stub door (PSPU §6.8), the network manager channel (PSPU §6.9), the shim (PSPU §6.10), and the limits (PSPU §6.B). Where a chapter here touches the contract it cites it and adds only what resolvd does.

netd's side of the channel. Which interfaces appear in a snapshot, how their servers and domains are merged from profile and lease, and when a snapshot is sent, are netd's, and are described in the netd TRM. This manual covers what resolvd does with a snapshot once it has one.

Kernel mechanisms. Registry watches, access checks, file descriptors and port reservations are described in the Peios Kernel TRM. This manual says which of them resolvd uses and how.

Edit this page