Inherit preferred_lifetime value irrespective of whether ra_useleasetime
is set or not.
User-provided values for preferred_lifetime are now assigned, instead of
ignored.
Before:
==
ICMPv6 Option (Prefix information : fd51:1c2a:8909::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
Valid Lifetime: Infinity (
4294967295)
Preferred Lifetime: Infinity (
4294967295)
Reserved
Prefix: fd51:1c2a:8909::
==
After (preferred_lifetime set to 7 minutes):
==
ICMPv6 Option (Prefix information : fd51:1c2a:8909::/64)
Type: Prefix information (3)
Length: 4 (32 bytes)
Prefix Length: 64
Flag: 0xc0, On-link flag(L), Autonomous address-configuration flag(A)
Valid Lifetime: Infinity (
4294967295)
Preferred Lifetime: 420
Reserved
Prefix: fd51:1c2a:8909::
==
Signed-off-by: Paul Donald <newtwen@gmail.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
[ fix comment format and improve commit description ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
if (addr->preferred_lt > (uint32_t)now) {
preferred_lt = TIME_LEFT(addr->preferred_lt, now);
- if (iface->ra_useleasetime &&
- preferred_lt > iface->preferred_lifetime)
+ if (preferred_lt > iface->preferred_lifetime) {
+ /* set to possibly user mandated preferred_lt */
preferred_lt = iface->preferred_lifetime;
+ }
}
if (addr->valid_lt > (uint32_t)now) {