Package: ifupdown
Version: 0.8.13ubuntu2
Severity: normal
Tags: ipv6

Dear Maintainer,

This was originally reported under Ubuntu bug 1629972
(https://bugs.launchpad.net/bugs/1629972).

The systemd networking.service provided by ifupdown does 
  ExecStop=/sbin/ifdown -a --read-environment
That will take down the loopback (lo) device.  Bringing down the lo device
can completely break ipv6 networking.  The result is shutdown of a system
with an ipv6 network mounted root device will hang as it loses connection
to the root.

The fix is for networking.service to instead exclude lo device:
  ifdown -a --read-environment --exclude=lo
As is seen in the equivalent upstart job (networking.conf).

-- System Information:
Debian Release: stretch/sid
  APT prefers yakkety-updates
  APT policy: (500, 'yakkety-updates'), (500, 'yakkety-security'), (500, 
'yakkety')
Architecture: amd64 (x86_64)

Kernel: Linux 4.8.0-22-generic (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages ifupdown depends on:
ii  adduser              3.113+nmu3ubuntu4
ii  init-system-helpers  1.45
ii  iproute2             4.3.0-1ubuntu3
ii  libc6                2.24-3ubuntu1
ii  lsb-base             9.20160110ubuntu5

Versions of packages ifupdown recommends:
ii  isc-dhcp-client [dhcp-client]  4.3.3-5ubuntu15

Versions of packages ifupdown suggests:
ii  ppp     2.4.7-1+2ubuntu1
pn  rdnssd  <none>

-- no debconf information
diff --git a/debian/networking.service b/debian/networking.service
index 065c816..7d7af55 100644
--- a/debian/networking.service
+++ b/debian/networking.service
@@ -16,6 +16,6 @@ Type=oneshot
 EnvironmentFile=-/etc/default/networking
 ExecStartPre=-/bin/sh -c '[ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=lo)" ] && udevadm settle'
 ExecStart=/sbin/ifup -a --read-environment
-ExecStop=/sbin/ifdown -a --read-environment
+ExecStop=/sbin/ifdown -a --read-environment --exclude=lo
 RemainAfterExit=true
 TimeoutStartSec=5min

Reply via email to