golemfactory / clay

Golem is creating a global market for computing power.
https://golem.network
GNU General Public License v3.0
2.91k stars 286 forks source link

improve IPv6 support #5190

Open ethanmdavidson opened 4 years ago

ethanmdavidson commented 4 years ago

Rationale

My ISP uses carrier-grade NAT which means I do not have an IPv4 address to use. However, my device has an IPv6 address. I have been told that golem should work properly over IPv6, but that I will likely only be able to connect to peers that have also enabled IPv6. Also, despite the fact that my IPv4 connection isn't working properly, the client continues to try to connect to IPv4 addresses.

Description

Suggestions:

A more elegant solution might be to have the client autodetect which stack to use, e.g. try to connect to IPv4 and IPv6 when client is first started, but if all connections from one stack are failing, disable that stack.

User Interface

Are user-facing changes required for this functionality?

Technical specification

According to golem team members, "IPv6 is supported in the network module, but there may be problems on the way (with display, further checks, ports etc.)"

Dependencies

Enumerate other issues the completion of which is critical for this feature to be finished - or which block this feature from progressing with implementation

Sub-components

Define and add links to sub-components

Blockers

For any issues that block this issue, add links

Additional tests

Enumerate any additional unit and/or integration tests that need to be added for this feature to be covered

QA

Description of the QA process for the feature

Test scenarios:

Base test process

specify one of: ( if unsure, consult @ZmijaWA or @ederenn ) QA limited to the single feature (in case of very trivial changes) Smoke Test (the limited set of tests designed to ensure that most critical functionality doesn't experience regressions) ** Full Test (full set of tests for the whole application - in case of more extensive application updates, refactoring etc)

New feature tests

Add test scenarios for the new feature

Positive Scenario 1

Positive Scenario 2

Negative Scenario 1

Possible regressions

Progress

Development

Dev QA

Please choose the priority label for QA. It is set to the lowest by default. To setup higher priority please change the label P0 label is set for Severity-Critical/Effort-easy P1 label is set for Severity-Critical/Effort-hard P2 label is set for Severity-Low/ Effort-easy P3 label is set for Severity-Low/Effort-hard

QA team

Issues encountered during QA

When adding an issue here, please update testing scenarios and QA progress above