No edit summary |
|||
(37 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Main purpose of the Networking QA project is to check and improve IPv6 support in Fedora and concurrent usage of IPv4 and IPv6 protocols. Maintaining and improving existing IPv4 support is one of the secondary goals. | |||
== Contacts == | |||
Coordinators: | |||
* [[User:pavlix|Pavel Šimerda]] | |||
* [[User:thozza|Tomáš Hozza]] | |||
Contributors: | |||
* | * [[User:nmav|Nikos Mavrogiannopoulos]] – iputils | ||
Potential contributors: | |||
* [[User:Tobygoodwin|Toby Goodwin]] | |||
== Objectives == | |||
Note: We are trying to define objectives of the project. Unfortunately we cannot add everything someone considers good or important but we rather have focus on things that we can actually do. Contact us if you're willing to help with some topic that you're interested in or that you consider neglected. | |||
We would like to test, document and improve the following: | |||
* Automatic network configuration of a Fedora node | |||
* Proper dual-stack operation of client and server software in various environments | |||
* Check Fedora infrastructure and installation for IPv6 only operation | |||
== | == Overview == | ||
Packages to test: | |||
* [[/Packages]] | |||
How to prepare test environment: | |||
* [[/Test environment]] | |||
How to test different types of packages: | |||
* [[/Configuration]] | |||
* [[/Name resolution]] | |||
* [[/Testing tools]] | |||
* [[/Client software]] | |||
* [[/Server software]] | |||
Known issues: | |||
* | * [https://bugzilla.redhat.com/showdependencytree.cgi?id=883152 Bugzilla tickets] | ||
== | == New packages == | ||
There are new packages being added for networking and especially IPv6 testing and operations. | |||
== | * [https://bugzilla.redhat.com/show_bug.cgi?id=1265628 dhcpcd] – provides a basic network configuration daemon for testing and comparison | ||
* [https://bugzilla.redhat.com/show_bug.cgi?id=1090499 netresolve] – provides a library, testing tools and example implementations for some network software operations | |||
== Packages == | |||
Note: This section is informative only. It only includes assessment of packages based on experience and is ''not'' a result of extensive testing. | |||
=== | === Packages working more or less well in IPv6 and dual-stack environments === | ||
Following packages play more or less well with IPv6. You can still expect minor issues including delays when configuration of one of the protocols doesn't work as expected. Those packages are still to be tested. | |||
Network configuration: | |||
* dhcp – Dynamic host configuration protocol software | |||
* iproute – Advanced IP routing and network device configuration tools | |||
* NetworkManager – Network connection manager and user applications | |||
* dnssec-trigger – NetworkManager plugin to update/reconfigure DNSSEC resolving | |||
Services: | |||
* bind – The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server | |||
* dnsmasq – A lightweight DHCP/caching DNS server | |||
* httpd – Apache HTTP Server | |||
* openssh – An open source implementation of SSH protocol versions 1 and 2 | |||
* postfix – Postfix Mail Transport Agent | |||
Development: | |||
* git | |||
Other: | |||
* curl – A utility for getting files from remote servers (FTP, HTTP, and others) | * curl – A utility for getting files from remote servers (FTP, HTTP, and others) | ||
* cyrus-imapd – A high-performance mail server with IMAP, POP3, NNTP and SIEVE support | * cyrus-imapd – A high-performance mail server with IMAP, POP3, NNTP and SIEVE support | ||
* c-ares – A library that performs asynchronous DNS operations | * c-ares – A library that performs asynchronous DNS operations | ||
* firefox – Mozilla Firefox Web browser | * firefox – Mozilla Firefox Web browser | ||
* | * libssh2 – A library implementing the SSH2 protocol | ||
* iptables – Tools for managing Linux kernel packet filtering capabilities | * iptables – Tools for managing Linux kernel packet filtering capabilities | ||
=== Packages with | === Packages with severe issues in IPv6 and dual-stack environments === | ||
Core system: | Core system: | ||
Line 208: | Line 101: | ||
* glibc – The GNU libc libraries | * glibc – The GNU libc libraries | ||
** limited and buggy getaddrinfo() | ** limited and buggy getaddrinfo() | ||
** [https://sourceware.org/bugzilla/buglist.cgi?quicksearch=getaddrinfo upstream getaddrinfo issues] | |||
Core tools: | |||
* iputils – Network monitoring tools including ping | * iputils – Network monitoring tools including ping | ||
Line 222: | Line 109: | ||
** tracepath | ** tracepath | ||
** ... | ** ... | ||
* | * quota – File system quota management | ||
** [https://bugzilla.redhat.com/show_bug.cgi?id=704219 rpc.rquotad and other program should be ported from glibc's Sun RPC to tirpc's RPC] | ** [https://bugzilla.redhat.com/show_bug.cgi?id=704219 rpc.rquotad and other program should be ported from glibc's Sun RPC to tirpc's RPC] | ||
*** [[User:Pavlix]]: Why and how is it related to IPv6? | |||
* [https://bugzilla.redhat.com/show_bug.cgi?id=1221496 fping: lack of IPv6 support] | |||
* [https://bugzilla.redhat.com/show_bug.cgi?id=1220825 nslookup: bad default behavior] | |||
Development: | |||
* subversion - A Modern Concurrent Version Control System | |||
** [https://bugzilla.redhat.com/show_bug.cgi?id=1130328 no fallback to IPv4 when IPv6 default route fails] | |||
=== | === IPv4 only packages === | ||
Following packages do not need any IPv6 testing as they contain IPv4 specific tools. | Following packages do not need any IPv6 testing as they contain IPv4 specific tools. | ||
Line 232: | Line 127: | ||
* arpwatch | * arpwatch | ||
=== | === Unqualified packages === | ||
Following packages weren't categorized yet but are considered important enough to be checked for IPv6 support. Please add more important | Following packages weren't categorized yet but are considered important enough to be checked for IPv6 support. Please extend the list with other high visibility packages. You can add more important packages here. | ||
Core system: | |||
* abrt – Automatic bug detection and reporting tool | * abrt – Automatic bug detection and reporting tool | ||
* anaconda – Graphical system installer | |||
* apr – Apache Portable Runtime library | * apr – Apache Portable Runtime library | ||
* busybox – Statically linked binary providing simplified versions of system commands | * busybox – Statically linked binary providing simplified versions of system commands | ||
** | ** It would be useful to check network related commands | ||
* docker – Automates deployment of containerized applications | * docker – Automates deployment of containerized applications | ||
** IPv6 in /etc/resolv.conf | ** IPv6 in /etc/resolv.conf | ||
** IPv6 on bridged networks | ** IPv6 on bridged networks | ||
* dracut – Initramfs generator using udev | * dracut – Initramfs generator using udev | ||
* firewalld – A firewall daemon with D-BUS interface providing a dynamic firewall | * firewalld – A firewall daemon with D-BUS interface providing a dynamic firewall | ||
* glib2/glib-networking – Networking support for GLib | * glib2/glib-networking – Networking support for GLib | ||
* grub2 – Bootloader with support for Linux, Multiboot and more | * grub2 – Bootloader with support for Linux, Multiboot and more | ||
* systemd – A System and Service Manager | |||
* yum – RPM package installer/updater/manager | |||
Services: | |||
* bird – routing daemon | |||
* cups – Common Unix Printing System | |||
* dovecot – Secure imap and pop3 server | |||
* openswan/libreswan/strongswan – IPSEC implementation with IKEv1 and IKEv2 keying protocols | |||
* quagga – Routing daemon | |||
* sendmail – A widely used Mail Transport Agent (MTA) | |||
Development: | |||
* bzr – Friendly distributed version control system | |||
* cvs – Concurrent Versions System | |||
* gdb – A GNU source-level debugger for C, C++, Fortran and other languages | |||
* mercurial – Mercurial – a distributed SCM | |||
Other: | |||
* apr-util – Apache Portable Runtime Utility library | |||
** various networking tools including ping | |||
* gvfs – Backends for the gio framework in GLib | * gvfs – Backends for the gio framework in GLib | ||
* ipxe – A network boot loader | * ipxe – A network boot loader | ||
Line 258: | Line 174: | ||
* ldns – Low–level DNS(SEC) library with API | * ldns – Low–level DNS(SEC) library with API | ||
* lftp – A sophisticated file transfer program | * lftp – A sophisticated file transfer program | ||
* libevent | |||
* libvirt – Library providing a simple virtualization API | * libvirt – Library providing a simple virtualization API | ||
* net-tools – Basic networking tools | * net-tools – Basic networking tools | ||
* nmap – Network exploration tool and security scanner | * nmap – Network exploration tool and security scanner | ||
* nss-myhostname – glibc plugin for local system host name resolution | * nss-myhostname – glibc plugin for local system host name resolution | ||
* nss – Network Security Services | * nss – Network Security Services | ||
* postgresql – PostgreSQL client programs | * postgresql – PostgreSQL client programs | ||
* rsync – A program for synchronizing files over a network | * rsync – A program for synchronizing files over a network | ||
* squid – The Squid proxy caching server | |||
* squid – The Squid proxy caching | |||
* sssd – System Security Services Daemon | * sssd – System Security Services Daemon | ||
* syslinux – Simple kernel loader which boots from a FAT filesystem | * syslinux – Simple kernel loader which boots from a FAT filesystem | ||
* tcpdump – A network traffic monitoring tool | * tcpdump – A network traffic monitoring tool | ||
* telnet – The client program for the Telnet remote login protocol | * telnet – The client program for the Telnet remote login protocol | ||
Line 282: | Line 193: | ||
* virt-viewer – Virtual Machine Viewer | * virt-viewer – Virtual Machine Viewer | ||
* wireshark – Network traffic analyzer | * wireshark – Network traffic analyzer | ||
Latest revision as of 10:50, 14 December 2015
Main purpose of the Networking QA project is to check and improve IPv6 support in Fedora and concurrent usage of IPv4 and IPv6 protocols. Maintaining and improving existing IPv4 support is one of the secondary goals.
Contacts
Coordinators:
Contributors:
- Nikos Mavrogiannopoulos – iputils
Potential contributors:
Objectives
Note: We are trying to define objectives of the project. Unfortunately we cannot add everything someone considers good or important but we rather have focus on things that we can actually do. Contact us if you're willing to help with some topic that you're interested in or that you consider neglected.
We would like to test, document and improve the following:
- Automatic network configuration of a Fedora node
- Proper dual-stack operation of client and server software in various environments
- Check Fedora infrastructure and installation for IPv6 only operation
Overview
Packages to test:
How to prepare test environment:
How to test different types of packages:
Known issues:
New packages
There are new packages being added for networking and especially IPv6 testing and operations.
- dhcpcd – provides a basic network configuration daemon for testing and comparison
- netresolve – provides a library, testing tools and example implementations for some network software operations
Packages
Note: This section is informative only. It only includes assessment of packages based on experience and is not a result of extensive testing.
Packages working more or less well in IPv6 and dual-stack environments
Following packages play more or less well with IPv6. You can still expect minor issues including delays when configuration of one of the protocols doesn't work as expected. Those packages are still to be tested.
Network configuration:
- dhcp – Dynamic host configuration protocol software
- iproute – Advanced IP routing and network device configuration tools
- NetworkManager – Network connection manager and user applications
- dnssec-trigger – NetworkManager plugin to update/reconfigure DNSSEC resolving
Services:
- bind – The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
- dnsmasq – A lightweight DHCP/caching DNS server
- httpd – Apache HTTP Server
- openssh – An open source implementation of SSH protocol versions 1 and 2
- postfix – Postfix Mail Transport Agent
Development:
- git
Other:
- curl – A utility for getting files from remote servers (FTP, HTTP, and others)
- cyrus-imapd – A high-performance mail server with IMAP, POP3, NNTP and SIEVE support
- c-ares – A library that performs asynchronous DNS operations
- firefox – Mozilla Firefox Web browser
- libssh2 – A library implementing the SSH2 protocol
- iptables – Tools for managing Linux kernel packet filtering capabilities
Packages with severe issues in IPv6 and dual-stack environments
Core system:
- avahi – Local network service discovery
- IPv6 turned off by default
- nss-mdns doesn't do IPv6LL due to glibc limitations
- glibc – The GNU libc libraries
- limited and buggy getaddrinfo()
- upstream getaddrinfo issues
Core tools:
- iputils – Network monitoring tools including ping
- ping (unreleased upstream now supports dual-stack operation)
- tracepath
- ...
- quota – File system quota management
- rpc.rquotad and other program should be ported from glibc's Sun RPC to tirpc's RPC
- User:Pavlix: Why and how is it related to IPv6?
- rpc.rquotad and other program should be ported from glibc's Sun RPC to tirpc's RPC
- fping: lack of IPv6 support
- nslookup: bad default behavior
Development:
- subversion - A Modern Concurrent Version Control System
IPv4 only packages
Following packages do not need any IPv6 testing as they contain IPv4 specific tools.
- arptables
- arpwatch
Unqualified packages
Following packages weren't categorized yet but are considered important enough to be checked for IPv6 support. Please extend the list with other high visibility packages. You can add more important packages here.
Core system:
- abrt – Automatic bug detection and reporting tool
- anaconda – Graphical system installer
- apr – Apache Portable Runtime library
- busybox – Statically linked binary providing simplified versions of system commands
- It would be useful to check network related commands
- docker – Automates deployment of containerized applications
- IPv6 in /etc/resolv.conf
- IPv6 on bridged networks
- dracut – Initramfs generator using udev
- firewalld – A firewall daemon with D-BUS interface providing a dynamic firewall
- glib2/glib-networking – Networking support for GLib
- grub2 – Bootloader with support for Linux, Multiboot and more
- systemd – A System and Service Manager
- yum – RPM package installer/updater/manager
Services:
- bird – routing daemon
- cups – Common Unix Printing System
- dovecot – Secure imap and pop3 server
- openswan/libreswan/strongswan – IPSEC implementation with IKEv1 and IKEv2 keying protocols
- quagga – Routing daemon
- sendmail – A widely used Mail Transport Agent (MTA)
Development:
- bzr – Friendly distributed version control system
- cvs – Concurrent Versions System
- gdb – A GNU source-level debugger for C, C++, Fortran and other languages
- mercurial – Mercurial – a distributed SCM
Other:
- apr-util – Apache Portable Runtime Utility library
- various networking tools including ping
- gvfs – Backends for the gio framework in GLib
- ipxe – A network boot loader
- iptstate – A top-like display of IP Tables state table entries
- ldns – Low–level DNS(SEC) library with API
- lftp – A sophisticated file transfer program
- libevent
- libvirt – Library providing a simple virtualization API
- net-tools – Basic networking tools
- nmap – Network exploration tool and security scanner
- nss-myhostname – glibc plugin for local system host name resolution
- nss – Network Security Services
- postgresql – PostgreSQL client programs
- rsync – A program for synchronizing files over a network
- squid – The Squid proxy caching server
- sssd – System Security Services Daemon
- syslinux – Simple kernel loader which boots from a FAT filesystem
- tcpdump – A network traffic monitoring tool
- telnet – The client program for the Telnet remote login protocol
- traceroute – Traces the route taken by packets over an IPv4/IPv6 network
- vinagre – VNC client for GNOME
- vino – A remote desktop system for GNOME
- virt-manager – Virtual Machine Manager
- virt-viewer – Virtual Machine Viewer
- wireshark – Network traffic analyzer