Package: ifupdown
Version: 0.8.45
Severity: normal
Tags: patch


Dear Maintainer,

*** Reporter, please consider answering these questions, where appropriate ***
When configuring an interface with IPv6 DHCP, ifupdown waits for the
IPv6 link-local address before starting the DHCPv6 client.

The default timeout is too short for some environments. The default
setting is:

    ll-attempts = 60
    ll-interval = 0.1

which means the maximum wait time is only about 6 seconds.

On systems where the interface is connected through a Linux bridge with
Spanning Tree Protocol (STP) enabled, the bridge may stay in the
Listening/Learning states for around 30 seconds before forwarding
traffic. During this period, IPv6 Neighbor Discovery cannot complete,
and no link-local address is assigned.

As a result, ifupdown gives up waiting for the link-local address before
the interface becomes operational. DHCPv6 configuration therefore fails,
even though the interface becomes usable a short time later.

Steps to reproduce:

1. Create a Linux bridge with STP enabled.
2. Connect an interface through the bridge.
3. Configure the interface with:

       iface br0 inet6 dhcp

4. Bring the interface up with ifup.

Observed result:

ifupdown stops waiting after approximately 6 seconds and DHCPv6
configuration fails because no IPv6 link-local address has appeared yet.

Expected result:

ifupdown should either:

 * wait significantly longer by default (for example around 30 seconds),
   or
 * automatically adapt the timeout when STP is enabled, or
 * clearly document that users should increase ll-attempts when STP is
   used.

Workaround:

Adding

    ll-attempts 300

to the interface configuration increases the timeout to about 30 seconds
and avoids the problem.

This suggests that the current default timeout is too aggressive for
networks using STP.

-- Package-specific info:
--- /etc/network/interfaces:
#/etc/network/interfaces
source /etc/network/interfaces.d/*


--- /etc/network/interfaces.d/*:
#need  apt install vlan
auto enp2s0.3 enp2s0.1

#in_net
iface enp2s0.1 inet manual
vlan-raw-device enp2s0

#need apt install bridge-utils
auto in_net
iface in_net inet static
bridge_ports enp2s0.1 tap8
bridge_stp on
bridge_maxwait 5
#bridge_fd 0
address 192.168.3.3
netmask 255.255.254.0
broadcast 192.168.3.255
network 192.168.2.0

iface in_net inet6 dhcp
#ll-attempts 300
post-up rm -f /etc/resolv.conf && cp /etc/my_resolv.conf /etc/resolv.conf ||true

auto lo
iface lo inet loopback


--- up and down scripts installed:
/etc/network/if-down.d:
total 8
lrwxrwxrwx 1 root root  33 Mar 11  2025 bridge -> 
/usr/lib/bridge-utils/ifupdown.sh
-rwxr-xr-x 1 root root 759 Aug 20  2024 resolved

/etc/network/if-post-down.d:
total 8
lrwxrwxrwx 1 root root   33 Mar 11  2025 bridge -> 
/usr/lib/bridge-utils/ifupdown.sh
-rwxr-xr-x 1 root root 1433 Aug 14  2024 vlan

/etc/network/if-pre-up.d:
total 16
lrwxrwxrwx 1 root root   33 Mar 11  2025 bridge -> 
/usr/lib/bridge-utils/ifupdown.sh
-rwxr-xr-x 1 root root  348 Aug 23  2025 ethtool
-rwxr-xr-x 1 root root 4224 Aug 14  2024 vlan

/etc/network/if-up.d:
total 16
-rwxr-xr-x 1 root root 1689 Aug 23  2025 ethtool
-rwxr-xr-x 1 root root  677 Aug 14  2024 ip
-rwxr-xr-x 1 root root 4665 Aug 20  2024 resolved


-- System Information:
Debian Release: forky/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 7.1.3+deb14-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ifupdown depends on:
ii  adduser   3.157
ii  iproute2  7.1.0-1
ii  libc6     2.42-17

Versions of packages ifupdown recommends:
ii  dhcpcd-base [dhcp-client]  1:10.3.2-4

Versions of packages ifupdown suggests:
pn  ppp     <none>
pn  rdnssd  <none>

-- no debconf information

  • Bug#1142040: ifupdown: bridge dhcpv6 fail, say "Could not ... liu shiwei

Reply via email to