Currently the syntax validation for the preferred-lifetime and valid-lifetime fields in a prefix information option within the router advertisement configuration block does not allow the preferred lifetime duration to equal the valid lifetime duration. A reading of RFC 4861 § 4.6.2 states that the preferred lifetime cannot exceed the valid lifetime but does not say it cannot equate it. Attempting to set both values to be the same as below:
interface eth0 { prefix ::/64 { + preferred-lifetime 86400 valid-lifetime 86400 } }
will yield the following error on commit:
Prefix valid-lifetime must be greater then preferred-lifetime
radvd exhibits correct behaviour and will accept a radvd.conf with preferred lifetime equal to valid lifetime, so the issue exists solely in the validation stage within VyOS.
A side effect of this is that setting a preferred lifetime of infinity is not possible.
Relevant PRs:
https://github.com/vyos/vyos-1x/pull/1447
https://github.com/vyos/vyos-1x/pull/1448