From Fedora Project Wiki
Line 25: Line 25:
=== Detailed description ===
=== 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 either
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.  
don't do IPv6, do it incorrectly, or don't cope with various network conditions.


Dualstack-ready software must cope with all possible scenarios including IPv4-only connectivity, IPv6-only connectivity and dualstack scenarios. The software must also cope with node-local (aka localhost) networking.
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 bug report is about major software used in servers, desktops and laptops. The list of such applications will be completed over the time.
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 bug report is about major software used in servers, desktops and laptops. The list of such applications will be completed over the time.
Line 37: Line 38:


Also see: https://bugzilla.redhat.com/show_bug.cgi?id=ipv6blocker
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 ====
==== Libraries ====
Line 51: Line 60:
* [http://bugzilla.redhat.com/show_bug.cgi?id=883155 Empathy refuses to connect to dualstack IRC servers temporarily available only through IPv4]
* [http://bugzilla.redhat.com/show_bug.cgi?id=883155 Empathy refuses to connect to dualstack IRC servers temporarily available only through IPv4]


==== Testing tools ====
==== Network testing tools ====


* <code>ping</code> doesn't support IPv6 addresses nor hostnames
* <code>ping</code> doesn't support IPv6 addresses nor hostnames
* <code>tcpdump</code> doesn't support IPv6 hostnames
* <code>tcpdump</code> 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 <code>getaddrinfo()</code>
=== User experience ===
=== Dependencies ===
=== Contingency plan ===
This feature is about fixing all important parts of the distribution. Therefore even partial accomplishment is good and this feature can be moved to the next Fedora release.
=== Documentation ===
=== Release notes ===
=== Comments and discussions ===
See [[Talk:Features/DualstackNetworking]]

Revision as of 12:15, 16 December 2012

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 bug report 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

Dependencies

Contingency plan

This feature is about fixing all important parts of the distribution. Therefore even partial accomplishment is good and this feature can be moved to the next Fedora release.

Documentation

Release notes

Comments and discussions

See Talk:Features/DualstackNetworking