summaryrefslogtreecommitdiff
path: root/src/systemd/src/libsystemd-network/sd-ipv4acd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemd/src/libsystemd-network/sd-ipv4acd.c')
-rw-r--r--src/systemd/src/libsystemd-network/sd-ipv4acd.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/systemd/src/libsystemd-network/sd-ipv4acd.c b/src/systemd/src/libsystemd-network/sd-ipv4acd.c
index 3efa8170b1..9f69088dea 100644
--- a/src/systemd/src/libsystemd-network/sd-ipv4acd.c
+++ b/src/systemd/src/libsystemd-network/sd-ipv4acd.c
@@ -443,7 +443,7 @@ int sd_ipv4acd_is_running(sd_ipv4acd *acd) {
return acd->state != IPV4ACD_STATE_INIT;
}
-int sd_ipv4acd_start(sd_ipv4acd *acd) {
+int sd_ipv4acd_start(sd_ipv4acd *acd, bool reset_conflicts) {
int r;
assert_return(acd, -EINVAL);
@@ -460,7 +460,9 @@ int sd_ipv4acd_start(sd_ipv4acd *acd) {
safe_close(acd->fd);
acd->fd = r;
acd->defend_window = 0;
- acd->n_conflict = 0;
+
+ if (reset_conflicts)
+ acd->n_conflict = 0;
r = sd_event_add_io(acd->event, &acd->receive_message_event_source, acd->fd, EPOLLIN, ipv4acd_on_packet, acd);
if (r < 0)