From 852bf93826b151be8b85d894071d95eb3b0d4498 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 11 Oct 2022 16:19:12 +0900 Subject: [PATCH] sd-ndisc: ignore failure in sending solicitation Even if a bonding master interface has carrier, the underlying slave interfaces may not. In such a case, sending solicitation fails with -ENOBUS. Here, let's unconditionally ignore errors, as anyway we will send a solicitation later. Fixes #24717. --- src/libsystemd-network/sd-ndisc.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/libsystemd-network/sd-ndisc.c b/src/libsystemd-network/sd-ndisc.c index 276370ef05..2cf0cebdeb 100644 --- a/src/libsystemd-network/sd-ndisc.c +++ b/src/libsystemd-network/sd-ndisc.c @@ -286,13 +286,12 @@ static int ndisc_timeout(sd_event_source *s, uint64_t usec, void *userdata) { goto fail; r = icmp6_send_router_solicitation(nd->fd, &nd->mac_addr); - if (r < 0) { - log_ndisc_errno(nd, r, "Error sending Router Solicitation: %m"); - goto fail; - } - - log_ndisc(nd, "Sent Router Solicitation, next solicitation in %s", - FORMAT_TIMESPAN(nd->retransmit_time, USEC_PER_SEC)); + if (r < 0) + log_ndisc_errno(nd, r, "Failed to send Router Solicitation, next solicitation in %s, ignoring: %m", + FORMAT_TIMESPAN(nd->retransmit_time, USEC_PER_SEC)); + else + log_ndisc(nd, "Sent Router Solicitation, next solicitation in %s", + FORMAT_TIMESPAN(nd->retransmit_time, USEC_PER_SEC)); return 0;