From Fedora Project Wiki
< QA | Networking
Dual-stack to dual-stack
IPv4 connectivity | Global or masqueraded |
IPv6 connectivity | Global |
Target DNS | Dual-stack |
What is tested
- Whether IPv6 is preferred over IPv4.
- Whether the component is capable of working over IPv6.
- Whether sequential or parallel DNS resolution is in use.
Test flow
TBD
- step
- another step
Expected result (sequential, IPv6 preferred)
- Host requests AAAA record and receives a reply.
- Host connects via IPv6.
- No delays, no A query.
Expected result (parallel, IPv6 preferred)
- Host requests A and AAAA records simultaneously and receives the AAAA reply.
- Host connects via IPv6.
- No delays, A reply is ignored if received.
Alternative result (parallel, first result wins, no protocol preference)
- Host requests A and AAAA records simultaneously and receives the first reply.
- Host connects via IPv4 or IPv6.
- No delays.
Dual-stack to dual-stack with lost AAAA answer
Same as above, except that the AAAA answer is lost by a broken DNS server.
IPv4 connectivity | Global or masqueraded |
IPv6 connectivity | Global |
Target DNS | Lost IPv6 |
What is tested
- Wheter the component reverts to IPv4 in reasonable time when AAAA answer gets lost.
Test flow
TBD
- step
- another step
Expected result (sequential, IPv6 preferred)
- Host requests AAAA record and gives up after a delay (e.g. 15 seconds).
- Host requests A record and receives reply.
- Host connects via IPv4.
Expected result (parallel, IPv6 preferred)
- Host requests A and AAAA records simultaneously and receives the A reply.
- Host gives up waiting for AAAA record after a short delay (e.g. 300 milliseconds).
- Host connects via IPv4.
Alternative result (parallel, first result wins)
- Host requests A and AAAA records simultaneously and receives the A reply.
- Host connects via IPv4.
- No delay.
IPv4 to dual-stack with lost AAAA answer
Same as above, except that the host doesn't have any IPv6 address except link-local and loopback.
IPv4 connectivity | Global or masqueraded |
IPv6 connectivity | Link-local |
Target DNS | Lost IPv6 |
What is tested
- Wheter the component suppresses AAAA queries when lacking global IPv6 connectivity.
Test flow
TBD
- step
- another step
Expected result
- Host requests A record and receives reply.
- Host connects via IPv4.
- No delay, no AAAA query.
Dual-stack to dual-stack with lost communication
IPv4 connectivity | Global or masqueraded |
IPv6 connectivity | Global but packets to destination get dropped |
Target DNS | Dual-stack, DNS server accessed via IPv4 |
What is tested
- Whether the component reverts to IPv4 in reasonable time when local or remote network drops all IPv6 communication.
Test flow
TBD
- step
- another step
Expected result (sequential, IPv6 preferred)
- Host requests AAAA record and receives reply.
- Host attempts connecting to IPv6 and times out.
- Host requests A record and receives reply.
- Host connects via IPv4
Expected result (parallel DNS, IPv6 preferred)
- Host requests A and AAAA records simultaneously and waits for AAAA reply.
- Host attempts connecting to IPv6 and times out, receiving A reply in the meantime.
- Host connects via IPv4.
Expected result (parallel DNS, parallel TCP, IPv6 preferred)
- Host requests A and AAAA records simultaneously
- Host attempts IPv4 and IPv6 connections upon receiving the respective records
- IPv4 connection is established
- IPv6 connection is given up after a short delay (e.g. 300 milliseconds)
- IPv4 connection is used