Skip to content

Commit dc878dc

Browse files
endothermicdevrustyrussell
authored andcommitted
lightningd: add option for minimum seeker autoconnect peers
Changelog-added: Added option --autoconnect-seeker-peers, allowing seeker to reach out to new nodes for additional gossip.
1 parent f2243e6 commit dc878dc

File tree

12 files changed

+417
-276
lines changed

12 files changed

+417
-276
lines changed

.msggen.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1620,6 +1620,7 @@
16201620
"ListConfigs.configs.announce-addr-discovered": 54,
16211621
"ListConfigs.configs.announce-addr-discovered-port": 55,
16221622
"ListConfigs.configs.announce-addr-dns": 67,
1623+
"ListConfigs.configs.autoconnect-seeker-peers": 71,
16231624
"ListConfigs.configs.autolisten": 51,
16241625
"ListConfigs.configs.bind-addr": 49,
16251626
"ListConfigs.configs.clear-plugins": 3,
@@ -1718,6 +1719,10 @@
17181719
"ListConfigs.configs.announce-addr-dns.source": 2,
17191720
"ListConfigs.configs.announce-addr-dns.value_bool": 1
17201721
},
1722+
"ListconfigsConfigsAutoconnect-seeker-peers": {
1723+
"ListConfigs.configs.autoconnect-seeker-peers.source": 2,
1724+
"ListConfigs.configs.autoconnect-seeker-peers.value_int": 1
1725+
},
17211726
"ListconfigsConfigsAutolisten": {
17221727
"ListConfigs.configs.autolisten.source": 2,
17231728
"ListConfigs.configs.autolisten.value_bool": 1
@@ -1989,6 +1994,7 @@
19891994
"ListConfigs.announce-addr-discovered": 52,
19901995
"ListConfigs.announce-addr-discovered-port": 53,
19911996
"ListConfigs.announce-addr-dns": 66,
1997+
"ListConfigs.autoconnect-seeker-peers": 72,
19921998
"ListConfigs.autolisten": 49,
19931999
"ListConfigs.bind-addr": 47,
19942000
"ListConfigs.bookkeeper-db": 12,
@@ -6698,6 +6704,10 @@
66986704
"added": "v22.11.1",
66996705
"deprecated": "v23.08"
67006706
},
6707+
"ListConfigs.autoconnect-seeker-peers": {
6708+
"added": "v24.11",
6709+
"deprecated": null
6710+
},
67016711
"ListConfigs.autolisten": {
67026712
"added": "pre-v0.10.1",
67036713
"deprecated": "v23.08"
@@ -6854,6 +6864,18 @@
68546864
"added": "pre-v0.10.1",
68556865
"deprecated": null
68566866
},
6867+
"ListConfigs.configs.autoconnect-seeker-peers": {
6868+
"added": "v24.11",
6869+
"deprecated": null
6870+
},
6871+
"ListConfigs.configs.autoconnect-seeker-peers.source": {
6872+
"added": "v24.11",
6873+
"deprecated": null
6874+
},
6875+
"ListConfigs.configs.autoconnect-seeker-peers.value_int": {
6876+
"added": "v24.11",
6877+
"deprecated": null
6878+
},
68576879
"ListConfigs.configs.autolisten": {
68586880
"added": "pre-v0.10.1",
68596881
"deprecated": null

cln-grpc/proto/node.proto

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cln-grpc/src/convert.rs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cln-rpc/src/model.rs

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

contrib/msggen/msggen/schema.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19817,6 +19817,31 @@
1981719817
]
1981819818
}
1981919819
}
19820+
},
19821+
"autoconnect-seeker-peers": {
19822+
"added": "v24.11",
19823+
"type": "object",
19824+
"additionalProperties": false,
19825+
"required": [
19826+
"value_int",
19827+
"source"
19828+
],
19829+
"properties": {
19830+
"value_int": {
19831+
"type": "u32",
19832+
"added": "v24.11",
19833+
"description": [
19834+
"Field from config or cmdline, or default."
19835+
]
19836+
},
19837+
"source": {
19838+
"type": "string",
19839+
"added": "v24.11",
19840+
"description": [
19841+
"Source of configuration setting."
19842+
]
19843+
}
19844+
}
1982019845
}
1982119846
}
1982219847
},
@@ -20581,6 +20606,13 @@
2058120606
"description": [
2058220607
"Additional commitment feerate applied by channel owner."
2058320608
]
20609+
},
20610+
"autoconnect-seeker-peers": {
20611+
"type": "u32",
20612+
"added": "v24.11",
20613+
"description": [
20614+
"Minimum number of gossip peers. Seeker connects to random nodes until this number is reached."
20615+
]
2058420616
}
2058520617
},
2058620618
"pre_return_value_notes": [

contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py

Lines changed: 278 additions & 276 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

contrib/pyln-testing/pyln/testing/grpc2py.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2108,6 +2108,13 @@ def listconfigs_configs_announce_addr_dns2py(m):
21082108
})
21092109

