n-m brings down slave interfaces like eth0:10

Bug #95968 reported by David Ames on 2007-03-25
12
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: ifupdown

On boot up ifup fails to bring up alias interfaces. The interface is in a n unknown state.
 ifconfig

eth0 Link encap:Ethernet HWaddr 00:19:D1:2A:A1:BF
          inet addr: 192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
          inet6 addr: fe80::219:d1ff:fe2a:a1bf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:757029 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1354807 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:81622523 (77.8 MiB) TX bytes:1963317055 (1.8 GiB)
          Base address:0xecc0 Memory:dffe0000-e0000000

lo Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:60616 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60616 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11290708 (10.7 MiB) TX bytes:11290708 (10.7 MiB)

Try to bring up eth0:10
$ sudo ifup eth0:10
ifup: interface eth0:10 already configured

To manually resolve bring the interface down and then back up
$ sudo ifdown eth0:10
SIOCSIFFLAGS: Cannot assign requested address
$ sudo ifup eth0:10
SIOCSIFFLAGS: Cannot assign requested address
$ ifconfig eth0:10
eth0:10 Link encap:Ethernet HWaddr 00:19:D1:2A:A1:BF
          inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          Base address:0xecc0 Memory:dffe0000-e0000000

 I don't see anything in dmesg or any other logs. Let me know if there is a log file you need for more information.

David Ames

David Ames (thedac) wrote :

Here is the interfaces file.

I have tried with and without the network and broadcast settings.

David Ames

Changed in ifupdown:
importance: Undecided → Medium
status: Unconfirmed → Confirmed
Brian Murray (brian-murray) wrote :

I confirm this behavior in Feisty. The same information in '/etc/network/interfaces' works in Edgy.

Tollef Fog Heen (tfheen) on 2007-03-30
Changed in ifupdown:
assignee: nobody → fabbione

The problem her e is network-manager that doesn't know how to handle alias interfaces.

When n-m resets the primary interface, the alias is taken down but not reconfigured.

Fabio

Changed in ifupdown:
assignee: fabbione → nobody

> I don't see anything in dmesg or any other logs. Let me know if there
> is a log file you need for more information.

Your /etc/network/interfaces would be helpful.

David Ames (thedac) wrote :

On Fri, Mar 30, 2007 at 02:25:27PM -0000, Soren Hansen wrote:
> Your /etc/network/interfaces would be helpful.

Interfaces file is attached.

--
David

Current Feisty's version brings up the interfaces on boot with your /e/n/i, and network-manager ignores them (goes into 'manual configuration' state). However, n-m does shut down the subinterfaces when I remove the main 'eth0' stanza. However, this is not a supported configuration, it seems, since ifupdown itself is not able to bring it up (it fails with 'SIOCSIFFLAGS: Cannot assign requested address'). Thus this network-manager upload has fixed this case:

network-manager (0.6.4-6ubuntu4) feisty; urgency=low

  * /etc/network/interfaces can have more than one instance of the same
    interface. For example:

    iface eth0 inet dhcp
    and later
    iface eth0 inet6 static

    The function ifparser_getif is capable only to return the first instance
    of eth0 that is a legal entry for NM to take over, but NM still does not
    know how to handle what's next.

    Patch 19_interfaces_can_have_more_than_one_instance.patch creates a sub
    list of linked if_block via nextsame, binding together all if_block's
    related to the same interface and preserving if_data for each block.

    Patch 20_do_not_take_over_dhcpv4iface_when_v6_is_configured.patch
    blacklist interfaces that have dhcp for inet configuration but have an
    inet6 entry following later on. NM does not know yet how to
    store/restore/configure IPv6 (blacklisted too) so for now we tell NM
    to keep the hands off these interfaces.

    (Closes LP: #93636)

 -- Fabio M. Di Nitto <email address hidden> Fri, 30 Mar 2007 11:17:42 +0200

Changed in network-manager:
status: Confirmed → Fix Released

Martin, sorry but this is a bug and needs to be addressed. My fix for ipv6 doesn't solve this specific issue.

There are multiple problems here. one n-m that doesn't know how to cope with alias interfaces. two the kernel brings down the alias interfaces when shutting down the main one (that's what triggers n-m to remove everything basically).

The kernel "issue" is a well known and wanted behaviour.

NM needs to grow a patch similar to the ipv6 one in order to track nextsamealias and ignore the main interface if the pointer is non null in the list.

Fabio

PS alias interfaces are common and support. we support the kernel and we do support ifupdown and they work just fine here.

Changed in network-manager:
status: Fix Released → Confirmed
Martin Pitt (pitti) wrote :

Fabio, can you please elaborate on that a bit? I don't see what network-manager does wrong with those devices, it simply ignores them. So this should rather be assigned back to ifupdown?

The problem is that network will still attempt to manage eth0 blantly ignoring that when taking down the primary interface, all the slaves like eth0:10 will go down too.

If you look at the backend code, you will see that network manager will register the interfaces in its list, but does not know how to manage them properly because to bring up eth0:10 you need to have eth0 up first. So they need a special ordering to be handled properly.

Try this:

ifconfig eth0 1.1.1.1 up
ifconfig eth0:10 2.2.2.2
ifconfig eth0 down

you will see that eth0:10 is down too.

network manager does reset all the interfaces to initizialize but doesn't bring back eth0:10. this is hardly an ifupdown bug. This behavior is well known and n-m simply doesn't know how to cope with it.

Fabio

Martin Pitt (pitti) wrote :

This might actually get solved with fixing bug 90267, so let's do that first and then see what remains to be done for this special case.

Alexander Sack (asac) wrote :

I just uploaded a fix that tackles bug 90267 to gutsy. As Martin pointed out, this might fix this bug as well. Can you please verify if latest network-manager fixes this bug for you as well? (0.6.5-0ubuntu7)

Thanks,

  - Alexander

Alexander Sack (asac) wrote :

in 0.6.5-0ubuntu13 network-manager doesn't touch any /etc/network/interfaces configure devices anymore. So this is probably fixed.

Thanks,
 - Alexander

Changed in network-manager:
status: Confirmed → Fix Released

I'd like to reopen this bug. I believe N-M has incorrect behavior in this case. When a interface is reset (say network cable unplugged), and N-M brings back up the primary interface, it should also bring up any aliased interfaces with it. Case in point, I eth0 and eth0:0
eth0 is DHCP
eth0:0 is statically assigned
When the network goes down for whatever reason eth0 & eth0:0 go down. When it comes back, eth0 comes back up but eth0:0 has to be done manually. Additionally, N-M has no way for me to see the aliased interface or to interact with it.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers