Features/FixNetworkNameResolution

From FedoraProject

< Features
Revision as of 14:54, 2 January 2013 by Pavlix (Talk | contribs)

Jump to: navigation, search

Contents

Dualstack Networking

Summary

Support proper dual stack networking. All major system services and user applications should work with both IPv4 and IPv6. All of them should also be able to cope with multiple addresses per hostname via proper use of getaddrinfo().

Owner

Current status

Detailed description

Fedora supports dualstack global networking. That means the computer with Fedora is connected to internet using both IPv4 and IPv6 protocols. But many important system services and applications eitherdon't do IPv6, do it incorrectly, or don't cope with various network conditions.

Unfortunately, while trying to improve IPv6 support, some IPv4 use cases became broken as well. That's why the goal of this feature is not only to support IPv4, but to support all possible real-world cases.

Dualstack-ready software must cope with all possible scenarios including IPv4-only connectivity, IPv6-only connectivity and dual connectivity. The software must also cope with node-local (aka localhost) networking, which as been used by software for decades.

Though it would be nice to have all applications in Fedora fixed to work in any of the scenarios, it is not feasible to test that. Therefore this feature is about major software used in servers, desktops and laptops. The list of such applications will be completed over the time.

Bugs related to dualstack networking should be added to the following tracker bug:

http://bugzilla.redhat.com/show_bug.cgi?id=883152

Also see: https://bugzilla.redhat.com/show_bug.cgi?id=ipv6blocker

Benefit to Fedora

One of Fedora's goals is to be a modern linux distribution that will work in modern environments. For this to be achieved, proper IPv4-only support and proper dualstack support is a MUST. IPv6-only use cases are rare but may become more common at any time. It's better to be prepared for those, too.

Scope

Any software commonly used on day-to-day basis should be correctly handling IPv4-only, IPv6-only and dualstack use cases.

Libraries:

  • glibc: name resolution must work properly
  • glib: provides networking API for applications

System services:

  • knfsd

Applications:

Network testing tools:

  • ping doesn't support IPv6 addresses nor hostnames
  • tcpdump doesn't support IPv6 hostnames

How to test

This is the most difficult part. We are going to combine the following approaches to testing:

  • Everyday use of Fedora in various network environments
  • Testing the tracked bug reports
  • Specific tests, e.g. for getaddrinfo()

User experience

Users currently experience networking problems in various environments even during the most basic use of their system because of principal problems in the distribution. These problems would go away.

Dependencies

Not known.

Contingency plan

This feature is about fixing all important parts of the distribution. We do not expect the required changes to negatively affect the rest of the packages. But if any problems occur, we are ready to help fixing them before the respective version is released.

Documentation

Release notes

Dualstack networking will be fully supported and glibc and other packages will be tested for not including fundamental design flaws and important bugs.

Comments and discussions

See Talk:Features/DualstackNetworking