Chaosnet wiki

The global Chaosnet site

User Tools

Site Tools


lispm-dns

DNS resolver for LMI Lambda and TI Explorer Lisp Machines

The implementation can be downloaded as a tape file for the LambdaDelta emulator. See here for a possibly newer version. If you want it in other formats, ask me (bjorn@victor.se).

The Lambda portion of the -READ-ME-.TEXT file can be found below.

Quick introduction to the Domain Name System and Stub Resolver for the TI Explorer and LMI Lambda

Bjorn Victor
bjorn@victor.se
initially written 1988-1989 for the TI Explorer,
ported to the LMI Lambda in 2017.

After copying the tape to disk, copy DNS.TRANSLATIONS, DNS.SYSTEM and STUB-RESOLVER.SYSTEM to your SYS:SITE; directory. Then you may want to modify DNS.TRANSLATIONS depending on where you store the code.

Then load the code by (MAKE-SYSTEM :DNS) and (MAKE-SYSTEM :STUB-RESOLVER).

Notes for LMI Lambda:

The implementation works by setting the variable SI:UNKNOWN-HOST-FUNCTION to one which tries finding unknown hosts (which are not found in the host table) in the DNS, and also adds a corresponding variable SI:UNKNOWN-ADDRESS-FUNCTION and sets it to use the DNS also in this case.

Hosts found in the DNS are defined at runtime, and data is periodically refreshed. There is no purging of hosts no longer known (except at boot) since that might complicate pathname objects etc.

The following site options are used to configure the system.

:domain-forwarding-servers
This should be a list of IP addresses to servers that support recursive queries. These are typically your local ISPs DNS servers.
:domain-search-list
This should be a list of domain names to search in, for unqualified names (without dots in them). For example it could be (“Victor.se” “dfUpdate.SE”), with the effect that if only “psilo” is given as a host name, first “psilo.Victor.se” and then “psilo.dfUpdate.SE” are tried. The domain “Chaosnet.NET” might be interesting to add. (NOTE that this is different from the :LOCAL-INTERNET-DOMAINS option, which also has the effect of removing the domain from the host name.)
:domain-chaosnet-p
This should be T if you are using DNS for Chaosnet data as well as Internet data. If you set this, you should most likely also set the following option.
:domain-chaos-servers
This should be a list of IP addresses of DNS servers supporting recursive queries and having Chaosnet data. This is extremely rare, but if you have such a server… or use 158.174.114.186.

Tuning parameters (see the variable doc or the code):

dns:*dns-stub-resolver-enabled*
in case you want to disable it
dns:*dns-stub-default-system-type*
since HINFO records are not always there
dns:*dns-refresh-wait-time*
how often to try to refresh DNS data

Possibly user-friendly/useful functions:

dns:describe-dns-hosts
This function shows info about the hosts found through DNS, and their expiry time (i.e. when they should be refreshed).
dns:describe-negative-caches
Shows info about negative caches and what's in them.
dns:clear-negative-caches
Does that.

Please let me know if you use the system(s) and if you find it useful, useless, or if you need new features.

Hack hack,
– Bjorn Victor (bjorn@victor.se), August 2017.

lispm-dns.txt · Last modified: 2022-01-13 19:15 by victor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki