aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-31 21:57:01 +0100
committertv <tv@krebsco.de>2026-10-31 21:57:01 +0100
commitd1e49f0920e4c10f7822ab94099ffd03a4ba3d6c (patch)
treed06c0204d8f72983a37ab28ab62f395368c88508 /src
parent4e0d0312a591fd55e3dabbf5fa6dd9f00408c045 (diff)
libp2p: add ignore info to listened addresses
Diffstat (limited to 'src')
-rw-r--r--src/transport/libp2p/driver.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/transport/libp2p/driver.rs b/src/transport/libp2p/driver.rs
index a450cb0..145592d 100644
--- a/src/transport/libp2p/driver.rs
+++ b/src/transport/libp2p/driver.rs
@@ -255,9 +255,16 @@ pub(super) async fn run(
}
}
SwarmEvent::NewListenAddr { address, .. } => {
- info!(address = %address, "Listening");
+ // libp2p listens on every interface it's told to; the ranges left
+ // out are only kept out of what's published, told and connected.
+ let left_out = ignored(&lock(&book).ignored, &address);
+ if left_out {
+ debug!(address = %address, "Listening, but left out (libp2p-ignore): neither published nor connected over");
+ } else {
+ info!(address = %address, "Listening");
+ }
// A relay tells those reserving where it is: its external addresses.
- if serving && !is_local(&address) && !is_relayed(&address) {
+ if serving && !left_out && !is_local(&address) && !is_relayed(&address) {
swarm.add_external_address(address.clone());
}
let mut book = lock(&book);