1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00

network: Delay addition of IPv6 Proxy NDP addresses

Setting of IPv6 Proxy NDP addresses must be done at the same
time as static addresses, static routes, and other link attributes
that must be configured when the link is up. Doing this ensures
that they are reconfigured on the link if the link goes down
and returns to service.
This commit is contained in:
Kevin P. Fleming 2021-02-06 10:58:43 -05:00 committed by Yu Watanabe
parent 5f33b2300b
commit 12f7469bbe
2 changed files with 11 additions and 5 deletions

View File

@ -9,6 +9,7 @@
#include "netlink-util.h"
#include "networkd-address-pool.h"
#include "networkd-address.h"
#include "networkd-ipv6-proxy-ndp.h"
#include "networkd-manager.h"
#include "networkd-network.h"
#include "parse-util.h"
@ -911,6 +912,7 @@ int address_configure(
static int static_address_ready_callback(Address *address) {
Address *a;
Link *link;
int r;
assert(address);
assert(address->link);
@ -935,6 +937,10 @@ static int static_address_ready_callback(Address *address) {
link->addresses_ready = true;
r = link_set_ipv6_proxy_ndp_addresses(link);
if (r < 0)
return r;
return link_set_routes(link);
}
@ -1059,6 +1065,11 @@ int link_set_addresses(Link *link) {
if (link->address_messages == 0) {
link->addresses_configured = true;
link->addresses_ready = true;
r = link_set_ipv6_proxy_ndp_addresses(link);
if (r < 0)
return r;
r = link_set_routes(link);
if (r < 0)
return r;

View File

@ -29,7 +29,6 @@
#include "networkd-dhcp6.h"
#include "networkd-fdb.h"
#include "networkd-ipv4ll.h"
#include "networkd-ipv6-proxy-ndp.h"
#include "networkd-link-bus.h"
#include "networkd-link.h"
#include "networkd-lldp-tx.h"
@ -2036,10 +2035,6 @@ int link_configure(Link *link) {
if (r < 0)
return r;
r = link_set_ipv6_proxy_ndp_addresses(link);
if (r < 0)
return r;
r = link_set_mac(link);
if (r < 0)
return r;