On Tue, 17 Nov 2009 12:55:00 -0800, Dan Williams wrote: > On Tue, 2009-11-17 at 08:13 +0000, Frederik Himpe wrote: >> I'm using NetworkManager 0.7.996 (git 20091021 snapshot) on Mandriva, >> built with dhclient and resolvconf support. >> >> I have a wireless connection to my AP at home and a wired DHCP >> connection configured in networkmanager, both set to autoconnect and >> available to all users. At home, networkmanager connects to my wireless >> AP automatically. Then I suspend my system and resume it at work, where >> it's docked and has a wired DHCP connection. NetworkManager connects >> automatically to the wired connection, and deactivates the wlan0 >> connection, however NetworkManager just adds the DNS servers from my >> wired connection at work to resolv.conf without removing the DNS server >> from my wireless home connection. This results in long waits when >> resolving hostnames. > > Nov 17 08:56:27 defected NetworkManager: <info> (eth0): writing > resolv.conf to /sbin/resolvconf > > Until we figure out how resolvconf is interacting with NM here, or until > we add more debugging to NM to figure out what's going on and what > exactly NM is writing to resolvconf (which I'm pretty sure is correct), > if you move /sbin/resolvconf out of the way, does allowing NM to write > /etc/resolv.conf directly make things work again?
OK, I will test this tomorrow and I'll let you know. Looking at resolvconf's man page, I guess that NetworkManager only calls networkmanager -a, which will add stuff to resolvconf, but does not call resolvconf -d first to clean up the outdated entries. This seems to happen in src/named-manager/nm-named-manager.c in dispatch_resolvconf. I can indeed reproduce the problem by running resolvconf -a NetworkManager and then sending a new nameserver: it will simply be added to resolv.conf without removing the old one. Actually, I'm surprised to see that NM always calls resolvonf with the name NetworkManager as INTERFACE name. I rather expected it to call it with the UUID or interface name of the connection, so that it simply calls resolvonf -a UUID (or IFNAME) for every connection which comes online, and resolvconf -d UUID/IFNAME for every connection going down. But I guess you don't want this because NM wants to take complete control of resolv.conf instead of letting the contents be managed by resolvconf? -- Frederik Himpe _______________________________________________ NetworkManager-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/networkmanager-list
