mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
network/ndisc: redirect routes do not have lifetime
Hence, ndisc_router_update_redirect() does nothing. Let's remove it. Also, ndisc_request_route() does not set lifetime for the route, it is not necessary to set the third argument.
This commit is contained in:
parent
33cab1d4ef
commit
ef6495ebb2
|
@ -591,23 +591,6 @@ static int ndisc_redirect_handler(Link *link, sd_ndisc_redirect *rd) {
|
||||||
return ndisc_request_redirect_route(link, rd);
|
return ndisc_request_redirect_route(link, rd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ndisc_router_update_redirect(Link *link) {
|
|
||||||
int r, ret = 0;
|
|
||||||
|
|
||||||
assert(link);
|
|
||||||
|
|
||||||
/* Reconfigure redirect routes to update their lifetime. */
|
|
||||||
|
|
||||||
sd_ndisc_redirect *rd;
|
|
||||||
SET_FOREACH(rd, link->ndisc_redirects) {
|
|
||||||
r = ndisc_request_redirect_route(link, rd);
|
|
||||||
if (r < 0)
|
|
||||||
RET_GATHER(ret, log_link_warning_errno(link, r, "Failed to update lifetime of the Redirect route: %m"));
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ndisc_drop_redirect(Link *link, const struct in6_addr *router, bool remove) {
|
static int ndisc_drop_redirect(Link *link, const struct in6_addr *router, bool remove) {
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
|
@ -2129,7 +2112,6 @@ static int ndisc_start_dhcp6_client(Link *link, sd_ndisc_router *rt) {
|
||||||
static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) {
|
static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) {
|
||||||
struct in6_addr router;
|
struct in6_addr router;
|
||||||
usec_t timestamp_usec;
|
usec_t timestamp_usec;
|
||||||
bool is_default;
|
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
assert(link);
|
assert(link);
|
||||||
|
@ -2170,7 +2152,6 @@ static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) {
|
||||||
r = ndisc_remember_default_router(link, rt);
|
r = ndisc_remember_default_router(link, rt);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
is_default = r;
|
|
||||||
|
|
||||||
r = ndisc_start_dhcp6_client(link, rt);
|
r = ndisc_start_dhcp6_client(link, rt);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
|
@ -2204,12 +2185,7 @@ static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) {
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
if (is_default) {
|
if (sd_ndisc_router_get_lifetime(rt, NULL) <= 0) {
|
||||||
r = ndisc_router_update_redirect(link);
|
|
||||||
if (r < 0)
|
|
||||||
return r;
|
|
||||||
|
|
||||||
} else if (sd_ndisc_router_get_lifetime(rt, NULL) <= 0) {
|
|
||||||
r = ndisc_drop_redirect(link, &router, /* remove = */ true);
|
r = ndisc_drop_redirect(link, &router, /* remove = */ true);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
return r;
|
return r;
|
||||||
|
|
Loading…
Reference in a new issue