KAFS-DNS(8)

πŸ’– KAFS-DNS πŸ’–

okay so bestie, welcome to kafs-dns from the kafs-client fam β€” it's the AFS filesystem address resolution helper, and it's honestly doing the most so you don't have to. ✨


✨ NAME ✨

kafs-dns β€” AFS filesystem address resolution helper πŸ¦‹


✨ SYNOPSIS ✨

/usr/libexec/kafs-dns [OPTION]... <key_serial>
/usr/libexec/kafs-dns -D [OPTION]... <desc> <calloutinfo>
/usr/libexec/kafs-dns -V

Where options are:

[-v] [-c <conffile>]* [-N <restriction>] [-o <dumpfile>]

🌸 DESCRIPTION 🌸

So basically: this program gets invoked by the request-key(8) kernel upcall handling program to handle an address resolution request on behalf of the in-kernel AFS filesystem driver, so it can find the Volume Location servers for a cell. She's capable of using static configuration, NSS and DNS SRV and AFSDB record lookups. Versatile queen. πŸ’…

lowkey important: this program is not meant to be called directly β€” though it does have a debugging mode that can be used. iykyk.

The first form of the command, without the -D flag, cannot be called directly, because it requires an under-construction kernel key as its parameter. she needs her key, she's not showing up without it. 😭

The debugging form, in which -D is given, doesn't require a key β€” but you must give it a proposed key description and a callout information string. Information about what it's doing gets dumped to the output. The result blob may be binary and so is not dumped to stdout, but it can be dumped to a file with -o <dumpfile>. iconic behaviour honestly. πŸŽ€


🫢 ARGUMENTS 🫢

The key description, desc, should be the name of a cell prefixed by afsdb:. periodt.

The callout information string, calloutinfo, is a comma separated list of none or more of the following items:

  • ipv4 β€” Get IPv4 addresses only.
  • ipv6 β€” Get IPv6 addresses only.
  • srv=<ver> β€” Allow the extra information that can be gleaned from SRV records to be rendered as output format ver, where ver is a number.

πŸ’… OPTIONS πŸ’…

  • -D β€” Execute in debug mode.
  • -v β€” Increase the verbosity of the output. This may be specified multiple times. (yes bestie, stack them, more -v = more tea πŸ“)
  • -c <conffile> β€” Specify a configuration file to read instead of the system default. This may be specified multiple times and the configuration files are read and applied in order.
  • -N <restriction> β€” Apply a restriction to the lookup performed for the listed cells (if any are). Restrictions include:
    • vl-srv β€” Don't use SRV records to find Volume Location servers.
    • vl-afsdb β€” Don't use AFSDB records to find Volume Location servers.
    • vl-all β€” Don't use SRV or AFSDB records to find Volume Location servers.
    • vl-host β€” Don't look cell name up as hostname to find a Volume Location server.
    • vl-dns β€” Don't do any lookups to find Volume Location servers. Use only the static configuration.
  • -o <dumpfile> β€” Specify a file in which to dump the proposed payload with which to instantiate a resolver key.
  • -V β€” Display version information and exit.

🌈 EXIT STATUS 🌈

  1. 0 β€” On success βœ…
  2. 1 β€” If an error occurs during processing 😭
  3. 2 β€” If a command line error occurs πŸ™ˆ
  4. 3 β€” If bad configuration is detected. πŸ’€

⭐ EXAMPLE ⭐

The program can be called with something like:

/usr/libexec/kafs-dns -D afsdb:example.com srv=1

The program can also be invoked indirectly with something like:

keyctl request2 dns_resolver afsdb:example.com srv=1 @s

which will return the serial number of a key that can then be displayed. slay. πŸ‘‘


🧚 SEE ALSO 🧚

kafs (7), kafs-client.conf (5), keyctl (1), request-key (8)


Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.

Written by David Howells (dhowells@redhat.com)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.


okay that's the whole page bestie, no notes πŸ’– this is kafs-client version 0.9, dated 2026-08-27, and honestly? she ate. go find those Volume Location servers, you've got this 🫢✨🌸

πŸ“¦ where this page comes from