Bug 623409 - networkmanager does not set default route
Summary: networkmanager does not set default route
Status: RESOLVED DUPLICATE of bug 625770
: 617743 (view as bug list)
Alias: None
Product: openSUSE 11.3
Classification: openSUSE
Component: Basesystem (show other bugs)
Version: Final
Hardware: x86-64 openSUSE 11.3
: P5 - None : Critical with 9 votes (vote)
Target Milestone: ---
Assignee: Bin Li
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-19 10:59 UTC by Forgotten User 1tdUli2dGL
Modified: 2010-08-06 03:10 UTC (History)
7 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Forgotten User 1tdUli2dGL 2010-07-19 10:59:35 UTC
User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; de; rv:1.9.2.7) Gecko/20100701 Firefox/3.6.7

no connection set up with the network manager does work, because network manager does not set a default route; this bug affects both Gnome (nm-applet) und KDE (KNetworkManager), if network configuration is done via network manager

I have tested this on three different machines with both KDE and Gnome

# ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:27:07:C5  
          inet addr:10.0.0.125  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe27:7c5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:16620 (16.2 Kb)  TX bytes:6629 (6.4 Kb)

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:19 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1380 (1.3 Kb)  TX bytes:1380 (1.3 Kb)

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo


Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Comment 1 Bin Li 2010-07-20 04:09:33 UTC
Michael,

 Make sure your DHCP server already provide the correct server address first.

 Then kill the NetworkManager and run again in terminal like 'NetworkManager --no-daemon'. After you connect your NM, please attach your log in terminal and  'cat /var/lib/dhcp/dhclient*'.
Comment 2 Forgotten User 1tdUli2dGL 2010-07-20 06:18:02 UTC
my DHCP server is an ADSL router and works with all kind of OS, including previous openSUSE versions, Ubuntu, Fedora, Debian, Windows 7, Windows XP and Mac OS X

NetworkManager --no-daemon
NetworkManager: <info>  starting...
NetworkManager: <info>  modem-manager is now available
NetworkManager: Loaded plugin ifcfg-suse: (C) 2008 Novell, Inc.  To report bugs please use the NetworkManager mailing list.
NetworkManager: Loaded plugin keyfile: (c) 2007 - 2008 Red Hat, Inc.  To report bugs please use the NetworkManager mailing list.
NetworkManager: <info>  WiFi enabled by radio killswitch; enabled by state file
NetworkManager: <info>  WWAN enabled by radio killswitch; enabled by state file
NetworkManager: <info>  (eth0): carrier is ON
NetworkManager: <info>  (eth0): new Ethernet device (driver: 'e1000')
NetworkManager: <info>  (eth0): exported as /org/freedesktop/NetworkManager/Devices/0
NetworkManager: <info>  (eth0): now managed
NetworkManager: <info>  (eth0): device state change: 1 -> 2 (reason 2)
NetworkManager: <info>  (eth0): preparing device.
NetworkManager: <info>  (eth0): deactivating device (reason: 2).
NetworkManager: Added default wired connection 'Auto eth0' for /sys/devices/pci0000:00/0000:00:03.0/net/eth0
-- Error received: File exists
-- Original message: type=0x14 length=56 flags=<REQUEST,ACK,ATOMIC> sequence-nr=1279552104 pid=4212853
NetworkManager: <WARN>  default_adapter_cb(): bluez error getting default adapter: The name org.bluez was not provided by any .service files
NetworkManager: <info>  (eth0): device state change: 2 -> 3 (reason 0)
NetworkManager: <info>  Activation (eth0) starting connection 'Auto eth0'
NetworkManager: <info>  (eth0): device state change: 3 -> 4 (reason 0)
NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) scheduled...
NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) started...
NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) scheduled...
NetworkManager: <info>  Activation (eth0) Stage 1 of 5 (Device Prepare) complete.
NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) starting...
NetworkManager: <info>  (eth0): device state change: 4 -> 5 (reason 0)
NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) successful.
NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) scheduled.
NetworkManager: <info>  Activation (eth0) Stage 2 of 5 (Device Configure) complete.
NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) started...
NetworkManager: <info>  (eth0): device state change: 5 -> 7 (reason 0)
NetworkManager: <info>  Activation (eth0) Beginning DHCP transaction (timeout in 45 seconds)
NetworkManager: <info>  dhclient started with pid 18550
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP6 Configure Get) scheduled...
NetworkManager: <info>  Activation (eth0) Stage 3 of 5 (IP Configure Start) complete.
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP6 Configure Get) started...
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP6 Configure Get) complete.
Internet Systems Consortium DHCP Client 4.1.1-P1
Copyright 2004-2010 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

