Re: F40 Change Proposal: Enable IPv4 Address Conflict Detection (Self-Contained)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 20, 2023 at 01:51:01PM -0600, Chris Adams wrote:
> Once upon a time, Aoife Moloney <amoloney@xxxxxxxxxx> said:
> > Enable IPv4 Address Conflict Detection by default in NetworkManager.
> 
> Huh, I didn't realize NM didn't already do this... ye olde
> network-scripts did.
> 
> > To the rescue comes [https://www.rfc-editor.org/rfc/rfc5227 RFC 5227]
> > (“IPv4 Address Conflict Detection”) which provides a mechanism to
> > detect address conflicts. A host implementing Address Conflict
> > Detection (from now on “ACD”) sends ARP probes for each IP address it
> > wants to use; if another host replies, the address is already in use
> > and can’t be configured on the interface.
> 
> How does NM handle a duplicate address if there are multiple addresses
> configured on the interface?  Does it continue with the non-dupe
> addresses or deconfigure the whole interface?

It continues with only the non-duplicate addresses. A warning will be
visible in the journal telling what address(es) failed ACD, and what
is the MAC address of the conflicting host(s).

If all the IPv4 addresses are found to be duplicate, the IPv4 address
family fails. Normally, NetworkManager also tries IPv6, but that
depends on other connection parameters such as 'ipv6.method',
'ipv4.may-fail'.

> When there are multiple addresses configured, does NM run DAD in series
> or parallel?

The probe is done in parallel for all addresses at the same time.

> > This change aims at enabling ACD by default in Fedora 40, by setting
> > the default value to 3000ms.
> 
> 3 seconds seems kind of high (IIRC network-scripts used 1 second).

network-scripts do [1]:

 /sbin/arping -c 2 -w ${ARPING_WAIT:-3} -D -I ${REALDEVICE} ${ipaddr[$idx]}

which waits 2 seconds by default.

In the original RFC, the duration of the ACD process is between 4 and
7 seconds (depending on randomization), which is clearly too long on
modern hardware.

In the Fedora change proposal, the default ACD interval in NM is set
to up to 3 seconds and is subject to the same randomization; in
practice it would be between ~1.7 and 3 seconds. Perhaps that's still
too much, and we can safely decrease it to e.g. 1 second max to reduce
the activation delay.

Beniamino

[1] https://github.com/fedora-sysv/initscripts/blob/10.19/network-scripts/ifup-eth#L296

Attachment: signature.asc
Description: PGP signature

--
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux