mirror of
https://github.com/rsmarples/dhcpcd.git
synced 2024-12-01 05:53:47 +08:00
If we receive a RA with a lifetime of 0, just expire it right away
and continue.
This commit is contained in:
parent
d2ff06a35f
commit
7c3772a868
12
ipv6rs.c
12
ipv6rs.c
@ -453,6 +453,17 @@ ipv6rs_handledata(_unused void *arg)
|
||||
break;
|
||||
}
|
||||
|
||||
nd_ra = (struct nd_router_advert *)icp;
|
||||
/* If the lifetime of the router is zero, just expire it
|
||||
* if we already have it and move on. */
|
||||
if (nd_ra->nd_ra_router_lifetime == 0) {
|
||||
if (rap) {
|
||||
rap->lifetime = 0;
|
||||
ipv6rs_expire(ifp);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/* We don't want to spam the log with the fact we got an RA every
|
||||
* 30 seconds or so, so only spam the log if it's different. */
|
||||
if (options & DHCPCD_DEBUG || rap == NULL ||
|
||||
@ -490,7 +501,6 @@ ipv6rs_handledata(_unused void *arg)
|
||||
}
|
||||
|
||||
get_monotonic(&rap->received);
|
||||
nd_ra = (struct nd_router_advert *)icp;
|
||||
rap->flags = nd_ra->nd_ra_flags_reserved;
|
||||
rap->lifetime = ntohs(nd_ra->nd_ra_router_lifetime);
|
||||
if (nd_ra->nd_ra_reachable) {
|
||||
|
Loading…
Reference in New Issue
Block a user