DescriptionBeniamino Galvani
2022-01-12 10:24:25 UTC
Description of problem:
If a connection profile has connection.multi-connect=multiple, then the number of autoconnect retries is global across all connection attempts for the profile; instead it should be per-device.
Version-Release number of selected component (if applicable):
1.35.3, and any previous NM version since connection.multi-connect was introduced
Steps to Reproduce:
1. Prepare a machine with two interfaces eth0 and eth1 connected to a network without DHCP server
2. Create a connection profile with connection.multi-connect=multiple, connection.autoconnect-retries=2 and without interface name
3. Check that at boot the connection starts on both devices
Actual results:
4. After the connection fails on eth0, it is retried one time
5. After the connection fails on eth1, it is not retried because eth0 already decreased the autoconnect counter for the profile
Expected result:
4. After the connection fails on eth0, it is retried one time
5. After the connection fails on eth1, it is retried one time
Additional info:
In NM 1.26, nm-initrd-generator used to create profiles with 4 autoconnect retries and a DHCP timeout of 45 seconds. That means that for profiles bound to a single device NM would wait in the initramfs for 45*4=180 seconds. However, due to this bug, if the profile had multiconnect enabled (as for `ip=dhcp`) then some devices could wait 45s, some more, depending on the number of devices and activation order.
Since NM 1.30, nm-initrd-generator creates profiles with autoconnect-retries=1 and a DHCP timeout of 90 seconds, so this issue is no longer visible because each devices tries exactly one time.
However, the issue is still present for non-initramfs activations.