RDISC6(8)

🌸 NAME 🌸

rdisc6 β€” the ICMPv6 Router Discovery tool, and yes bestie this is the rdisc6(8) page from the System Manager's Manual, so buckle up πŸŽ€


✨ SYNOPSIS ✨

rdisc6 [-qv] [-r attempts] [-s source_ip] [-w wait_ms] [IPv6 address]
       <iface>

πŸ›°οΈ DESCRIPTION πŸ›°οΈ

Okay so RDisc6 is a Unix program that implements ICMPv6 Router Discovery in userland β€” which is normally the kernel's whole job, but here we are doing it ourselves, main character energy fr fr πŸ’…. You use it to look up the list of on-link routers and IPv6 prefixes.

It can also be used to force the kernel to update the state of a given IPv6-autoconfigured network interface. Like, giving the kernel a lil nudge, you're welcome 🫢.

The name of the network interface to probe routers for must be specified. Non-negotiable, it's required, periodt.


πŸŽ€ OPTIONS πŸŽ€

  • -1, --single β€” exit the second the first advertisement shows up. No waiting around, we're busy πŸ’…
  • -h, --help β€” show some help and dip.
  • -m, --multiple β€” wait for possible multiple advertisements and print all of them. This is the default btw, so if you didn't say anything, this is what you got ✨
  • -n, --numeric β€” if the optional parameter isn't a valid IPv6 address, don't even try to resolve it as a DNS hostname. Just no. πŸ™ˆ
  • -q, --quiet β€” only display the advertised IPv6 prefixes. If it fails, display absolutely nothing. That's mostly useful when you're calling the program from a shell script, where silence is golden πŸ“
  • -r attempts, --retry attempts β€” send ICMPv6 Router Discovery that many times until a reply is received, or just abort. By default, rdisc6 will try 3 times before aborting (that's MAX_RTR_SOLICITATIONS from RFC2461, iykyk).
  • -s source_ip, --source source_ip β€” specify the IPv6 address to be used as the source for the router solicitation packets πŸ‘‘
  • -V, --version β€” display program version and license, then exit. Iconic.
  • -v, --verbose β€” display verbose information. That is the default, so congrats, you're already verbose 🌈
  • -w wait_ms, --wait wait_ms β€” wait wait_ms milliseconds for a response before retrying. By default, rdisc6 waits 4 second between each attempts (RTR_SOLICITATION_INTERVAL from RFC2461, no cap).
Okay so exit codes, pay attention bestie: if rdisc6 does not receive any response after the specified number of attempts, waiting wait_ms milliseconds each time, it will exit with code 2. On error, it exits with code 1. Otherwise it exits with code 0. Simple as πŸ’–

πŸ” SECURITY πŸ”

rdisc6 must be setuid root to allow use by non privileged users. And before any attempt is made to send or receive data from the network, it will drop its root privileges β€” that's to reduce the possible impact of a security vulnerability. Responsible king behavior, we love to see it πŸ‘‘


πŸ‘€ SEE ALSO πŸ‘€

ndisc6(8), ipv6(7)


πŸ’œ AUTHOR πŸ’œ

RΓ©mi Denis-Courmont <remi at remlab dot net>

http://www.remlab.net/ndisc6/


That's the whole vibe, bestie πŸ’… β€” this page is rdisc6 from the System Manager's Manual, dated $Date$, and it's filed under RDISC6(8). Go discover some routers, you got this πŸ¦‹πŸ’–