Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

channeld: handle reestablish from previous release with EXPERIMENTAL_FEATURES #4830

Merged

Conversation

rustyrussell
Copy link
Contributor

@rustyrussell rustyrussell commented Sep 30, 2021

We switched channel_types from optional to compulsory bits in
cb22015.

The result is infinite reconnects against older nodes.

We needed to upgrade the spec anyway, so I did that, and handle backwards compat.

@rustyrussell rustyrussell added this to the v0.10.2 milestone Sep 30, 2021
@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from 7328ed4 to 4793eae Compare September 30, 2021 04:08
@rustyrussell
Copy link
Contributor Author

rustyrussell commented Sep 30, 2021

This does not work, BTW, since the other peer gets upset! I will alter the spec to change the numbers not to clash...

Done. Spec updated.

@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from 4793eae to 13c8d19 Compare September 30, 2021 06:45
@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from 13c8d19 to f0f422f Compare September 30, 2021 06:57
@cdecker cdecker marked this pull request as draft October 6, 2021 12:11
@cdecker cdecker removed this from the v0.10.2 milestone Oct 6, 2021
@cdecker
Copy link
Member

cdecker commented Oct 6, 2021

Drafted and removed from milestone since it cannot be merged as is, due to failure scenarios that weren't considered.

@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from f0f422f to 1d73e9f Compare October 7, 2021 04:04
@rustyrussell rustyrussell added this to the v0.10.2 milestone Oct 7, 2021
@rustyrussell rustyrussell marked this pull request as ready for review October 7, 2021 04:07
@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from 1d73e9f to 233e19d Compare October 7, 2021 05:27
Importantly, this version no longer assumes features 34/35 are unused.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
The latest draft has a feature bit here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
It now uses raw bitfields instead of a subtype, and only allows a single
option for any upgrade.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
…FEATURES.

We switched channel_types from optional to compulsory bits in
cb22015.

The result is infinite reconnects against older nodes; we reject what
they send, and they reject what we send.

The simplest fix is to neither send nor receive the (optional!) tlvs
unless we both advertize option_quiesce, which we now do.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Changelog-EXPERIMENTAL: channel_upgrade draft upgraded: cannot upgrade channels until peers also upgrade.
@rustyrussell rustyrussell force-pushed the backwards-compat-channel-types branch from 233e19d to 1c03b19 Compare October 8, 2021 00:37
@cdecker
Copy link
Member

cdecker commented Oct 8, 2021

ACK 1c03b19

@cdecker cdecker merged commit 1534216 into ElementsProject:master Oct 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants