This repository is a mirror of https://git.openwrt.org/?p=project/odhcp6c.git. It is for reference only and is not active for checks-ins or reporting issues; issues should be reported at: https://bugs.openwrt.org. Pull requests will be accepted which will be merged in odhcp6c.git
GNU General Public License v2.0
78
stars
83
forks
source link
script: don't ignore RA with zero router lifetime #84
As per RFC 4861 (section 4.2), 0 is a valid value for Router Lifetime field in Router Advertisement messages. To quote from the RFC:
A Lifetime of 0 indicates that the router is not a default router and SHOULD NOT appear on the default router list.
In fact, this is the mechanism by which a router, previously advertising itself as a default router must invalidate itself. From the RFC 7084 (4.1, G-5):
By default, if the IPv6 CE router is an advertising router and loses its IPv6 default router(s) and/or detects loss of connectivity on the WAN interface, it MUST explicitly invalidate itself as an IPv6 default router on each of its advertising interfaces by immediately transmitting one or more Router Advertisement messages with the "Router Lifetime" field set to zero [RFC4861].
Given that Router Lifetime is stored in the valid field of the struct odhcp6c_entry, entries with the field set to 0 shouldn't be ignored when entry type is ENTRY_ROUTE.
As per RFC 4861 (section 4.2), 0 is a valid value for Router Lifetime field in Router Advertisement messages. To quote from the RFC:
In fact, this is the mechanism by which a router, previously advertising itself as a default router must invalidate itself. From the RFC 7084 (4.1, G-5):
Given that Router Lifetime is stored in the
valid
field of thestruct odhcp6c_entry
, entries with the field set to 0 shouldn't be ignored when entry type isENTRY_ROUTE
.