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

lnd sends announcement_signatures before reestablish_channel #2940

Closed
rustyrussell opened this issue Apr 12, 2019 · 2 comments
Closed

lnd sends announcement_signatures before reestablish_channel #2940

rustyrussell opened this issue Apr 12, 2019 · 2 comments

Comments

@rustyrussell
Copy link

Background

You're supposed to send reestablish first, and also wait for the reply.

ElementsProject/lightning#2559

Your environment

The source was Pierre Rochard's node, which he tells me is 0.5.2-99-beta commit=queue/v1.0.1-109-g9f6a1403e9773ba97ec0e9fdee3b654789970d3a

Steps to reproduce

Take your c-lightning node (minus above fix) up and down several times while lnd connects with a relatively fresh channel.

Expected behaviour

Delay other channel msgs until REESTABLISH sent and received.

Actual behaviour

Rusty writes nasty code in c-lightning to defer unexpected packets. We had an earlier issue with funding_locked, but I had special cased that. Now I just defer all weird stuff.

@cfromknecht
Copy link
Contributor

cfromknecht commented Apr 12, 2019

Hmm, BOLT 2 section on Message Retransmission says that BOLT 7 messages are not required to wait for ChannelReestablish:

Note that messages described in BOLT #7 are independent of particular channels; their transmission requirements are covered there, and besides being transmitted after init (as all messages are), they are independent of requirements here.

and BOLT 7 does not include anything about ChannelReestablish in the retransmission requirements for AnnouncementSignatures, AFAICT.

I assume then, that this the issue in regards to delaying BOLT 7 messages only if:

  1. They pertain to a channel with the current peer, and
  2. We have not sent ChannelReestablish for that channel?

If I understand correctly, what is the benefit of being able to send info about everyone else's channels immediately, but withhold relevant gossip info from your channel partner until after ChannelReestablish?

@Roasbeef
Copy link
Member

Closing as a duplicate of #2555.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants