Ubuntu

IPv6=automatic breaks IPv4

Reported by j^ on 2008-10-17
96
This bug affects 15 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Medium
Unassigned

Bug Description

Binary package hint: network-manager

after switching networks, or suspend ipv6 addresses are no longer discovered properly.
sometime the default route is gone and never gets added again.
sometimes the ipv6 address is no longer assigned.
this is on a network with radvd running on the router.

Changing IPv6=ignore allows IPv4 to continue

network-manager:
  Installed: 0.7~~svn20081015t024626-0ubuntu1
  Candidate: 0.7~~svn20081015t024626-0ubuntu1
  Version table:
 *** 0.7~~svn20081015t024626-0ubuntu1 0
        500 http://archive.ubuntu.com intrepid/main Packages
        100 /var/lib/dpkg/status

Pedro Villavicencio (pedro) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. The issue that you reported is one that should be reproducible with the live environment of the Desktop CD of the development release the Karmic Koala. It would help us greatly if you could test with it so we can work on getting it fixed in the next release of Ubuntu. You can find out more about the development release at http://www.ubuntu.com/testing/ . Thanks again and we appreciate your help.

Changed in network-manager (Ubuntu):
status: New → Incomplete
importance: Undecided → Low
j^ (j) wrote :

this is still the case with my system after upgrading to karmic, will download iso image and verify that it also happens with the live environment.

j^ (j) wrote :

tried live cd, enabling the wl driver it crashed, will try again with next alpha.

also tried on a 32bit laptop that also uses the wl driver but another chip, there i get an ip6 address.

here more details for the laptop that fails:
64bit install over the wireless interface, using the wl driver.
filename: /lib/modules/2.6.31-9-generic/updates/dkms/wl.ko
vermagic: 2.6.31-9-generic SMP mod_unload modversions

lspci -v
02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
 Subsystem: Apple Computer Inc. Device 0088
 Flags: bus master, fast devsel, latency 0, IRQ 16
 Memory at 90500000 (64-bit, non-prefetchable) [size=16K]
 Memory at 90000000 (64-bit, prefetchable) [size=1M]
 Capabilities: [40] Power Management version 2
 Capabilities: [58] Vendor Specific Information <?>
 Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
 Capabilities: [d0] Express Endpoint, MSI 00
 Capabilities: [100] Advanced Error Reporting <?>
 Capabilities: [13c] Virtual Channel <?>
 Capabilities: [160] Device Serial Number XX-XX-XX-XX-XX-XX-XX-XX
 Capabilities: [16c] Power Budgeting <?>
 Kernel driver in use: wl
 Kernel modules: wl, ssb

Jasey (jason-rivers) wrote :

this is a BIG show stopper for me.

the New Network Manager handling IPv6 is a good idea, but it times out before RADVD gives my system an address - I have had te re-enable IPv4 on my network, and disable IPv6 on my system JUST to get my system on the network - this is unacceptable behaviour. and really does need fixing.

I have been a big supporter of Ubuntu, but this makes the entire experience unusable for me. - note this is now released, and has not been fixed... this should not be "low" priority as it stops my network from working as it should.

Jason.

Jasey (jason-rivers) wrote :

This issue appears to still be here in the 10.04 code, it's still not fixed, and it's broken even more, before setting Network Manager to "Ignore" for IPv6, got around the problem and RADVD was able to issue address's still, the 10.04 code this does not work, it's all ignored and I have no IPv6.

IPv6 is the only way I can ssh into work servers, AKA, the only way I can do my job. Please can I request a priority upgrade, this will effect my work, and 10.04 is supposed to be an LTS release, so let's not leave it broken.

This should either be fixed, or downgraded back to how it was working before, BEFORE 10.04 is release.

Jason

khetzal (quetzalc) wrote :

Same problem here, i've to uninstall network-manager

Emmet Hikory (persia) on 2010-03-10
tags: added: ipv6
Markus Wigge (markus-cultcom) wrote :

I need to acknowledge this too.

For eth0 I had IPv6 set to "automatic, address only" and it worked quite fine until I suspended my notebook and resumed it again.
Then NetworkManager not even configures a valid IPv4 setup because it has trouble with the IPv6 RA announcements.

This is a BIG show stopper!!!

The only way to get a reliable IPv4 connection is to set IPv6 to "ignore" but then however even router advertisements are ignored. And I realy need IPv6!

On the other hand the selectable options are not very clear to me, what do I configure with "automatic" or "automatic, address only"? Statfull or stateless autoconfiguration? The dialog for IPv6 is kind of crap and needs to be clarified. And problems on either IPv4 or IPv6 should never prevent the other from being configured properly.

Vernon Mauery (vernon-mauery) wrote :

I am also currently running Lucid 10.04 and am seeing this problem. At home, I have a dual-stack set up with radvd running on my gateway. With the IPv6 set to automatic, I get both IPv4 and IPv6 addresses at home, but then when I get to the office, I get nothing. The infrastructure at the office has no IPv6. If I set IPv6 to ignore, then I get an IPv4 address.

These should not depend on each other. If IPv4 and IPv6 are both set to automatic, then whenever I plug in my networking cable, it should probe for both and set up whatever it finds. If it finds both, set up dual stack networking. If it finds only IPv4 or only IPv6, set that up and run with it.

How do we get this out of 'Incomplete' state and low priority into the eyes of a developer who cares?

summary: - IPv6 address no longer assigned via radvd
+ IPv6=automatic breaks IPv4
description: updated
Jasey (jason-rivers) wrote :

I don't like the description / summary changes here, you've just taken a bug and CHANGED it into a bug which you have.

The problem in this report is NOT that it brakes IP4, but the ract that IP6 doesn't work via RADVD with Network Manager. I do not have an IPv4 network , ONLY an IPv6 network. why change the bug to be something different?

The fact hat it breaks IPv4 is NOT true, if you watch what it does, it gets a valid IPv4 address, and you can use it without problems, until it decides that it can't find the IP6 address, and kills the connection. The bug for this is the fact that it HAS to have both address's. it should let you get on with stuff (and not disconnect the connection) when it has EITHER IPv4 OR IPv6. but my point still stands, you've just CHANGED the bug to be something else.

On Fri, Mar 19, 2010 at 1:11 AM, Jasey <email address hidden> wrote:
> I don't like the description / summary changes here, you've just taken a
> bug and CHANGED it into a bug which you have.

Okay, so change it back.

> The problem in this report is NOT that it brakes IP4, but the ract that
> IP6 doesn't work via RADVD with Network Manager. I do not have an IPv4
> network , ONLY an IPv6 network. why change the bug to be something
> different?

They sound like a very similar bug to me.

--Vernon

> The fact hat it breaks IPv4 is NOT true, if you watch what it does, it
> gets a valid IPv4 address, and you can use it without problems, until it
> decides that it can't find the IP6 address, and kills the connection.
> The bug for this is the fact that it HAS to have both address's. it
> should let you get on with stuff (and not disconnect the connection)
> when it has EITHER IPv4 OR IPv6. but my point still stands, you've just
> CHANGED the bug to be something else.
>
> --
> IPv6=automatic breaks IPv4
> https://bugs.launchpad.net/bugs/284874
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in “network-manager” package in Ubuntu: Incomplete
>
> Bug description:
> Binary package hint: network-manager
>
> after switching networks, or suspend ipv6 addresses are no longer discovered properly.
> sometime the default route is gone and never gets added again.
> sometimes the ipv6 address is no longer assigned.
> this is on a network with radvd running on the router.
>
> Changing IPv6=ignore allows IPv4 to continue
>
> network-manager:
>   Installed: 0.7~~svn20081015t024626-0ubuntu1
>   Candidate: 0.7~~svn20081015t024626-0ubuntu1
>   Version table:
>  *** 0.7~~svn20081015t024626-0ubuntu1 0
>         500 http://archive.ubuntu.com intrepid/main Packages
>         100 /var/lib/dpkg/status
>
>
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/284874/+subscribe
>

Having the same issue on Lucid:

ar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled...
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) started...
Mar 30 11:27:34 tthomas NetworkManager: <WARN> nm_ip6_device_new(): eth0: error reading /proc/sys/net/ipv6/conf/eth0/accept_ra: (4) Failed to open file '/proc/sys/net/ipv6/conf/eth0/accept_ra': No such file or directory
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) scheduled...
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 1 of 5 (Device Prepare) complete.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) starting...
Mar 30 11:27:34 tthomas NetworkManager: <info> (eth0): device state change: 4 -> 5 (reason 0)
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) successful.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 2 of 5 (Device Configure) complete.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) started...
Mar 30 11:27:34 tthomas NetworkManager: <info> (eth0): device state change: 5 -> 7 (reason 0)
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP4 Configure Get) scheduled...
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Beginning IP6 addrconf.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 3 of 5 (IP Configure Start) complete.
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP4 Configure Get) started...
Mar 30 11:27:34 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP4 Configure Get) complete.
Mar 30 11:27:45 tthomas NetworkManager: <info> Device 'eth0' IP6 addrconf timed out or failed.
Mar 30 11:27:45 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) scheduled...
Mar 30 11:27:45 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) started...
Mar 30 11:27:45 tthomas NetworkManager: <info> (eth0): device state change: 7 -> 9 (reason 5)
Mar 30 11:27:45 tthomas NetworkManager: <info> Marking connection 'Auto eth0' invalid.
Mar 30 11:27:45 tthomas NetworkManager: <info> Activation (eth0) failed.
Mar 30 11:27:45 tthomas NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) complete.
Mar 30 11:27:45 tthomas NetworkManager: <info> (eth0): device state change: 9 -> 3 (reason 0)
Mar 30 11:27:45 tthomas NetworkManager: <info> (eth0): deactivating device (reason: 0).

Of note is that I don't have an entry for eth0 under:
/proc/sys/net/ipv6/conf/etho/accept_ra

I do under all and default, which from my dealings with fedora should be used in cases where there aren't device specific settings.

Reinhard Tartler (siretart) wrote :

Confirmed on current lucid as well.

If the router advertisement fails for some reason, configuration of the network just fails even if an ipv4 via dhcp is assigned:

Apr 19 14:59:37 faui44a NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP4 Configure Get) complete.
Apr 19 14:59:37 faui44a dhclient: bound to 131.188.34.129 -- renewal in 1747 seconds.
Apr 19 14:59:48 faui44a NetworkManager: <info> Device 'eth0' IP6 addrconf timed out or failed.
Apr 19 14:59:48 faui44a NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) scheduled...
Apr 19 14:59:48 faui44a NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) started...
Apr 19 14:59:48 faui44a NetworkManager: <info> (eth0): device state change: 7 -> 9 (reason 5)
Apr 19 14:59:48 faui44a NetworkManager: <info> Marking connection 'auto' invalid.

Changed in network-manager (Ubuntu):
importance: Low → Medium
status: Incomplete → Confirmed
Vernon Mauery (vernon-mauery) wrote :

I noticed on a newly installed Lucid box that this was still the case. Exacerbating the problem for me was that I enabled ufw, but forgot to set 'IPV6=yes' in /etc/default/ufw. This blocked any ipv6 config packets and thus caused the failure of any ipv6 configuration. The default ipv6 firewall is pretty strict. After enabling the ipv6 firewall, which allows the appropriate packets in, my network was configured properly again with a dual stack.

But the situation still exists where I take my machine to a location that doesn't have any ipv6 routers and it fails to keep the ipv4 config.

Rafał Ochmański (rmopl) wrote :

I have the same problem -- cannot connect to the network with radvd and IPv6 configuration in network-manager set to automatic. It's not just IPv6, network-manager fails to connect at all overy any protocol when IPv6 configuration is set to automatic. For a while restarting network-manager (service network-manager restart) helped and it configured properly right after the restart but now it doesn't work at all, whether it's cable

avahi-daemon[1023]: Registering new address record for fe80::212:3fff:fef8:a592 on eth0.*.
NetworkManager: <info> Device 'eth0' IP6 addrconf timed out or failed.
NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) scheduled...
NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) started...
NetworkManager: <info> (eth0): device state change: 7 -> 9 (reason 5)
NetworkManager: <info> Marking connection 'Auto eth0' invalid.
NetworkManager: <info> Activation (eth0) failed.
NetworkManager: <info> Activation (eth0) Stage 4 of 5 (IP6 Configure Timeout) complete.
NetworkManager: <info> (eth0): device state change: 9 -> 3 (reason 0)
NetworkManager: <info> (eth0): deactivating device (reason: 0).
NetworkManager: <info> (eth0): canceled DHCP transaction, dhcp client pid 2096

or wifi

NetworkManager: <info> Device 'eth1' IP6 addrconf timed out or failed.
NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP6 Configure Timeout) scheduled...
NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP6 Configure Timeout) started...
NetworkManager: <info> (eth1): device state change: 7 -> 9 (reason 5)
NetworkManager: <info> Activation (eth1) failed for access point (soynet)
NetworkManager: <info> Marking connection 'Auto soynet' invalid.
NetworkManager: <info> Activation (eth1) failed.
NetworkManager: <info> Activation (eth1) Stage 4 of 5 (IP6 Configure Timeout) complete.
NetworkManager: <info> (eth1): device state change: 9 -> 3 (reason 0)
NetworkManager: <info> (eth1): deactivating device (reason: 0).
NetworkManager: <info> (eth1): canceled DHCP transaction, dhcp client pid 2105
wpa_supplicant[1201]: CTRL-EVENT-DISCONNECTED - Disconnect event - remove keys

network-manager just times out and disconnects. The prefix is properly advertised on the network:

#
# radvd configuration generated by radvdump 1.6
# based on Router Advertisement from fe80::ecd9:12ff:fe66:3cce
# received by interface br-lan
#

interface br-lan
{
 AdvSendAdvert on;
 # Note: {Min,Max}RtrAdvInterval cannot be obtained with radvdump
 AdvManagedFlag off;
 AdvOtherConfigFlag off;
 AdvReachableTime 0;
 AdvRetransTimer 0;
 AdvCurHopLimit 64;
 AdvDefaultLifetime 1800;
 AdvHomeAgentFlag off;
 AdvDefaultPreference medium;
 AdvSourceLLAddress on;

 prefix my:correct:prefix::/64
 {
  AdvValidLifetime 86400;
  AdvPreferredLifetime 14400;
  AdvOnLink on;
  AdvAutonomous on;
  AdvRouterAddr on;
 }; # End of prefix definition

 RDNSS fe80::ecd9:12ff:fe66:3cce
 {
  AdvRDNSSPreference 8;
  AdvRDNSSOpen off;
  AdvRDNSSLifetime 600;
 }; # End of RDNSS definition

Another machine running Ubuntu Studio without network-manager can autoconfigure just fine.

Rafał Ochmański (rmopl) wrote :

"Automatic, addresses only" setting yields the same result, no connection.

Rafał Ochmański (rmopl) wrote :

After recent updates the problems seem to have gone away. I don't know which update did it but it wasn't networking-manager.

Rafał Ochmański (rmopl) wrote :

I jumped to conclusion too fast. The bug is still there, automatic configuration just works sometimes.

I'm still a bit rough with IPv6, but configuring a manual v6 prefix allows dual stack and link-local networks (I didn't config a v6 static/default). Seems to be an autoconfig issue and or stateless config issue. Has anyone tried Stateful autoconfiguration (aka DHCP)??? I thought I tried it, but wasn't sure how to setup properly. I'm using 10.04 and a Cisco 3750 switch running IOS 12.2(53)SE

Mike

Also FWIW, I don't see any local v6 packets being generated when using wireshark. I see the RA and EIGRP's from the IOS Switch, but that's it.

Mike

Abraham Smith (adsmith) wrote :

This might be a workaround:
Set NM IPv6 to "Ignore".

After IPv4 is up (so in an if-up.d script, if you like), issue
ip -6 link set DEV down
ip -6 link set DEV up
where DEV is eth0 or wlan0 or whatever.
This will not take down the IPv4 network, but will put the IPv6 stack for that device back into a basic "wait and see" mode, where it should catch the next radvd broadcast.

It seems to work on my LAN, but this is only 3 machines...

Vernon Mauery (vernon-mauery) wrote :

I think Abraham's work-around might be the best I have seen yet, but still, 'Automatic' should really be 'use it if it is there, DON'T FAIL if it is not there.' The hack that I have been using is to go into the network manager's 'Edit Connections' dialog and under the 'Wired' tab, click on 'Add' to create a new wired connection. Then I can have two wired connections, one that ignores IPv6 and one that has it set to automatic. Then, based on where I am (at work or at home) I can choose the appropriate connection. Actually, it seems to fail nicely and choose the appropriate connection for me; I rarely have to force it to connect to the right connection. I got this inspiration from the wireless connections tab which has a connection defined for each of the WAPs that it connects to, each with the ability to choose IPv6 preferences. I wondered why I couldn't do the same with wired connections and lo and behold, I can.

That said, I think I might change my setup to match Abraham's.

Abraham Smith (adsmith) wrote :

