The Wayback Machine - https://web.archive.org/web/20110714065328/https://bugs.meego.com/show_bug.cgi?id=10984
Bug 10984 - IPv6 Support declaration (edit)
:
Status: NEW
:
:
: Medium with 3 votes (vote)
:
Assigned To:
dlmiles (edit)

:
yucai (edit)

: (edit)
:
:
: (edit)
: (edit)
  Show dependency treegraph
 
Reported: 2010-12-07 06:17 UTC by dlmiles
Modified: 2011-06-23 13:33 UTC (History)
9 users (show)


PM Comment:
Security Bug:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description dlmiles 2010-12-07 06:17:58 UTC
This is a placeholder bug for collecting sub-tasks needed to declare MeeGo-core
as having IPv6 support.

Please place all discussion into the meego-dev mailing list
http://lists.meego.com/listinfo/meego-dev then any resolutions out of that
place into comments here or into new bugs and attach those bugs to this
(Depends On).


I recently started the discussion in the meego-dev list, the outline of my
current thinking:

 * Kernel and user-space support (ipv6.ko, ravd, netfilter, ... reciprocal to
IPv4)
 * Startup/shutdown scripts and interface controls
 * Configuration management (total feature disable/enable, priority 4over6,
auto-config, dhcp6, config tweaks, ...)
 * conman/libconic
 * Special use cases: MMS (MeeGo handset, private limited connectivity network)
 * DNS resolver (investigate conman proxy)
 * Applications (need list of most important to least important
meego-core/handset applications to validate IPv6 support)
 * Kernel auto-bind control (priority order, application, maybe this is
something I don't get)
 * Testing


K, Go!         
Comment 1 dwmw2intel 2010-12-16 00:54:19 UTC
To be clear: MeeGo has IPv6 support, which is working today. It needs
improvement in terms of management and configurability, etc. The 'TODO' items
in that respect are *not* an excuse for applications and libraries not to have
full IPv6 support.

Any app developer writing an app which works only with Legacy IP and not IPv6
should be shot. That includes such heinous crimes as using gethostbyname()
instead of getaddrinfo(), failing to fall back to the second and subsequent
addresses returned by getaddrinfo(), etc.         
Comment 2 mythi 2010-12-17 06:44:51 UTC
(In reply to comment #1)
> Any app developer writing an app which works only with Legacy IP and not IPv6
> should be shot. That includes such heinous crimes as using gethostbyname()
> instead of getaddrinfo(), failing to fall back to the second and subsequent
> addresses returned by getaddrinfo(), etc.  

Do you know if there's any application developers DO's and DONT's for IPv6
available somewhere?         
Comment 3 dwmw2 2010-12-17 07:13:55 UTC
DON'T use gethostbyname()
DO use getaddrinfo()
DON'T just try to use the first result from getaddrinfo()
DO iterate through the results, until you find a host you can actually connect
to

This is true for Legacy IP too, not just IPv6. Anywhere that multiple target IP
addresses may be found in the DNS. Like round robin, for example. Uli gives
another example in http://udrepper.livejournal.com/16116.html

See http://www.akkadia.org/drepper/userapi-ipv6.html for a basic intro to using
getaddrinfo() et al.         
Comment 4 earthling 2010-12-17 07:25:52 UTC
(In reply to comment #2)

> Do you know if there's any application developers DO's and DONT's for IPv6
> available somewhere?  

DON't assume that an interface (like eth0) has 0 or 1 associated adresses.