21102110

2111+
def listconfigs_configs_autoconnect_seeker_peers2py(m):
2112+
return remove_default({
2113+
"source": m.source, # PrimitiveField in generate_composite
2114+
"value_int": m.value_int, # PrimitiveField in generate_composite
2115+
})
2116+
2117+
21112118
def listconfigs_configs_autolisten2py(m):
21122119
return remove_default({
21132120
"source": m.source, # PrimitiveField in generate_composite
@@ -2582,6 +2589,7 @@ def listconfigs2py(m):
25822589
"announce_addr_discovered": m.announce_addr_discovered, # PrimitiveField in generate_composite
25832590
"announce_addr_discovered_port": m.announce_addr_discovered_port, # PrimitiveField in generate_composite
25842591
"announce_addr_dns": m.announce_addr_dns, # PrimitiveField in generate_composite
2592+
"autoconnect_seeker_peers": m.autoconnect_seeker_peers, # PrimitiveField in generate_composite
25852593
"autolisten": m.autolisten, # PrimitiveField in generate_composite
25862594
"bind_addr": m.bind_addr, # PrimitiveField in generate_composite
25872595
"bookkeeper_db": m.bookkeeper_db, # PrimitiveField in generate_composite

doc/lightningd-config.5.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,10 @@ its use disables autolisten.
645645
can be useful for maintenance and forensics, so is usually specified on
646646
the command line. Overrides all *addr* and *bind-addr* options.
647647

648+
* **autoconnect-seeker-peers**=*NUMBER* (added in v24.11)
649+
650+
Sets the number of peers to gossip with: if we don't have this many connections, we will try to connect to random peers until we do. The default is 10.
651+
648652
* **autolisten**=*BOOL*
649653

650654
By default, we bind (and maybe announce) on IPv4 and IPv6 interfaces if

doc/schemas/lightning-listconfigs.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,6 +1675,31 @@
16751675
]
16761676
}
16771677
}
1678+
},
1679+
"autoconnect-seeker-peers": {
1680+
"added": "v24.11",
1681+
"type": "object",
1682+
"additionalProperties": false,
1683+
"required": [
1684+
"value_int",
1685+
"source"
1686+
],
1687+
"properties": {
1688+
"value_int": {
1689+
"type": "u32",
1690+
"added": "v24.11",
1691+
"description": [
1692+
"Field from config or cmdline, or default."
1693+
]
1694+
},
1695+
"source": {
1696+
"type": "string",
1697+
"added": "v24.11",
1698+
"description": [
1699+
"Source of configuration setting."
1700+
]
1701+
}
1702+
}
16781703
}
16791704
}
16801705
},
@@ -2439,6 +2464,13 @@
24392464
"description": [
24402465
"Additional commitment feerate applied by channel owner."
24412466
]
2467+
},
2468+
"autoconnect-seeker-peers": {
2469+
"type": "u32",
2470+
"added": "v24.11",
2471+
"description": [
2472+
"Minimum number of gossip peers. Seeker connects to random nodes until this number is reached."
2473+
]
24422474
}
24432475
},
24442476
"pre_return_value_notes": [

lightningd/lightningd.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,9 @@ static struct lightningd *new_lightningd(const tal_t *ctx)
370370
* which is due for complete removal. */
371371
ld->api_begs = tal_arr(ld, const char *, 0);
372372

373+
/* The gossip seeker automatically connects to a this many peers */
374+
ld->autoconnect_seeker_peers = 10;
375+
373376
return ld;
374377
}
375378

0 commit comments

Comments
 (0)