I've just found that my suggestion in #20 this does not actually work in general.
It should be easiest to set with some echoing into /proc/sys/net/ipv6/conf/DEV/*

However, I have two machines that I want to listen to radvd. They have the same entries in that /proc/sys directory, but have different behavior, so I'm not really sure what's happening.

Abraham Smith (adsmith) wrote :

An update. This should be used instead:

echo 1 > /proc/sys/net/ipv6/conf/DEV/disable_ipv6
echo 0 > /proc/sys/net/ipv6/conf/DEV/disable_ipv6

This seems to work if NM's ipv6 setting is "ignore", but if it is set to "Link-local", then NM appears to somehow block the new address. I glanced briefly at the NM source to make sure Ignore doesn't do anything, but not enough the track down any actual problem.

The ip command a few comments earlier appears to sometimes confuse network-manager and cause it to reload the IPv4 connection, too.

In my opinion, there should be another option called "Opportunistic", which does what is desired here, and it should be the default. As IPv6 is being newly deployed, it is probably the correct thing to use if it happens to exist on a given network.

Abraham Smith (adsmith) wrote :

people reading this bug should also see
https://bugzilla.redhat.com/show_bug.cgi?id=538499

Could someone please test this in Maverick or confirm that the bug is still present? There were some changes made to the way IPv6 is handled upstream, but also requiring ISC-DHCPv4, which we don't have yet... but would be a clear plan for Natty.

It's very likely that with the correct settings in Maverick IPv6 addressing from radvd works quite well, but I don't have a setup to properly test this on.

Changed in network-manager (Ubuntu):
status: Confirmed → Incomplete
Vernon Mauery (vernon-mauery) wrote :

I just booted the 23 Sep 2010 daily Maverick build and thoroughly tested the network manager. By default, the settings don't match the dialog, but after changing the settings, all works well. What I mean by this is that by default, the IPv6 setting is to ignore. But it doesn't ignore (I got an address). After setting the IPv6 settings to automatic and leaving the 'Require IPv6' checkbox checked, I was still able to get a connection even without IPv6 available. I unchecked the box and all worked. Then I checked the box and my connection failed without IPv6 enabled.

Setting | IPv6 required | IPv6 not required
--------------------------------------------------
IPv6 available | IPv4 OK | IPv4 OK
IPv6 not avail | no connection | IPv4 OK

My conclusion is that while the initial settings still allow IPv6 despite what the dialog says, this bug is no longer an issue. Someone can open a bug for the initial settings if it is that bad. If this bug is targeted for Maverick, then it can be closed.

For those who care, I have attached a screenshot of the Maverick network manager settings dialogs.

Jasey (jason-rivers) wrote :

Thanks Vernon. That's good to know, I'll so some testing later.

Possibly a seperate bug, however. I couldn't help noticing on the screen-shot that the tickbox labels contradict the popup-help label. E.G:

for IP6:

Tickbox Label reads "Require IPv6 addressing for this connection to complete" - E.G IP6 MUST be there

but the popup help reads: "...allows the connection to complete if IPv6 fails but IPv4 configuration succeeds." EG IP6 DOESN'T have to be there.

Now I'm at a loss if it should be ticked or not, as the 2 labels completely contradict each-other.

J

The intended behavior is, AFAIK as written on the label; if the tooltip is contradicting then it is indeed a bug; note that what you're describing sounds like a bug as well (checking/unchecking with automatic or without not yielding consitent results). Could you open separate bug reports about these issues?

David Strauss (davidstrauss) wrote :

I've been able to work around this in Lucid by setting IPv6 to "Link-Local Only" for networks that don't have an IPv6 configuration Network Manager likes.

René Kliment (renekliment) wrote :

I had this problem as well and just updated to Ubuntu 10.10 (Maverick), as of today, I have it fully updated. As far as I can tell, the problem with autoconfiguring IPv6 address is gone. Yahoo! However, when I disconnect from my wired network (unplug the cable), the IPv6 address / route still persists, so when I connect wirelessly to IPv6 network, I cannot actually access the IPv6 network, because IPv6 routes are screwed - there's still the old one which was routed via wired interface. And about the thing, that you can choose if wheter IPv4 or IPv6 connection needs to be established to fire up the network profile - I saw the tickers, but I haven't tested it.

Marking as Fix Released due to the reports above and because there's been major work on IPv6 in Natty and even more on Oneiric (the current development release as of this writing).

Changed in network-manager (Ubuntu):
status: Incomplete → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.