RADVD.CONF(5)
π NAME π
radvd.conf β literally the configuration file of the router advertisement daemon radvd. And yes bestie, this is the radvd.conf(5) page. Short, iconic, to the point. π
β¨ DESCRIPTION β¨
okay so this file is where you describe the info that gets included in the router advertisement (RA) of a specific interface. Itβs giving main character energy for your network config. π¦
The file contains one or more interface definitions of the form:
interface name {
list of interface specific options
list of prefix definitions
list of clients (IPv6 addresses) to advertise to
list of route definitions
list of RDNSS definitions
list of DNSSL definitions
list of ABRO definitions
list of NAT64 pref64 definitions
list of auto-ignore prefixes
list of acceptable RA source addresses
};
All the possible interface-specific options are detailed below. Each option has to be terminated by a semicolon. Options are not case sensitive, so donβt stress about caps. β¨
Prefix definitions are of the form:
prefix prefix/length {
list of prefix specific options
};
The prefix can be a network prefix or the address of the interface. Use the address of the interface when youβre using Mobile IPv6 extensions. π§
The special prefix ::/64 is also supported on systems that implement getifaddrs() β on other systems, configuration activation fails and radvd exits. When itβs configured, radvd picks all non-link-local prefix assigned to the interface and starts advertising it (unless itβs ignored with autoignoreprefixes). This may be applicable in non-6to4 scenarios where the upstream prefix might change. This option is incompatible with the Base6to4Interface option. The AdvRouterAddr option is always enabled when this configuration is used. π₯
All the possible prefix-specific options are described below. Each option has to be terminated by a semicolon. π
Decimal values are allowed only for MinDelayBetweenRAs, MaxRtrAdvInterval, and MinRtrAdvInterval. Decimal values should be used only when using Mobile IPv6 extensions. No cap. π
Route definitions are of the form:
route prefix/length {
list of route specific options
};
The prefix of a route definition should be a network prefix; it can be used to advertise more specific routes to the hosts. Slay. π
RDNSS (Recursive DNS server) definitions are of the form:
RDNSS ip [ip] [ip] {
list of rdnss specific options
};
Each RDNSS definition block has a maximum length of 2040 bytes including the header β this accommodates up to 127 addresses. If the length is exceeded, radvd will log a non-fatal error instead of sending the option. Not a crisis, just a lil log. π
DNSSL (DNS Search List) definitions are of the form:
DNSSL suffix [suffix] [suffix] [...] {
list of dnssl specific options
};
Each DNSSL definition block has a maximum length of 2040 bytes including the header, applied after the suffixes are encoded per RFC1035, section 3.1. If the length is exceeded, radvd will log a non-fatal error instead of sending the option. Same vibe. π
By default, radvd will send multicast route advertisements so that every node on the link can use them. The list of clients (IPv6 address) to advertise to, and accept route solicitations from, can be configured. If you do that, radvd does not send messages to the multicast addresses β only to the configured unicast addresses. Solicitations from other addresses are refused unless UnrestrictedUnicast is enabled. This is similar to UnicastOnly but includes periodic messages and incoming client access configuration. See the examples section for a use case of this. π
The definitions are of the form:
clients {
list of IPv6 addresses
};
Clients can be prefixed with ! to ignore them completely and never send advertisements to them. Blocked. π
By default, radvd will use the first link-local address for the interface as the source address for route advertisements. This can be overwritten by manually setting the list of acceptable source addresses. If done, radvd will use the first address from the interface that is present in the configured source addresses only.
Warning bestie: this functionality will NOT spoof the source address. It may still be useful in combination with VRRP or other functionality that do a virtual/failover MAC.
AdvRASrcAddress {
list of IPv6 addresses
};
ABRO (Authoritative Border Router Option) definitions are of the form:
abro IPv6-address {
list of abro specific options
};
NAT64 pref64 (the NAT64 prefix included in the router advertisements):
nat64prefix prefix/length {
list of NAT64 prefix specific options
};
The value of length can only be one of /32, /40, /48, /56, /64, or /96. No other numbers, bestie. π«
When using the special prefix ::/64, this option forms an ignore list for prefixes that should not be automatically generated and advertised. It has no effect on any other prefix definition. Cute. π
The definitions are of the form:
autoignoreprefixes {
list of IPv6 prefixes
};
πΈ INTERFACE SPECIFIC OPTIONS πΈ
okay bestie, these are the per-interface knobs β every single one, no skipping, no cap. π
IgnoreIfMissing on|offβ a flag saying whether the interface gets ignored if it does not exist at start-up. This is useful for dynamic interfaces that aren't active whenradvdstarts, or that get dynamically disabled and re-enabled whileradvdis running. Current versions ofradvdautomatically try to re-enable interfaces. EnablingIgnoreIfMissingalso quenches certain warnings in log messages relating to missing interfaces. Default:on.AdvSendAdvert on|offβ a flag saying whether the router sends periodic router advertisements and responds to router solicitations. This option no longer has to be specified first, but it needs to beonto enable advertisement on this interface. Default:off.UnicastOnly on|offβ says the interface link type only supports unicast. This prevents unsolicited advertisements from being sent, and causes solicited advertisements to be unicast to the soliciting node. This option is necessary for non-broadcast, multiple-access links, such as ISATAP. Default:off.UnrestrictedUnicast on|offβ a flag saying whether to respond to router solicitations when there is a list of clients configured. This allows regular unsolicited advertisements to be sent to some clients without ignoring router solicitations from unknown clients. Default:off.AdvRASolicitedUnicast on|offβ says router solicitations will be responded to with unicast router advertisements, as recommended by RFC7772. Large networks with a high concentration of mobile devices might experience, like, battery depletion when solicited Router Advertisement messages are multicast. This corresponds to the Cisco IOS optionipv6 nd ra solicited unicast. Default:on.MaxRtrAdvInterval secondsβ the maximum time allowed between sending unsolicited multicast router advertisements from the interface, in seconds. Must be no less than4seconds and no greater than65535seconds. Minimum when using Mobile IPv6 extensions:0.07. For values less than0.2seconds,0.02seconds is added to account for scheduling granularities as specified in RFC3775. Default:600seconds.MinRtrAdvInterval secondsβ the minimum time allowed between sending unsolicited multicast router advertisements from the interface, in seconds. Must be no less than3seconds and no greater than0.75 * MaxRtrAdvInterval. Minimum when using Mobile IPv6 extensions:0.03. Default:0.33 * MaxRtrAdvInterval.MinDelayBetweenRAs secondsβ the minimum time allowed between sending multicast router advertisements from the interface, in seconds. This applies to solicited multicast RAs. This is defined as the protocol constantMIN_DELAY_BETWEEN_RASin RFC4861. MIPv6 redefines this parameter to have a minimum of0.03seconds. Minimum when using Mobile IPv6 extensions:0.03. Default:3.AdvManagedFlag on|offβ when set, hosts use the administered (stateful) protocol for address autoconfiguration in addition to any addresses autoconfigured using stateless address autoconfiguration. The use of this flag is described in RFC 4862. Default:off.AdvOtherConfigFlag on|offβ when set, hosts use the administered (stateful) protocol for autoconfiguration of other (non-address) information. The use of this flag is described in RFC 4862. Default:off.AdvLinkMTU integerβ the MTU option is used in router advertisement messages to ensure that all nodes on a link use the same MTU value in those cases where the link MTU is not well known. If specified, i.e. not0, it must not be smaller than1280and not greater than the maximum MTU allowed for this link (e.g. ethernet has a maximum MTU of1500. See RFC 4864). Default:0.AdvReachableTime millisecondsβ the time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation. Used by the Neighbor Unreachability Detection algorithm (see Section 7.3 of RFC 4861). A value of zero means unspecified (by this router). Must be no greater than3,600,000milliseconds (1 hour). Default:0.AdvRetransTimer millisecondsβ the time, in milliseconds, between retransmitted Neighbor Solicitation messages. Used by address resolution and the Neighbor Unreachability Detection algorithm (see Sections 7.2 and 7.3 of RFC 4861). A value of zero means unspecified (by this router). Default:0.AdvCurHopLimit integerβ the default value that should be placed in the Hop Count field of the IP header for outgoing (unicast) IP packets. The value should be set to the current diameter of the Internet. The value zero means unspecified (by this router). Default:64.AdvDefaultLifetime secondsβ the lifetime associated with the default router, in units of seconds. The maximum value corresponds to18.2hours. A lifetime of0indicates that the router is not a default router and should not appear on the default router list. The router lifetime applies only to the router's usefulness as a default router; it does not apply to information contained in other message fields or options. Options that need time limits for their information include their own lifetime fields. Must be either zero or betweenMaxRtrAdvIntervaland65535seconds. Default:3 * MaxRtrAdvInterval(minimum 1 second).AdvDefaultPreference low|medium|highβ the preference associated with the default router, as either"low","medium", or"high". Default:medium.AdvSourceLLAddress on|offβ when set, the link-layer address of the outgoing interface is included in the RA. Default:on.RemoveAdvOnExit on|offβ upon shutdown, send a final advertisement with zero Router Lifetime. This should cause the router and routes to be immediately removed from the receiving end-nodes' route table. This may need to be disabled ("off") in avrrporcarpsetup. Default:on.AdvHomeAgentFlag on|offβ when set, indicates that the sending router is able to serve as a Mobile IPv6 Home Agent. When set, minimum limits specified by Mobile IPv6 are used forMinRtrAdvIntervalandMaxRtrAdvInterval. Default:off.AdvHomeAgentInfo on|offβ when set, the Home Agent Information Option (specified by Mobile IPv6) is included in Router Advertisements.AdvHomeAgentFlagmust also be set when using this option. Default:off.HomeAgentLifetime secondsβ the length of time in seconds (relative to the time the packet is sent) that the router is offering Mobile IPv6 Home Agent services. A value0must not be used. The maximum lifetime is65520seconds (18.2hours). This option is ignored ifAdvHomeAgentInfois not set. If bothHomeAgentLifetimeandHomeAgentPreferenceare set to their default values, the Home Agent Information Option will not be sent. Default:AdvDefaultLifetime.HomeAgentPreference integerβ the preference for the Home Agent sending this Router Advertisement. Values greater than0indicate a more preferable Home Agent, values less than0indicate a less preferable Home Agent. This option is ignored ifAdvHomeAgentInfois not set. If bothHomeAgentLifetimeandHomeAgentPreferenceare set to their default values, the Home Agent Information Option will not be sent. Default:0.AdvMobRtrSupportFlag on|offβ when set, the Home Agent signals it supports Mobile Router registrations (specified by NEMO Basic).AdvHomeAgentInfomust also be set when using this option. Default:off.AdvIntervalOpt on|offβ when set, the Advertisement Interval Option (specified by Mobile IPv6) is included in Router Advertisements. When set, minimum limits specified by Mobile IPv6 are used forMinRtrAdvIntervalandMaxRtrAdvInterval. The advertisement interval is based on the configuredMaxRtrAdvIntervalparameter except where this is less than200ms. In this case, the advertised interval is( MaxRtrAdvInterval + 20ms ). Default:off.AdvCaptivePortalAPI "URL"β when set, advertise the RFC8908 Captive-Portal API URL. See RFC8952 Captive Portal Architecture, RFC8910 Captive-Portal Identification in DHCP and Router Advertisements (RAs), and RFC8908 Captive Portal API for more information. Most likely you do not need this. Default: not included. π«Ά
β¨ PREFIX SPECIFIC OPTIONS β¨
AdvOnLink on|offβ bestie, when this is set it means the prefix can be used for on-link determination. When it's not set, the advertisement makes literally no statement about whether the prefix is on-link or off-link. Like, imagine a prefix where some addresses are on-link and others aren't β that's the vibe this covers. π¦
Default: on
AdvAutonomous on|offβ set this and the prefix can be used for autonomous address configuration, exactly as RFC 4862 specifies. iykyk π
Default: on
AdvRouterAddr on|offβ when set, the address of the interface gets sent instead of the network prefix β which is what Mobile IPv6 requires, periodt. And heads up: when it's set, the minimum limits specified by Mobile IPv6 are used forMinRtrAdvIntervalandMaxRtrAdvInterval. π
Default: off
AdvDHCPv6PDPreferred on|offβ when set, it signals that the network prefers clients use prefix delegation instead of grabbing individual addresses via SLAAC or DHCPv6 address assignment. Not me knowing exactly which RFC this is: see RFC 9762, "Using Router Advertisements to Signal the Availability of DHCPv6 Prefix Delegation to Clients". π
Default: off
AdvValidLifetime seconds|infinityβ how long, in seconds relative to when the packet is sent, the prefix stays valid for on-link determination. The symbolic valueinfinitymeans literal infinity (i.e. a value of all one bits (0xffffffff)). RFC 4862 uses this valid lifetime too. β
Warning tho: clients will ignore AdvValidLifetime of an existing prefix if the lifetime is below two hours, as required in RFC 4862 Section 5.5.3 point e). And ngl, RFC 4861's suggested default value is significantly longer: 30 days. π
Default: 86400 seconds (1 day)
AdvPreferredLifetime seconds|infinityβ how long, in seconds relative to when the packet is sent, addresses generated from the prefix via stateless address autoconfiguration stay preferred. The symbolic valueinfinitymeans infinity (i.e. all one bits,0xffffffff). See RFC 4862. π«Ά
Note: RFC 4861's suggested default value is significantly longer: 7 days.
Default: 14400 seconds (4 hours)
DeprecatePrefix on|offβ upon shutdown, this one makes radvd deprecate the prefix by announcing it in the radvd shutdown RA with a zero preferred lifetime and a valid lifetime slightly greater than 2 hours. That encourages end-nodes using this prefix to deprecate any associated addresses immediately. β¨
Okay so this is the important bit: only use this when one single router is announcing the prefix onto the link. Otherwise end-nodes will deprecate associated addresses even though the prefix is still totally valid for preferred use. Do not do this with multiple routers, fr fr. π
See RFC4862, section 5.5.3., "Router Advertisement Processing", part (e).
Default: off
DecrementLifetimes on|offβ this option makes radvd decrement the preferred and valid lifetimes for the prefix over time. By how much? By the number of seconds since the last RA. π
If radvd receives a SIGUSR1 signal, it resets the preferred and valid lifetimes back to the initial values radvd used when it started. If it never receives a SIGUSR1, the lifetimes keep decrementing until the preferred lifetime hits zero. After a final RA with a zero preferred lifetime, radvd stops announcing the prefix. And if a SIGUSR1 then resets the lifetimes, the prefix reappears in the RAs β main character energy, honestly. π
What's this for? It's intended to be used alongside a DHCPv6 client using the Identity Association for Prefix Delegation (IA_PD) option to acquire a prefix from a Delegating Router for use by a Requesting Router. In that scenario, the prefix(es) from within the delegated prefix that radvd announces would age in parallel with β and at the same rate as β the delegated prefix, and expire at approximately the same time, if the delegated prefix's life isn't extended. π
See RFC3633, "IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6".
Default: off
Base6Interface nameβ if this option is specified, this prefix gets combined with the IPv6 address of the interface specified byname. The resulting prefix length will be64. πBase6to4Interface nameβ if this option is specified, this prefix gets combined with the IPv4 address of interfacenameto produce a valid 6to4 prefix. The first 16 bits of this prefix get replaced by2002and the next 32 bits get replaced by the IPv4 address assigned to interfacenameat configuration time. The remaining 80 bits of the prefix (including the SLA ID) will be advertised as specified in the configuration file. See the next section for an example. π
If interface name isn't available at configuration time, a warning gets written to the log and this prefix is disabled until radvd is reconfigured.
This option enables systems with dynamic IPv4 addresses to update their advertised 6to4 prefixes just by restarting radvd or sending a SIGHUP signal to make radvd reconfigure itself. Slay. π₯
Note that 6to4 prefixes derived from dynamically-assigned IPv4 addresses should be advertised with a significantly shorter lifetime (see the AdvValidLifetime and AdvPreferredLifetime options).
For more info on 6to4, see RFC 3056.
Default: 6to4 is not used
π£οΈ ROUTE SPECIFIC OPTIONS π£οΈ
AdvRouteLifetime seconds|infinityβ the lifetime associated with the route, in units of seconds. The symbolic valueinfinitymeans infinity (i.e. a value of all one bits,0xffffffff). β
Default: 3 * MaxRtrAdvInterval
AdvRoutePreference low|medium|highβ the preference associated with the default router, as either"low","medium", or"high". π
Default: medium
RemoveRoute on|offβ upon shutdown, announce this route with a zero second lifetime. This should cause the route to be immediately removed from the receiving end-nodes' route table. Bye bestie βοΈ
Default: on
πΈ RDNSS SPECIFIC OPTIONS πΈ
AdvRDNSSLifetime seconds|infinityβ the maximum duration for how long the RDNSS entries are used for name resolution. A value of0means the nameserver must no longer be used. As described in RFC8106, using the default value or a larger value ensures the reliability of an entry even under the loss of RAs on links with a relatively high rate of packet loss. π¦
Default: 3*MaxRtrAdvInterval
FlushRDNSS on|offβ upon shutdown, announce the RDNSS entries with a zero second lifetime. This should cause the RDNSS addresses to be immediately removed from the end-nodes' list of Recursive DNS Servers. So clean. β¨
Default: on
π DNSSL SPECIFIC OPTIONS π
AdvDNSSLLifetime seconds|infinity;β the maximum duration for how long the DNSSL entries are used for name resolution. A value of0means the suffix should no longer be used. As described in RFC8106, using the default value or a larger value ensures the reliability of an entry even under the loss of RAs on links with a relatively high rate of packet loss. π«Ά
Default: 3*MaxRtrAdvInterval
FlushDNSSL on|offβ upon shutdown, announce the DNSSL entries with a zero second lifetime. This should cause the DNSSL entries to be immediately removed from the end-nodes' DNS search list. π
Default: on
π ABRO SPECIFIC OPTIONS π
AdvValidLifetime secondsβ the time, in units of [that], that the set of border router information is valid. A value of all zero bits assumes a default value of10,000(~one week). β³AdvVersionLow, AdvVersionHigh unsignedintegerβ both forms a 32-bit unsigned version number corresponding to the set of information contained in the RA message. π
π₯ NAT64 PREF64 SPECIFIC OPTIONS π₯
AdvValidLifetime secondsβ the length of time in seconds (relative to the time the packet is sent) that the prefix is valid for the purpose of NAT64 existence determination. If the value isn't a multiple of8, the validity gets rounded up to the next multiple of8. The maximum is65528seconds. β
Default: the lesser value of 3 * MaxRtrAdvInterval, or 65528
β¨ EXAMPLES β¨
Okay bestie, real configs time β this is where it all clicks. π‘
interface eth0
{
AdvSendAdvert on;
prefix 2001:db8:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
};
};
This one is literally saying the router advertisement daemon should advertise (AdvSendAdvert on;) the prefix 2001:db8:0:1:: which has a length of 64 on the interface eth0. Also the prefix should be marked as autonomous (AdvAutonomous on;) and as on-link (AdvOnLink on;). All the other options are left on their default values. π«Ά
To support movement detection of Mobile IPv6 Mobile Nodes, the address of interface should be used instead of network prefix:
interface eth0
{
AdvSendAdvert on;
prefix 2001:db8:0:1::4/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
For 6to4 support, include the Base6to4Interface option in each prefix section. When using a dynamic IPv4 address, set small prefix lifetimes to prevent hosts from retaining unreachable prefixes after a new IPv4 address has been assigned. When advertising on a dynamic interface (e.g., Bluetooth), skip the interface if it is not active yet. π¦
interface bnep0
{
IgnoreIfMissing on;
AdvSendAdvert on;
# Advertise at least every 30 seconds
MaxRtrAdvInterval 30;
prefix 0:0:0:5678::/64
{
AdvOnLink on;
AdvAutonomous on;
Base6to4Interface ppp0;
# Very short lifetimes for dynamic addresses
AdvValidLifetime 300;
AdvPreferredLifetime 120;
};
};
Since 6to4 is enabled, the prefix will be advertised as 2002:WWXX:YYZZ:5678::/64, where WW.XX.YY.ZZ is the IPv4 address of ppp0 at configuration time. (IPv6 addresses are written in hexadecimal whereas IPv4 addresses are written in decimal, so the IPv4 address WW.XX.YY.ZZ in the 6to4 prefix will be represented in hex.) π§
In this specific case, the configuration scripts may send HUP signal to radvd when taking bnep0 up or down to notify about the status; in the current radvd releases, sending HUP is no longer mandatory when the link comes back up.
interface eth0
{
AdvSendAdvert on;
prefix 2001:db8:0:1::/64
{
AdvOnLink on;
AdvAutonomous on;
};
clients
{
fe80::21f:16ff:fe06:3aab;
fe80::21d:72ff:fe96:aaff;
};
};
This configuration would only announce the prefix to fe80::21f:16ff:fe06:3aab and fe80::21d:72ff:fe96:aaff. Furthermore, all RA requests of other clients are denied. π
This may come in handy if you want to roll out IPv6 only partially because some clients are broken or untested.
For ABRO support:
interface lowpan0
{
AdvSendAdvert on;
UnicastOnly on;
AdvCurHopLimit 255;
prefix 2001:0db8:0100:f101::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
abro fe80::a200:0:0:1/64 {
AdvVersionLow 10;
AdvVersionHigh 2;
AdvValidLifetime 2;
};
};
The NAT64 pref64 support:
interface eth0
{
prefix 2001:db8:100::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
nat64prefix 64:ff9b::/96 {
AdvValidLifetime 1800;
};
RDNSS 2001:db8:100::64 {
AdvRDNSSLifetime 1800;
};
};
π FILES π
These are the iconic paths, no cap:
/usr/sbin/radvd/etc/radvd.conf/run/radvd/radvd.pid/var/log/radvd.log
π CREDIT π
The description of the different flags and variables is in large parts taken from RFC 4861. Credit where credit is due, bestie. π
π RFCS π
The receipts, fr fr:
- Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 4861, September 2007.
- Thomson, S., Narten, T., T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007.
- Deering, S., and R. Hinden, "IP Version 6 Addressing Architecture", RFC 4291, February 2006.
- Conta, A., Deering, S., and M. Gupta "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6)", RFC 4443, March 2006.
- Crawford, M., "Transmission of IPv6 Packets over Ethernet Networks", RFC 2464, December 1998.
- Carpenter B., K. Moore, "Connection of IPv6 Domains via IPv4 Clouds", RFC 3056, February 2001. (6to4 specification)
- Draves, R., D. Thaler, "Default Router Preferences and More-Specific Routes", RFC 4191, November 2005.
- Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004.
- Devarapalli, V., Wakikawa, R., Petrescu, A., and P. Thubert "Network Mobility (NEMO) Basic Support Protocol", RFC 3963, January 2005.
- Z. Shelby, S. Chakrabarti, E. Nordmark and C. Bormann " Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)", RFC 6775, November 2012.
- Gont, F. "Security Implications of IPv6 Fragmentation with IPv6 Neighbor Discovery", RFC 6980, August 2013.
- Yourtchenko, A. and Colitti, L. "Reducing Energy Consumption of Router Advertisements", RFC 7772, February 2016.
- J. Jeong, S. Park, L. Beloeil, and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 8106, March 2017.
- L. Colitti, and J. Linkova, "Discovering PREF64 in Router Advertisements", RFC 8781, April 2020.
π SEE ALSO π
π AUTHORS π
See radvd.8 manpage for authors.
That's the whole vibe, bestie: this page is from radvd 2.21, dated 30 Dec 2024, and it's literally RADVD.CONF(5). Go configure something iconic. πβ¨π
π¦ where this page comes from
- alpine 3.24: radvd-doc 2.21-r0 Β· BSD-Advertising-Acknowledgement
- opensuse-leap 16.0: radvd 2.21-160000.1.1 Β· radvd
- opensuse-leap 16.0: radvd 2.21-160000.1.1 Β· radvd
- opensuse-leap 16.0: radvd 2.21-160000.1.1 Β· radvd
- opensuse-leap 16.0: radvd 2.21-160000.1.1 Β· radvd
- Copyright 1996-2000 by the above mentioned author(s)
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms