Package: ifupdown Version: 0.7.47.2 Severity: normal Dear Maintainer,
When an interface fails to come up completely using ifup, the IP address is left on the interface and the default route is left in the routing table (the route only appears to cause problems for ipv6, as ipv4 routes seem to be removed along with the ipv4 address). This puts the interface into an inconsistent state which will prevent the interface from being brought up after resolving the script issue. This is especially problematic with the new IPv6 duplicate address detection, since if an 'inet6 static' interface comes up with no link the DAD script will fail. To reproduce: Example snippet from /etc/network/interfaces: iface eth5 inet static address 192.0.0.2 netmask 255.255.255.0 gateway 192.0.0.1 up /bin/false Next, bring up the interface: kibbles:~# ifup eth5 Failed to bring up eth5. kibbles:~# This is the expected behavior, since the 'up' script fails. Now, after commenting out the failing line, we get: kibbles:~# ifup eth5 RTNETLINK answers: File exists Failed to bring up eth5. kibbles:~# ifdown eth5 ifdown: interface eth5 not configured kibbles:~# This is not expected. Looking more closely, we see that the IP address is already configured on the interface and iproute is refusing to add it again (ipconfig was much more forgiving in this instance): kibbles:~# ifup -v eth5 Configuring interface eth5=eth5 (inet) run-parts --verbose /etc/network/if-pre-up.d run-parts: executing /etc/network/if-pre-up.d/bridge run-parts: executing /etc/network/if-pre-up.d/ethtool run-parts: executing /etc/network/if-pre-up.d/uml-utilities run-parts: executing /etc/network/if-pre-up.d/vde2 run-parts: executing /etc/network/if-pre-up.d/vlan run-parts: executing /etc/network/if-pre-up.d/wpasupplicant ip addr add 192.0.0.2/255.255.255.0 broadcast 192.0.0.255 dev eth5 label eth5 RTNETLINK answers: File exists Failed to bring up eth5. kibbles:~# ip addr show dev eth5 4: eth5: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000 link/ether 00:1b:21:6b:fa:29 brd ff:ff:ff:ff:ff:ff inet 192.0.0.2/24 brd 192.0.0.255 scope global eth5 valid_lft forever preferred_lft forever kibbles:~# Manually removing the address allows us to bring up the interface: kibbles:~# ip addr del 192.0.0.2/24 dev eth5 kibbles:~# ifup eth5 kibbles:~# The IPv6 case is similar, except you must also delete the default route. -- System Information: Debian Release: jessie/sid APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.13-1-amd64 (SMP w/8 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ifupdown depends on: ii adduser 3.113+nmu3 ii initscripts 2.88dsf-51 ii iproute2 3.12.0-2 ii libc6 2.18-4 ii lsb-base 4.1+Debian12 Versions of packages ifupdown recommends: ii isc-dhcp-client [dhcp-client] 4.2.4-7 Versions of packages ifupdown suggests: ii net-tools 1.60-25 ii ppp 2.4.5+git20130610-4 pn rdnssd <none> -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org