The automatic route adds were causing me trouble (getting in the way of
an unmanaged vpn), so I did some digging and experiments.

Without "Ignore automatically obtained routes": any IPv6 route lookup for a 
host that hasn't been looked up already causes NetworkManager to do two things, 
both of which are undesirable:
* It restarts dnsmasq
* It adds a host route (/128) for the address that was looked up, via the 
current default gateway (not sure whether it's based on a kernel route lookup, 
or NM's idea of the default gateway, since they're congruent in my 
configuration).

I can reproduce this without sending any traffic, a simple "ip -6 route
get foo" triggers it.

Turning on debugging shows that NM receives an add/del route netlink
message to trigger this. My guess based on that is that there's a bug in
the route handling code, and it's interpreting a message from the kernel
saying "this route was looked up" as a message saying "this route was
added". Then it adds it to its internal table and syncs the internal
table back to the kernel table, adding the spurious route to the kernel.

I don't know enough about netlink messages to actually find the bug,
though; trying to read the code has me completely lost.

With "Ignore automatically obtained routes" turned on, it behaves
correctly. Route lookups have no special effects, and it still handles
the default route it automatically obtained from RAs. Documentation
implies that it will reject routes learned via RA and DHCPv6, which it
doesn't do.

-- 
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/1004775

Title:
  NetworkManager restarts dnsmasq on every IPv6 route advertisement,
  thus very frequently

Status in “network-manager” package in Ubuntu:
  Triaged
Status in “network-manager” source package in Precise:
  Triaged
Status in “network-manager” source package in Quantal:
  Triaged

Bug description:
  NetworkManager stops and starts dnsmasq very frequently (every few
  minutes).  During the brief window that dnsmasq is restarting,
  hostname resolution doesn't work.  dnsmasq is getting restarted
  frequently enough that I see brief hostname resolution errors in
  Chrome several times a day during normal web browsing.

  This is on Precise with network-manager 0.9.4.0-0ubuntu4 and dnsmasq-
  base 2.59-4.

  The frequent restarts seem to be triggered by IPv6 route
  advertisements on my network.  (See log snippet below.)  When
  NetworkManager gets a route advertisement, it reconfigures everything.
  In the case of dnsmasq, this means stopping dnsmasq, writing a new
  config file, and starting dnsmasq.  NetworkManager should restart
  dnsmasq only if it its configuration changes.

  I'm attaching a snippet from /var/log/daemon.log on my system that
  demonstrates a restart.  This is with debug logging configured in
  /etc/NetworkManager/NetworkManager.conf.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1004775/+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

Reply via email to