Revert "network: Don't send RA with zero router lifetime when restarting radv"
This reverts commit d469cea3bd
.
This commit is contained in:
parent
c1495f8e9d
commit
290696e512
|
@ -339,12 +339,12 @@ static int radv_timeout(sd_event_source *s, uint64_t usec, void *userdata) {
|
|||
return 0;
|
||||
|
||||
fail:
|
||||
sd_radv_stop(ra, true);
|
||||
sd_radv_stop(ra);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
_public_ int sd_radv_stop(sd_radv *ra, bool zero_router_lifetime) {
|
||||
_public_ int sd_radv_stop(sd_radv *ra) {
|
||||
int r;
|
||||
|
||||
assert_return(ra, -EINVAL);
|
||||
|
@ -354,15 +354,11 @@ _public_ int sd_radv_stop(sd_radv *ra, bool zero_router_lifetime) {
|
|||
|
||||
log_radv("Stopping IPv6 Router Advertisement daemon");
|
||||
|
||||
if (zero_router_lifetime) {
|
||||
/* RFC 4861, Section 6.2.5, send at least one Router Advertisement
|
||||
with zero lifetime */
|
||||
r = radv_send(ra, NULL, 0);
|
||||
if (r < 0)
|
||||
log_radv_errno(r, "Unable to send last Router Advertisement with router lifetime set to zero: %m");
|
||||
else
|
||||
log_radv("Sent last Router Advertisement with router lifetime set to zero");
|
||||
}
|
||||
/* RFC 4861, Section 6.2.5, send at least one Router Advertisement
|
||||
with zero lifetime */
|
||||
r = radv_send(ra, NULL, 0);
|
||||
if (r < 0)
|
||||
log_radv_errno(r, "Unable to send last Router Advertisement with router lifetime set to zero: %m");
|
||||
|
||||
radv_reset(ra);
|
||||
ra->fd = safe_close(ra->fd);
|
||||
|
|
|
@ -284,7 +284,7 @@ static int radv_recv(sd_event_source *s, int fd, uint32_t revents, void *userdat
|
|||
return 0;
|
||||
}
|
||||
|
||||
assert_se(sd_radv_stop(ra, true) >= 0);
|
||||
assert_se(sd_radv_stop(ra) >= 0);
|
||||
test_stopped = true;
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -188,7 +188,7 @@ static int dhcp6_pd_prefix_assign(Link *link, struct in6_addr *prefix,
|
|||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = sd_radv_stop(radv, false);
|
||||
r = sd_radv_stop(radv);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
|
|
|
@ -840,7 +840,7 @@ int link_stop_clients(Link *link, bool may_keep_dhcp) {
|
|||
}
|
||||
|
||||
if (link->radv) {
|
||||
k = sd_radv_stop(link->radv, true);
|
||||
k = sd_radv_stop(link->radv);
|
||||
if (k < 0)
|
||||
r = log_link_warning_errno(link, k, "Could not stop IPv6 Router Advertisement: %m");
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <inttypes.h>
|
||||
#include <net/ethernet.h>
|
||||
#include <netinet/in.h>
|
||||
#include <stdbool.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "_sd-common.h"
|
||||
|
@ -50,7 +49,7 @@ int sd_radv_detach_event(sd_radv *nd);
|
|||
sd_event *sd_radv_get_event(sd_radv *ra);
|
||||
|
||||
int sd_radv_start(sd_radv *ra);
|
||||
int sd_radv_stop(sd_radv *ra, bool zero_router_lifetime);
|
||||
int sd_radv_stop(sd_radv *ra);
|
||||
|
||||
int sd_radv_set_ifindex(sd_radv *ra, int interface_index);
|
||||
int sd_radv_set_mac(sd_radv *ra, const struct ether_addr *mac_addr);
|
||||
|
|
Loading…
Reference in a new issue