After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 684242 - dynamic DNS updating does not work for IPv6
dynamic DNS updating does not work for IPv6
Status: RESOLVED FIXED
Product: NetworkManager
Classification: Platform
Component: general
unspecified
Other Linux
: Normal major
: ---
Assigned To: NetworkManager maintainer(s)
NetworkManager maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2012-09-17 18:35 UTC by Gene Czarcinski
Modified: 2012-12-13 23:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
multi-instantiation (4.06 KB, patch)
2012-10-14 02:49 UTC, Gene Czarcinski
none Details | Review
patch to add support for ipv6 dynamic dns updating (17.70 KB, patch)
2012-10-19 12:02 UTC, Gene Czarcinski
none Details | Review

Description Gene Czarcinski 2012-09-17 18:35:09 UTC
While dynamic DNS updating works for IPv4, it does not work for IPv6 because NetworkManager does not send the client-host's name in its dhcp request.

I have tested this with dnsmasq and am setting up testing to see if the same situation occurs with dhcpd-v6/named.

My test was to run wireshark to capture the packets and, while running NetworkManager and then enable an interface with a IPv6 network.

I then stopped NetowrkManager and used the "ifup eth0" network script with a slight modification to ifup-eth in the dhclient commandline to change "-H" to "-F".  Worked fine!  There they were ... the fqdn specification in the dhcpv6 packets.

Note ... the lease file showed a lot of additional entries when things work.  I do not know if just doing a "send fqdn.fqdn name;" will be sufficent.

This testing was done on Fedora 17.
Comment 1 Gene Czarcinski 2012-09-18 17:20:34 UTC
I have duplicated the problem using bind and dhcp instead of dnsmasq.  The same results.
Comment 2 Dan Williams 2012-09-18 18:20:34 UTC
The ISC DHCP client has two modes: "adhoc" and "draft".  The "adhoc" mode is now deprecated and apparently doesn't work with failover, while the "draft" mode is preferred.  The "adhoc" mode used the hostname + a config option to construct the DDNS name, while the "draft" mode uses the FQDN and is preferred.

So the question becomes: is anyone actually using the old "adhoc" mode, and would we break anyone by moving to using the FQDN option instead?  That's the big question here.  Plus, we're not just talking about the ISC DHCP client, we need to figure out what happens with (a) MS DHCP/DNS and (b) WiFi routers with built-in DDNS functionality.

I'm really hoping to avoid a "DDNS update method" = [ Disabled, Ad-Hoc, FQDN ] menu anywhere in the UI as that just sucks.
Comment 3 Gene Czarcinski 2012-09-18 20:22:53 UTC
Agreed.

The problem is that you do not know just what kind of server is at the other end so a build/compile-time option will not work either.

My suggestion: for IPv4 stick with the current approach.  For IPv6 add "-F <hostname>" to the command line.

Any server implementing IPv6 should expect a fqdn.fqdn <plain-name> ... I cannot picture some old server code suddenly implementing IPv6 and not prepared to handle it.

For IPv4 it should be possible to force a switch to "-F" also ... now maybe that could be a build/compile-time options.

Interesting, I took a little look at the code and, if I understand, in nm-dhcp-dhclient.c there is function dhclient_start.  The only functions that call it are real_ip4_start and real_ip6_start which are also in the same file.  Both the real_ip*_start functions are passed a parameter "hostname" which appears never to be used.

To me, implementing it for IPv6 should be a given.  The question is what to do about IPv4.
Comment 4 Gene Czarcinski 2012-09-22 19:48:32 UTC
I have a patch working.  It should be ready "real soon now" and will be posted to the mailing list.
Comment 5 Pavel Simerda 2012-09-25 07:14:32 UTC
You can attach it here.
Comment 6 Gene Czarcinski 2012-09-25 11:48:08 UTC
soon, soon, I am doing some final testing to make sure that it is as right as I can make it.  Also, I have put the "candidate" patch on the mailing list asking for comment/suggestions/whatever and would like to give it a couple of days.  If nothing else happens, then I will post my initial version as applied to a git clone.

Question: I saw your bugzilla item about having keyfile have precedence over ifcfg-rh.  The ifcfg-rh plugin handles a lot of IPV6 and other parameters.  Where can I find out what keyfile handles?

BTW, a basic test with my modiications but specifying plugin=keyfile works.

I am also discovering some other things such as that having a default route with dhcp does not appear to work.
Comment 7 Pavel Simerda 2012-09-25 13:24:41 UTC
Keyfile handles virtually everything. It exposes the internal NM configuration almost 1:1. The ifcfg-rh plugin is an alternative plugin.

„I am also discovering some other things such as that having a default route
with dhcp does not appear to work.“

That bug was fixed in 0.9.6 together with a bunch of other IPv6-related bugs. A good reference on IPv6 support and testing is here:

https://fedoraproject.org/wiki/Tools/NetworkManager/IPv6
Comment 8 Gene Czarcinski 2012-10-14 02:49:09 UTC
Created attachment 226399 [details] [review]
multi-instantiation

ehhances so dnsmasq multi-copies can run
Comment 9 Pavel Simerda 2012-10-15 19:02:27 UTC
Libvirt?
Comment 10 Gene Czarcinski 2012-10-16 16:10:40 UTC
I do not understand your question Pavel.
Comment 11 Pavel Simerda 2012-10-16 21:05:52 UTC
It looks like you sent a libvirt/something patch to NetworkManager bugzilla.
Comment 12 Gene Czarcinski 2012-10-19 12:02:05 UTC
Created attachment 226814 [details] [review]
patch to add support for ipv6 dynamic dns updating

As far as that other patch is concerned, I guest I did not have enough coffee or perhaps sleep ,,, it got posted to the wrong place
Comment 13 Pavel Simerda 2012-10-19 13:07:55 UTC
Added to 'pavlix/dhcp' branch where other pending modifications to DHCP are.
Comment 14 Dan Williams 2012-12-13 23:42:47 UTC
Gene's patch did eventually land in git master:

90b99522d7b35e253926e48f5df8a22270ab7610