NetworkManager: <info>  DHCP: device eth0 state changed (null) -> preinit
Listening on LPF/eth0/08:00:27:fb:f0:0f
Sending on   LPF/eth0/08:00:27:fb:f0:0f
Sending on   Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER from 10.0.0.138
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.0.0.138
NetworkManager: <info>  DHCP: device eth0 state changed preinit -> bound
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP4 Configure Get) scheduled...
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP4 Configure Get) started...
NetworkManager: <info>    address 10.0.0.131
NetworkManager: <info>    prefix 24 (255.255.255.0)
NetworkManager: <info>    nameserver '10.0.0.138'
NetworkManager: <info>    domain name 'lan'
NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) scheduled...
NetworkManager: <info>  Activation (eth0) Stage 4 of 5 (IP4 Configure Get) complete.
NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) started...
bound to 10.0.0.131 -- renewal in 2947 seconds.
NetworkManager: <debug> [1279552097.016759] run_netconfig(): Spawning '/sbin/netconfig modify --service NetworkManager'
NetworkManager: <debug> [1279552097.018207] write_to_netconfig(): Writing to netconfig: INTERFACE='eth0'

NetworkManager: <debug> [1279552097.018242] write_to_netconfig(): Writing to netconfig: DNSSEARCH='lan lan'

NetworkManager: <debug> [1279552097.018253] write_to_netconfig(): Writing to netconfig: DNSSERVERS='10.0.0.138'

NetworkManager: <info>  Clearing nscd hosts cache.
cannot connect to /var/run/nscd/socket
NetworkManager: <info>  (eth0): device state change: 7 -> 8 (reason 0)
NetworkManager: <info>  Activation (eth0) successful, device activated.
NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete.



cat /var/lib/dhcp/dhclient*
lease {
  interface "eth0";
  fixed-address 10.0.0.131;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 10.0.0.138;
  option dhcp-server-identifier 10.0.0.138;
  option rfc3442-classless-static-routes_raw 0,10,0,0,138;
  option domain-name "lan";
  renew 1 2010/07/19 16:05:01;
  rebind 1 2010/07/19 16:51:00;
  expire 1 2010/07/19 17:06:00;
}
lease {
  interface "eth0";
  fixed-address 10.0.0.131;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 10.0.0.138;
  option dhcp-server-identifier 10.0.0.138;
  option rfc3442-classless-static-routes_raw 0,10,0,0,138;
  option domain-name "lan";
  renew 1 2010/07/19 15:57:23;
  rebind 1 2010/07/19 16:53:16;
  expire 1 2010/07/19 17:08:16;
}
lease {
  interface "eth0";
  fixed-address 10.0.0.126;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 10.0.0.138;
  option dhcp-server-identifier 10.0.0.138;
  option rfc3442-classless-static-routes_raw 0,10,0,0,138;
  option domain-name lan";
  renew 1 2010/07/19 12:17:33;
  rebind 1 2010/07/19 13:16:27;
  expire 1 2010/07/19 13:31:27;
}
Comment 3 Gerald Prommegger-Roth 2010-07-20 07:22:01 UTC
perhaps the problem is located in the dhclient?

openSuSE 11.3, /var/lib/dhclient*:

lease {
  interface "wlan0";
  fixed-address 10.0.0.2;
  option subnet-mask 255.255.255.0;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 10.0.0.138;
  option dhcp-server-identifier 10.0.0.138;
  option rfc3442-classless-static-routes_raw 0,10,0,0,138;<----------!!!!
  option domain-name "lan";
  renew 2 2010/07/20 07:41:12;
  rebind 2 2010/07/20 08:29:17;
  expire 2 2010/07/20 08:44:17;
}

setting default route does not work.

openSuSE 11.2, /var/lib/dhclient*:

