"After the initial device boot, it has a valid default route pointing at wlan and network access is enabled, then at some point rild comes along and blindly adds a new default route due to the data call dropping and being re-established."
This is only a problem when wifi is enabled, because otherwise you don't care what creates the default route for mobile, just that there is one. There are a few candidate properties for this kind of stuff. Digging more, it's not even quite rild that applies the route, but really more netmgrd (at least, it seems to me like it's the case). This doesn't change the fact that both are binary blobs from qualcomm or wherever, so not much to do about it. There are lots of rild and netmgrd properties though, it's just not well documented what each does. As for trashing the 'boot' table, it's a one-liner that would be triggered by NM directly on every device activation. NM doesn't touch the 'ip route list proto boot' routes, just kernel routes, so flushing that whole list is safe as long as we know there is nothing else that is expected to use it for a good reason -- that's something we can only say with any degree of confidence on Touch. As for doing this programmatically directly in NM, it's not at all a listener. I want to avoid doing any such kind of route listening, because NM already does it for other things elsewhere, and it's just not necessary. When the modem is activated, we can just try to delete a route defined to be a default gateway via the gateway address we already got from ofono, whether it exists or not. All of these options remain racy because there is no way to control rild/netmgrd. You can only hope they do their stuff right and don't take too long to run. You can't specify a routing policy that prevents two default routes, because this is something that is actually valid in some circumstances. The best you can do is either remove the routes after they are added, or prevent rild/netmgrd from adding the routes in the first place, and there currently doesn't seem to be a way to do the latter. I'm still looking at whether it's possible to change security policies to deal with this. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to network-manager in Ubuntu. https://bugs.launchpad.net/bugs/1307981 Title: [touch] randomly messed up routing with recent trusty images Status in “network-manager” package in Ubuntu: Confirmed Bug description: I have no clue when exactly it started (probably before image 290), but since a while i experience random issues where the browser suddenly doesnt find websites anymore ... digging deeper i can see that the routing table is completely messed up having two default routes: root@ubuntu-phablet:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 37.85.159.174 0.0.0.0 UG 0 0 0 rmnet_usb1 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 wlan0 37.85.159.172 0.0.0.0 255.255.255.252 U 0 0 0 rmnet_usb1 192.168.2.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0 i did not roam or switch networks, this phone was constantly on wlan in the same room. afer a reboot the routing is normal: root@ubuntu-phablet:~# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 wlan0 37.84.75.140 0.0.0.0 255.255.255.252 U 13 0 0 rmnet_usb0 192.168.2.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1307981/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp