mirror of
https://github.com/systemd/systemd.git
synced 2024-10-31 16:21:26 +03:00
network: do not re-assign static routes when dynamic IPv6 addresses are updated
This effectively reverts 6545067aa9
.
Unlike IPv4 addresses, routes are not removed when IPv6 addresses are
removed. So, it is not necessary to re-assign routes.
This commit is contained in:
parent
3e405f28f4
commit
92395e0e83
@ -352,12 +352,6 @@ static int dhcp6_pd_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Lin
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
|
||||
r = link_set_routes(link);
|
||||
if (r < 0) {
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -618,14 +612,8 @@ static int dhcp6_pd_finalize(Link *link) {
|
||||
if (link->dhcp6_pd_address_messages == 0) {
|
||||
if (link->dhcp6_pd_prefixes_assigned)
|
||||
link->dhcp6_pd_address_configured = true;
|
||||
} else {
|
||||
} else
|
||||
log_link_debug(link, "Setting DHCPv6 PD addresses");
|
||||
/* address_handler calls link_set_routes() and link_set_nexthop(). Before they are
|
||||
* called, the related flags must be cleared. Otherwise, the link becomes configured
|
||||
* state before routes are configured. */
|
||||
link->static_routes_configured = false;
|
||||
link->static_nexthops_configured = false;
|
||||
}
|
||||
|
||||
if (link->dhcp6_pd_route_messages == 0) {
|
||||
if (link->dhcp6_pd_prefixes_assigned)
|
||||
@ -962,12 +950,6 @@ static int dhcp6_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
|
||||
r = link_set_routes(link);
|
||||
if (r < 0) {
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -1149,14 +1131,8 @@ static int dhcp6_lease_ip_acquired(sd_dhcp6_client *client, Link *link) {
|
||||
|
||||
if (link->dhcp6_address_messages == 0)
|
||||
link->dhcp6_address_configured = true;
|
||||
else {
|
||||
else
|
||||
log_link_debug(link, "Setting DHCPv6 addresses");
|
||||
/* address_handler calls link_set_routes() and link_set_nexthop(). Before they are
|
||||
* called, the related flags must be cleared. Otherwise, the link becomes configured
|
||||
* state before routes are configured. */
|
||||
link->static_routes_configured = false;
|
||||
link->static_nexthops_configured = false;
|
||||
}
|
||||
|
||||
if (link->dhcp6_route_messages == 0)
|
||||
link->dhcp6_route_configured = true;
|
||||
|
@ -412,12 +412,6 @@ static int ndisc_address_handler(sd_netlink *rtnl, sd_netlink_message *m, Link *
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
|
||||
r = link_set_routes(link);
|
||||
if (r < 0) {
|
||||
link_enter_failed(link);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
@ -1244,16 +1238,9 @@ static int ndisc_router_handler(Link *link, sd_ndisc_router *rt) {
|
||||
|
||||
if (link->ndisc_addresses_messages == 0)
|
||||
link->ndisc_addresses_configured = true;
|
||||
else {
|
||||
else
|
||||
log_link_debug(link, "Setting SLAAC addresses.");
|
||||
|
||||
/* address_handler calls link_set_routes() and link_set_nexthop(). Before they are
|
||||
* called, the related flags must be cleared. Otherwise, the link becomes configured
|
||||
* state before routes are configured. */
|
||||
link->static_routes_configured = false;
|
||||
link->static_nexthops_configured = false;
|
||||
}
|
||||
|
||||
if (link->ndisc_routes_messages == 0)
|
||||
link->ndisc_routes_configured = true;
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user