RTSOLD(8)

πŸ“¦
version 741.100.2 Β· 2 versions
, in nixpkgs unstable

πŸ’… RTSOLD(8) β€” router solicitation daemon ✨

okay bestie so this is a page from the System Manager's Manual and it's literally all about rtsold, the router solicitation daemon. yes it's a mouthful. no it's not scary. let's go 🫢


🌸 NAME 🌸

rtsold β€” router solicitation daemon. that's the whole name section, she's lowkey concise πŸ‘‘


✨ SYNOPSIS ✨

rtsold [-dDfm1] interface ...
rtsold [-dDfm1] -a
rtsol [-dD] interface ...
rtsol [-dD] -a

ok so first of all, notice there's a whole second name in there. rtsol is the short-form bestie of rtsold and she has her own little flag set. keep that in mind, it comes back later πŸ’–


πŸ¦‹ DESCRIPTION πŸ¦‹

so rtsold is the daemon program that sends ICMPv6 Router Solicitation messages on whichever interfaces you point it at. the way that this works is: if a node (re)attaches to a link, rtsold beams out a few Router Solicitations on that link, destined to the link-local scope all-routers multicast address, so it can discover new routers and get itself some non link-local addresses. it's giving "hi are you there" but in protocol form πŸ“‘

⚠️ important: rtsold should be used on IPv6 hosts (non-router nodes) only. it is not a router girlie. do not make her be a router girlie.

if you invoke the program as rtsol, it will transmit probes from the specified interface, without becoming a daemon. literally in other words, rtsol behaves as rtsold -f1 interfaces. iconic of her honestly πŸ’…


πŸŽ€ so like, when does she actually send stuff

specifically, rtsold sends at most 3 Router Solicitations on an interface after one of these events:

  • Just after invocation of rtsold daemon. she's awake, she's sending πŸ’«
  • The interface is up after a temporary interface failure. rtsold detects such failures by periodically probing to see if the status of the interface is active or not. but heads up β€” some network cards and drivers do not allow the extraction of link state. in such cases, rtsold cannot detect the change of the interface status. awkward but true πŸ™ˆ
  • Every 60 seconds if the -m option is specified and the rtsold daemon cannot get the interface status. and ngl, this feature does not conform to the IPv6 neighbor discovery specification β€” it's provided for mobile stations. the default interval for router advertisements is on the order of 10 minutes, which is slightly long for mobile stations, so this feature exists so those stations can find new routers as soon as possible when they attach to another link. main character energy for the mobile girlies πŸ”₯

once rtsold has sent a Router Solicitation, and has received a valid Router Advertisement, it refrains from sending additional solicitations on that interface, until the next time one of the above events occurs. she's chill like that. one good answer and she stops asking 😌

when sending a Router Solicitation on an interface, rtsold includes a Source Link-layer address option if the interface has a link-layer address. cute detail, included ✨

and bestie β€” upon receipt of signal SIGUSR1, rtsold will dump the current internal state into /var/run/rtsold.dump. so if you ever need her to spill her whole diary, that's the move πŸ’Œ


πŸ’… OPTIONS πŸ’…

  • -a β€” Autoprobe outgoing interface. rtsold will try to find a non-loopback, non-point-to-point, IPv6-capable interface. but if rtsold finds multiple interfaces, rtsold will exit with error. she does not do decisions πŸ’€
  • -d β€” Enable debugging. the basics πŸ›
  • -D β€” Enable more debugging, including the printing of internal timer information. the deluxe version, she's showing you her timers πŸ•°οΈ
  • -f β€” -f prevents rtsold from becoming a daemon (foreground mode). Warning messages are generated to standard error instead of syslog(3). she stays right there with you in the terminal 🫢
  • -m β€” Enable mobility support. if this option is specified, rtsold sends probing packets to default routers that have advertised Router Advertisements when the node (re)attaches to an interface. moreover, if the option is specified, rtsold periodically sends Router Solicitation on an interface that does not support SIOCGIFMEDIA ioctl. mobile station rights πŸ’–
  • -1 β€” Perform only one probe. Transmit Router Solicitation packets until at least one valid Router Advertisement packet has arrived on each interface, then exit. one and done, no notes πŸ‘‘

🌈 DIAGNOSTICS 🌈

The rtsold utility exits 0 on success, and >0 if an error occurs. that's it. that's the whole mood ⭐


πŸ“ FILES πŸ“

  • /var/run/rtsold.pid β€” the pid of the currently running rtsold.
  • /var/run/rtsold.dump β€” dumps internal state on. (yes that's genuinely how the original puts it, she's mysterious πŸ’œ)

🧚 SEE ALSO 🧚

rtadvd(8), sysctl(8) β€” go read those next, iykyk πŸ“š


πŸ‘‘ HISTORY πŸ‘‘

The rtsold command is based on the rtsol command, which first appeared in the WIDE/KAME IPv6 protocol stack kit. rtsol is now integrated into rtsold(8). glow-up arc complete, we love a merge 🌟


πŸ’€ BUGS πŸ’€

ok this part is important, pay attention bestie:

  • In some operating systems, when a PCMCIA network card is removed and reinserted, the corresponding interface index is changed. however, rtsold assumes such changes will not occur, and always uses the index that it got at invocation. as a result, rtsold may not work if you reinsert a network card. in such a case, rtsold should be killed and restarted. fr fr just kill her and start over, it's fine 😭
  • The IPv6 autoconfiguration specification assumes a single-interface host. you may see kernel error messages if you try to autoconfigure a host with multiple interfaces. also, it seems contradictory for rtsold to accept multiple interface arguments. yeah. she said that. not me. her. πŸ™ˆ

πŸŽ€ and that's the whole page bestie, you're now an expert on router solicitation. this one shipped with Debian, dated May 17, 1998 β€” so she's vintage and still slaying. go forth and solicit those routers πŸ’–βœ¨πŸ¦‹
πŸ“¦ where this page comes from