core-lightning/gossipd/gossip_peerd_wire.csv
Rusty Russell ca53c1b699 gossipd: push our own gossip messages harder.
I had a report of a 0.7.2 user whose node hadn't appeared on 1ml.  Their
node_announcement wasn't visible to my node, either.

I suspect this is a consequence of recent version reducing the amount of
gossip they send, as well as large nodes increasingly turning off gossip
altogether from some peers (as we do).  We should ignore timestamp filters
for our own channels: the easiest way to do this is to push them out
directly from gossipd (other messages are sent via the store).

We change channeld to wrap the local channel_announcements: previously
we just handed it to gossipd as for any other gossip message we received
from our peer.  Now gossipd knows to push it out, as it's local.

This interferes with the logic in tests/test_misc.py::test_htlc_send_timeout
which expects the node_announcement message last, so we generalize
that too.

[ Thanks to @trueptolmy for bugfix! ]
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2019-10-14 15:00:37 -05:00

1.7 KiB

1# These must be distinct from WIRE_CHANNEL_ANNOUNCEMENT etc. gossip msgs!
2# Channel daemon can ask for updates for a specific channel, for sending
3# errors.
4msgtype,gossipd_get_update,3501
5msgdata,gossipd_get_update,short_channel_id,short_channel_id,
6# If channel isn't known, update will be empty.
7msgtype,gossipd_get_update_reply,3601
8msgdata,gossipd_get_update_reply,len,u16,
9msgdata,gossipd_get_update_reply,update,u8,len
10# Both sides have seen the funding tx being locked, but we have not
11# yet reached the announcement depth. So we add the channel locally so
12# we (and peer) can update it already.
13msgtype,gossipd_local_add_channel,3503
14msgdata,gossipd_local_add_channel,short_channel_id,short_channel_id,
15msgdata,gossipd_local_add_channel,remote_node_id,node_id,
16msgdata,gossipd_local_add_channel,satoshis,amount_sat,
17# Send this channel_update.
18msgtype,gossipd_local_channel_update,3504
19msgdata,gossipd_local_channel_update,short_channel_id,short_channel_id,
20msgdata,gossipd_local_channel_update,disable,bool,
21msgdata,gossipd_local_channel_update,cltv_expiry_delta,u16,
22msgdata,gossipd_local_channel_update,htlc_minimum_msat,amount_msat,
23msgdata,gossipd_local_channel_update,fee_base_msat,u32,
24msgdata,gossipd_local_channel_update,fee_proportional_millionths,u32,
25msgdata,gossipd_local_channel_update,htlc_maximum_msat,amount_msat,
26# Update your gossip_store fd: + gossip_store_fd
27msgtype,gossipd_new_store_fd,3505
28# How much shorter the new store is, so you can offset streaming.
29msgdata,gossipd_new_store_fd,offset_shorter,u64,
30# Send this channel_announcement
31msgtype,gossipd_local_channel_announcement,3506
32msgdata,gossipd_local_channel_announcement,len,u16,
33msgdata,gossipd_local_channel_announcement,cannount,u8,len