diff options
| author | tv <tv@krebsco.de> | 2026-10-31 21:57:01 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-31 21:57:01 +0100 |
| commit | 9517904f7925125df17b581132f6065477ff9439 (patch) | |
| tree | a5ac4765fea7f73c68713fbdb5d5641c87da1707 /src | |
| parent | a0c6850d85e1f8f1d9613a323df12d1c94cce8f6 (diff) | |
libp2p: add ignore info to listened addresses
Diffstat (limited to 'src')
| -rw-r--r-- | src/transport/libp2p/driver.rs | 11 |
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); |
