Ok, I think this change item implements the idea that @strods mentioned here:
While this probably prevent the situation of accidental RA being sent on all interfaces after an upgrade from older versions, this is still less than ideal because:
-
There is a red warning text over the entries that have "Advertise DNS" turned on from previous versions:
Like all such warnings / errors, in the configuration export, a
# automatic dns option advertising is not started, re-apply dns configcomment will be included above the export entry, which is quite annoying.
-
While we can easily remove this warning by making some edit to the entries, we might not want to do that for the entry with the
allinterface. There are configurations where this entry is useful and must stay enabled with the Advertise DNS also active, such as when we have to deal with dynamic interfaces from connecting VPN clients. But if we (accidentally) make edit to theallentry and the warning is gone then we'll have the issue with rogue RA coming from the router again.
I think it would be a better behavior if:
-
RouterOS scraps the idea of handling "Advertise DNS" differently depending on whether the setting came from an upgrade or was manually set after 7.21.
-
Instead, RouterOS keeps the behavior introduced with 7.23 (sending out RA even if there is no matching
/ipv6 nd prefixentry) but only if the entry does not haveinterface=all, the entry must be set to a specific interface. If someone wants to advertise RA on a specific interface without prefix, they can always explicitly add a/ipv6 ndentry for that interface only. -
When the
/ipv6 ndentry hasinterface=all, then RA is only sent out for an interface if there is an entry for that interface under/ipv6 nd prefix.
In short, the pre-7.23 behavior is kept specifically for the entry with interface=all only. No special handling must be done for the configurations coming from older versions. RA is only sent without prefix entry for an interface if there is an explicit /ipv6 nd entry for that interface. The all entry is not enough for that. The all entry only works for interfaces that also have /ipv6 nd prefix entries (including dynamic entries from dynamic interfaces).
