aboutsummaryrefslogtreecommitdiffstats
path: root/src/transport
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
commit9517904f7925125df17b581132f6065477ff9439 (patch)
treea5ac4765fea7f73c68713fbdb5d5641c87da1707 /src/transport
parenta0c6850d85e1f8f1d9613a323df12d1c94cce8f6 (diff)
libp2p: add ignore info to listened addresses
Diffstat (limited to 'src/transport')
-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);