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
This commit is contained in:
@@ -3140,6 +3140,15 @@ handle_start_defending:
|
|||||||
* warning and start a timer to retry. This way (of having a timer pending)
|
* 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. */
|
* 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);
|
_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);
|
_l3_acd_data_timeout_schedule(acd_data, ACD_WAIT_TIME_ANNOUNCE_RESTART_MSEC);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user