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:
parent
5f33b2300b
commit
12f7469bbe
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user