lease {
  interface "wlan0";
  fixed-address 10.0.0.2;
  option subnet-mask 255.255.255.0;
  option routers 10.0.0.138;  <----------------!!!!
  option dhcp-lease-time 3600;
  option dhcp-message-type 5;
  option domain-name-servers 10.0.0.138;
  option dhcp-server-identifier 10.0.0.138;
  option domain-name "lan";
  renew 2 2010/07/20 07:25:18;
  rebind 2 2010/07/20 07:49:01;
  expire 2 2010/07/20 07:56:31;
}

here it seems to receive the information needed!

hth

gerald
Comment 4 Mikael Widersten 2010-07-22 17:52:07 UTC
I am suffering from this bug since upgrading from 11.2 to 11.3 (writing this from mobile broadband modem).

I have described the symptoms in this forum thread 

http://forums.opensuse.org/english/get-help-here/wireless/442169-11-3-unable-reach-outside-local-network-networkmanager-ifup-works.html

Briefly, wlan works if controlled by ifup but with networkmanager no route is set. The same behavior is seen also at init 3 i.e. this is not due to the KNM applet or plasmoid. (I am using the plasmoid for managing the mobile broadnband connection.)

This problem did not exist in openSUSE 11.1 and 11.2.

hardware: Lenovo X61s (Wireless 4965 AG or AGN [Kedron]) iwlagn driver.
openSUSE 11.3

/micke
Comment 5 Julio Nigaglioni 2010-07-22 22:03:04 UTC
I did a clean install of 11.3 in 32 bit and have exactly the same problem.  I was hoping to become a new opensuse user with this release, coming from another kde4 distro.  Like the author of Comment 4, I use my laptop in different settings (wired and wireless) and need instant connectivity.  Ifup is not an adequate solution for me.  Because of this problem I had to go back to the other distro.  I look forward for a solution to this problem.
Comment 6 Thomas Frühbeck 2010-07-24 23:01:27 UTC
I also think Gerald is right: the problem seems to be dhclient not honoring the newer option of RFC3443 Classless Static Route Option for DHCPv4:

option rfc3442-classless-static-routes_raw 0,10,0,0,138;

After research on this unpleasant topic I now finally understand, what this is all about :-(

Problem showed up in 11.3, no other variant of SuSE nor any other OS I use has this problem.

I know that this does NOT provide the NEEDed INFO, but this HAS to go on!
Comment 7 Bin Li 2010-07-25 14:33:45 UTC
I've write a patch for NetworkManager, you get it for testing.

I'm not sure if it should let NM process it or just let dhcp-client process it?
From https://bugs.launchpad.net/bugs/307204 I found they change the dhcp-client.

https://build.opensuse.org/package/binaries?package=NetworkManager&project=home:BinLi:branches:openSUSE:11.3:Update:Test&repository=standard
Comment 8 Bin Li 2010-07-25 14:38:46 UTC
Index: NetworkManager-0.8/src/dhcp-manager/nm-dhcp-dhclient.c
===================================================================
--- NetworkManager-0.8.orig/src/dhcp-manager/nm-dhcp-dhclient.c
+++ NetworkManager-0.8/src/dhcp-manager/nm-dhcp-dhclient.c
@@ -262,6 +262,23 @@ nm_dhcp_client_get_lease_ip4_config (con
                                goto error;
                        }
                        nm_ip4_address_set_gateway (addr, tmp.s_addr);
+               } else {
+                       /* When get the default Gateway failed, try to get static routers */
+                       /* option rfc3442-classless-static-routes_raw 0,10,0,0,138; */
+                       data = g_hash_table_lookup (hash, "option rfc3442-classless-static-routes_raw");
+                       if (data) {
+                               char *ipastr = g_strdup (data);
+                               g_strdelimit (ipastr, ',', '.');
+                               char *ipstr = strchr (ipastr, '.');
+
+                               if (!inet_pton (AF_INET, ipstr + 1, &tmp)) {
+                                       g_warning ("%s: couldn't parse IP4 gateway '%s'", __func__, data);
+                                       g_free (ipastr);
+                                       goto error;
+                               }
+                               g_free (ipastr);
+                               nm_ip4_address_set_gateway (addr, tmp.s_addr);
+                       }
                }

                nm_ip4_config_take_address (ip4, addr);
