[Bug 1295304] Re: ifdown -a fails with vlans on bonded interface

Stéphane Graber stgraber at stgraber.org
Sun Mar 23 20:28:54 UTC 2014


The problem specifically here is that both vlan's post-down hook and ifupdown both try to destroy the vlan, which obviously fails.
We could obviously make the deletion of the interface in ifupdown non-fatal, but I'm not convinced it's the right course of action if you intend people to use ifupdown directly for vlan management.

As for what seems to be lacking in ifupdown's own vlan implementation, from a quick look at the code, it looked like the following:
 - No way to trigger the vlan device creation when the parent device appears (from udev hook) which is required for event based network bring up in Ubuntu
 - Doesn't support all the interface name syntaxes supported by vlan's ifupdown hooks

For bridges, only the first of those two applies (we need a way for udev
to create any relevant bridge when a slave first appears on the
machine).

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifupdown in Ubuntu.
https://bugs.launchpad.net/bugs/1295304

Title:
  ifdown -a fails with vlans on bonded interface

Status in “ifupdown” package in Ubuntu:
  Fix Released
Status in “ifupdown” package in Debian:
  New

Bug description:
  This has been observed in trusty:
  ii  ifupdown                         0.7.47.2ubuntu1               amd64        high level tools to configure network interfaces

  VLAN interfaces are unable to be brought down properly with ifdown -a:

  $ sudo ifdown -av
  run-parts --verbose /etc/network/if-down.d
  run-parts: executing /etc/network/if-down.d/resolvconf
  run-parts: executing /etc/network/if-down.d/upstart
  Configuring interface bond0.205=bond0.205 (inet)
  run-parts --verbose /etc/network/if-down.d
  run-parts: executing /etc/network/if-down.d/resolvconf
  run-parts: executing /etc/network/if-down.d/upstart

  ip -4 addr flush dev bond0.205 label bond0.205
  run-parts --verbose /etc/network/if-post-down.d
  run-parts: executing /etc/network/if-post-down.d/bridge
  run-parts: executing /etc/network/if-post-down.d/ifenslave
  + BOND_PARAMS=/sys/class/net/bond0.205/bonding
  + IFSTATE=/run/network/ifstate
  + [ -f /sys/class/net/bond0.205/master/bonding/slaves ]
  + [ ! -f /sys/class/net/bond0.205/bonding/slaves ]
  + exit
  run-parts: executing /etc/network/if-post-down.d/vlan
  Removed VLAN -:bond0.205:-
  ip link del bond0.205
  Cannot find device "bond0.205"
  run-parts --verbose /etc/network/if-post-down.d
  run-parts: executing /etc/network/if-post-down.d/bridge
  run-parts: executing /etc/network/if-post-down.d/ifenslave
  + BOND_PARAMS=/sys/class/net/--all/bonding
  + IFSTATE=/run/network/ifstate
  + [ -f /sys/class/net/--all/master/bonding/slaves ]
  + [ ! -f /sys/class/net/--all/bonding/slaves ]
  + exit
  run-parts: executing /etc/network/if-post-down.d/vlan

  $ ifconfig
  bond0     Link encap:Ethernet  HWaddr 52:54:00:ae:24:cf
            inet addr:192.168.122.207  Bcast:192.168.122.255  Mask:255.255.255.0
            UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
            RX packets:114 errors:0 dropped:53 overruns:0 frame:0
            TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:0
            RX bytes:7630 (7.6 KB)  TX bytes:5102 (5.1 KB)

  bond0.201 Link encap:Ethernet  HWaddr 52:54:00:ae:24:cf
            inet addr:192.168.201.10  Bcast:192.168.201.255  Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:0 errors:0 dropped:0 overruns:0 frame:0
            TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:0
            RX bytes:0 (0.0 B)  TX bytes:42 (42.0 B)

  eth0      Link encap:Ethernet  HWaddr 52:54:00:ae:24:cf
            UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
            RX packets:56 errors:0 dropped:53 overruns:0 frame:0
            TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:3170 (3.1 KB)  TX bytes:0 (0.0 B)

  eth1      Link encap:Ethernet  HWaddr 52:54:00:ae:24:cf
            UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
            RX packets:58 errors:0 dropped:0 overruns:0 frame:0
            TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:4460 (4.4 KB)  TX bytes:5102 (5.1 KB)

  lo        Link encap:Local Loopback
            inet addr:127.0.0.1  Mask:255.0.0.0
            UP LOOPBACK RUNNING  MTU:65536  Metric:1
            RX packets:16 errors:0 dropped:0 overruns:0 frame:0
            TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:0
            RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

  We'd expect that all interfaces come down with 'ifdown -a', but we get
  this error.

  [Test Case]

  Create a Trusty VM with two network interfaces, or have hardware with
  two network interfaces.

  Change /etc/network/interfaces to the following:
  auto lo
  iface lo inet loopback

  auto eth0
  iface eth0 inet manual
          bond-master bond0

  auto eth1
  iface eth1 inet manual
          bond-master bond0

  auto bond0
  iface bond0 inet dhcp
          bond-slaves none
          bond-primary eth0
          bond-mode 1
          bond-miimon 100
          bond-updelay 200
          bond-downdelay 200

  auto bond0.201
  iface bond0.201 inet static
          address 192.168.201.10
          netmask 255.255.255.0

  auto bond0.205
  iface bond0.205 inet static
          address 192.168.205.10
          netmask 255.255.255.0

  --

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: ifupdown 0.7.47.2ubuntu1
  ProcVersionSignature: User Name 3.13.0-17.37-generic 3.13.6
  Uname: Linux 3.13.0-17-generic x86_64
  ApportVersion: 2.13.3-0ubuntu1
  Architecture: amd64
  Date: Thu Mar 20 18:16:49 2014
  ProcEnviron:
   TERM=vt102
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: ifupdown
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1295304/+subscriptions



More information about the foundations-bugs mailing list