From 883399606f9e7807f59cdd1523926bc28989b51f Mon Sep 17 00:00:00 2001 From: Wen Liang Date: Tue, 5 Nov 2024 08:45:47 -0500 Subject: [PATCH] l3cfg: never retry ACD on NOARP interfaces After upgrading to RHEL-9.4, customers have reported that `ip monitor` repeatedly logs the same route additions every 30 seconds. This issue appears to stem from NetworkManager continually retrying to add the same routes due to keep retrying Address Conflict Detection (ACD) on NOARP interfaces. To prevent unnecessary route additions and reduce log noise, this change modifies NetworkManager's behavior to stop retrying ACD on interfaces with the NOARP flag. This fix addresses route instability and excessive logging for affected NOARP configurations. https://issues.redhat.com/browse/RHEL-59125 --- src/core/nm-l3cfg.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/core/nm-l3cfg.c b/src/core/nm-l3cfg.c index 5f4cf7b1d..43d620a75 100644 --- a/src/core/nm-l3cfg.c +++ b/src/core/nm-l3cfg.c @@ -3140,6 +3140,15 @@ handle_start_defending: * warning and start a timer to retry. This way (of having a timer pending) * we also back off and are rate limited from retrying too frequently. */ _LOGT_acd(acd_data, "start announcing failed to create probe (%s)", failure_reason); + + if (!nm_platform_link_uses_arp(self->priv.platform, self->priv.ifindex)) { + _LOGT_acd( + acd_data, + "give up on ACD and never retry since interface '%s' is configured with NOARP", + nmp_object_link_get_ifname(self->priv.plobj)); + return; + } + _l3_acd_data_timeout_schedule(acd_data, ACD_WAIT_TIME_ANNOUNCE_RESTART_MSEC); return; }