Comment 9 Bin Li 2010-07-25 15:04:16 UTC
I changed the wrong using g_strdelimit, now it build success, and I can't test it, so welcome testing.
Comment 10 Bin Li 2010-07-26 03:16:19 UTC
*** Bug 617743 has been marked as a duplicate of this bug. ***
Comment 11 Gerald Prommegger-Roth 2010-07-26 06:02:14 UTC
hi

thanks for your work. small problem:

http://download.opensuse.org/repositories/home:/BinLi:/branches:/openSUSE:/11.3:/Update:/Test/standard

leads to a html 404 error. it seems this dir doesnt exist on the server....

gerald
Comment 13 Thomas Frühbeck 2010-07-26 20:40:24 UTC
Hi,
wanted to test, but couldnt find any binaries, just a link leading to 404.
I am feeling a bit stupid :-?
Comment 14 Lars Müller 2010-07-27 11:15:24 UTC
http://download.opensuse.org/repositories/home:/BinLi:/branches:/openSUSE:/ doesn't have an openSUSE 11.3 directory.  The "Publish Flag" is not set.

At the URL you provided with comment #12 you only get the package sources and meta data.

@Thomas: It's not you.  The issue is on the other side. ;)
Comment 15 Scott Couston 2010-07-28 02:02:51 UTC
I am sorry to say that this issue was a result of taking NM access and configuration from Yast in 11.1 has caused problems that are not usable.
Whilst both IFUP and NM were configurable in Yast>Network Devices in 11.0 NM was perfect.
In 11.1 the only thing a user can do in Yast is change from NM to IFUP.
NM is greyed out after installation.
During a full installation, if Network Manager is selected and configured, everything works well but after Installation this configuration is not accessible as it becomes greyed out.
After Installation any NM config in Yast becomes really stuffed up by the KDE NM Settings and application and KDE's control of NM is lost.
All of this is 100% reproducible and we need to go back to having NM accessible and configurable after installation as in 11.1. - ATM 11.1-11.3 is so screwed up between Yast and KDE4 NM and KDE NM/VPN etc. etc 
We either need to get rid of ANY NM config in Yast and leave NM4 to function as designed by KDE or Revert back to 11.0.
Again all of the above is 100% reproducible during NON-Automated Installations.
Comment 16 D D 2010-07-28 11:14:29 UTC
(In reply to comment #15)
> After Installation any NM config in Yast becomes really stuffed up by the KDE NM ...

I'm running into the same problem on two computers with 11.3 clean-installed from the *GNOME* environment liveCD; it's the first OpenSUSE installs, so I can't offer comparisons. Oddly, even though it is losing the route as described, trying to manually add it per the recommendation didn't go as expected:
dd@suse:~> sudo /sbin/route add default gw 192.168.1.1
SIOCADDRT: No such process
Comment 17 Bin Li 2010-07-28 13:37:21 UTC
(In reply to comment #14)
> http://download.opensuse.org/repositories/home:/BinLi:/branches:/openSUSE:/
> doesn't have an openSUSE 11.3 directory.  The "Publish Flag" is not set.
> 
> At the URL you provided with comment #12 you only get the package sources and
> meta data.
> 
> @Thomas: It's not you.  The issue is on the other side. ;)

I've changed the flag for publish, sorry of it.
Comment 18 Mikael Widersten 2010-07-28 18:50:51 UTC
I really appreciate everyone’s efforts in resolving this bug but disappointingly, updating to the test version 0.8-10.1 did not fix the problem;

micke@mw-X61s:~> /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo

No gateway is set.

Lenovo X61s, Wireless 4965 AG or AGN [Kedron], iwlagn driver. openSUSE 11.3 32 bit.

/micke
Comment 19 Thomas Frühbeck 2010-07-28 21:25:47 UTC
I also had limited success and I do not really recall if something changed, but I succeeded in getting the default route by starting dhclient manually after NetworkManager brought up the interface:

installed resources:

   - newest dhclient from factory: dhcp-client-4.1.1.P1-5.1.x86_64.rpm
   - Bili's NetworkManager: 

happy:~ # rpm -q --changelog NetworkManager-0.8-10.1.x86_64 |head
* Sun Jul 25 2010 bili@novell.com
- Support the rfc3442-classless-static-routes_raw for dhclient
  (bnc#623409).



------------ rcnetwork restart: ---------------------------------------------
==> /var/log/NetworkManager <==
Jul 28 23:19:20 happy NetworkManager: <debug> [1280351960.032628] run_netconfig(): Spawning '/sbin/netconfig modify --service NetworkManager'
Jul 28 23:19:20 happy NetworkManager: <debug> [1280351960.037024] write_to_netconfig(): Writing to netconfig: INTERFACE='eth0'#012
Jul 28 23:19:20 happy NetworkManager: <debug> [1280351960.037252] write_to_netconfig(): Writing to netconfig: DNSSEARCH='fruehbeck.at fruehbeck.at'#012
Jul 28 23:19:20 happy NetworkManager: <debug> [1280351960.037290] write_to_netconfig(): Writing to netconfig: DNSSERVERS='10.0.0.138 195.3.96.67 195.3.96.68'#012
Jul 28 23:19:20 happy NetworkManager: <info>  Clearing nscd hosts cache.
Jul 28 23:19:20 happy NetworkManager: <info>  (eth0): device state change: 7 -> 8 (reason 0)
Jul 28 23:19:20 happy NetworkManager: <info>  Activation (eth0) successful, device activated.
Jul 28 23:19:20 happy NetworkManager: <info>  Activation (eth0) Stage 5 of 5 (IP Configure Commit) complete.
Jul 28 23:19:20 happy nm-dispatcher.action: Script '/etc/NetworkManager/dispatcher.d/autofs' exited with error status 1.

==> /var/log/messages <==
Jul 28 23:19:20 happy if-up.d/21-dhcpcd-hook-samba: No dhcpcd info nor dhclient leases file found for eth0.
Jul 28 23:19:20 happy SuSEfirewall2: Setting up rules from /etc/sysconfig/SuSEfirewall2 ...
Jul 28 23:19:20 happy SuSEfirewall2: using default zone 'ext' for interface eth1
Jul 28 23:19:20 happy SuSEfirewall2: using default zone 'ext' for interface pan0
Jul 28 23:19:20 happy SuSEfirewall2: using default zone 'ext' for interface vboxnet0
Jul 28 23:19:20 happy SuSEfirewall2: using default zone 'ext' for interface vboxnet1

==> /var/log/NetworkManager <==
Jul 28 23:19:20 happy nm-dispatcher.action: Script '/etc/NetworkManager/dispatcher.d/privoxyd' exited with error status 1.

==> /var/log/messages <==
Jul 28 23:19:20 happy SuSEfirewall2: batch committing...
Jul 28 23:19:20 happy SuSEfirewall2: Firewall rules successfully set
Jul 28 23:19:20 happy kernel: [ 9480.101049] eth0: no IPv6 routers present
Jul 28 23:19:20 happy sm-notify[17768]: Already notifying clients; Exiting!
Jul 28 23:19:37 happy bluetoothd[15685]: bridge pan0 removed
Jul 28 23:19:37 happy bluetoothd[15685]: Stopping SDP server
Jul 28 23:19:37 happy bluetoothd[15685]: Exit
Jul 28 23:19:37 happy obex-data-server: sdp_send_req_w4_rsp: Error sending data:Broken pipe
Jul 28 23:19:37 happy obex-data-server: sdp_send_req_w4_rsp: Error sending data:Broken pipe
Jul 28 23:19:37 happy ifdown:     pan0      
Jul 28 23:19:37 happy ifdown: Interface not available and no configuration found.

------------------------------------------------------------------------
------------ rcnetwork restart finished: --------------------------------

happy:~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     1      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo

------------------------------------------------------------------------
------------------------------------------------------------------------

No default route :-(
But calling dhclientdoes it:
------------------------------------------------------------------------
happy:~ # dhclient eth0
Jul 28 23:20:02 happy dhclient: parse_option_param: Bad format a
Jul 28 23:20:02 happy avahi-daemon[2205]: Withdrawing address record for 10.0.0.5 on eth0.
Jul 28 23:20:02 happy avahi-daemon[2205]: Leaving mDNS multicast group on interface eth0.IPv4 with address 10.0.0.5.
Jul 28 23:20:02 happy avahi-daemon[2205]: Interface eth0.IPv4 no longer relevant for mDNS.
happy:~ # Jul 28 23:20:05 happy dhclient: DHCPREQUEST on eth0 to 255.255.255.255 port 67
Jul 28 23:20:05 happy dhclient: DHCPACK from 10.0.0.138
Jul 28 23:20:05 happy avahi-daemon[2205]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.0.0.5.
Jul 28 23:20:05 happy avahi-daemon[2205]: New relevant interface eth0.IPv4 for mDNS.
Jul 28 23:20:05 happy avahi-daemon[2205]: Registering new address record for 10.0.0.5 on eth0.IPv4.

Jul 28 23:20:05 happy dhclient: bound to 10.0.0.5 -- renewal in 2147483648 seconds.

happy:~ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         10.0.0.138      0.0.0.0         UG    0      0        0 eth0


I really hope this helps :-)

Regards,
Thomas
Comment 20 Thomas Frühbeck 2010-07-29 06:10:43 UTC
Hi Bin Li,

perhaps you should have a look at:

src/dhcp-manager/nm-dhcp-manager.c 
        /* Routes: if the server returns classless static routes, we MUST ignore
         * the 'static_routes' option.
         */
        have_classless = nm_dhcp_client_process_classless_routes (options, ip4_config, &gwaddr);
        if (!have_classless) {
                gwaddr = 0;  /* Ensure client code doesn't lie */
                process_classful_routes (options, ip4_config);
        }


there the option .._raw is not recognized:

src/dhcp-manager/nm-dhcp-dhclient.c
        str = g_hash_table_lookup (options, "new_rfc3442_classless_static_routes");
        /* Microsoft version; same as rfc3442 but with a different option # (249) */
        if (!str)
                str = g_hash_table_lookup (options, "new_ms_classless_static_routes");

        if (!str || !strlen (str))
                return FALSE;
Comment 21 Bin Li 2010-07-29 07:05:38 UTC
Thomas,

 Thanks, update the new patch, please test it again, guys!
Comment 22 Mikael Widersten 2010-07-29 10:20:55 UTC
I tried the 0.8-11.1 version of NM. Unfortunately, no improvement. Same symptoms as described in Comments 4 and 18.

/micke
Comment 23 Andras Mantia 2010-07-29 10:42:55 UTC
I have the same problem, even with the patched NetworkManager. dhclient alone correctly sets the route.
Comment 24 Thomas Frühbeck 2010-07-29 22:25:33 UTC
I tried to compile it myself, but failed due to lots of dependencies :-(

Something's peculiar:
you write the option as it shows up in the lease file: (hash, "option rfc3442-classless-static-routes_raw")
But in the tests/test-dhcp-options.c they are all written whith '_': "new_static_routes", "10.1.1.5 10.1.1.1 100.99.88.56 10.1.1.1" 

Perhaps it would help to put in some more debugging code, just to see where it leads off?
Comment 25 Bin Li 2010-08-05 03:27:03 UTC
Hi, guys.

http://download.opensuse.org/repositories/home:/mtomaschewski:/branches:/openSUSE:/11.3:/Update:/Test/openSUSE_11.3_Update_Test/

Would mind upgrade the new dhcp-client packages for it? Also, need to reinstall the original NetworkManager. Then try to find if it could be fixed.

see also bnc#625770.
Comment 26 Julio Nigaglioni 2010-08-05 17:55:52 UTC
I tried the latest patches and they worked for me running opensuse 11.3 as a live KDE cd.  Did not try the wireless though.  Will try later and post the results.
Comment 27 Mikael Widersten 2010-08-05 19:52:47 UTC
I followed the instructions in comment #25. I seems to work fine now. The route is properly set:

micke@mw-X61s:~> /sbin/route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     2      0        0 wlan0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 wlan0

I am truly grateful for your work fixing this bug. You are awesome!

Cheers,

/micke
Comment 28 Thomas Frühbeck 2010-08-05 21:06:04 UTC
Success on my side too!
Install of dhcp-4.1.1.P1-5.1.x86_64.rpm  dhcp-client-4.1.1.P1-5.1.x86_64.rpm  sysconfig-0.73.7-3.1.x86_64.rpm, and problems are gone!
Many thanks and cheers,
Thomas
Comment 29 Bin Li 2010-08-06 03:10:39 UTC
Okay, thanks your guys report. The update process will be in bnc#625770.

*** This bug has been marked as a duplicate of bug 625770 ***