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 | d1e49f0920e4c10f7822ab94099ffd03a4ba3d6c (patch) | |
| tree | d06c0204d8f72983a37ab28ab62f395368c88508 /src/transport/libp2p | |
| parent | 4e0d0312a591fd55e3dabbf5fa6dd9f00408c045 (diff) | |
libp2p: add ignore info to listened addresses
Diffstat (limited to 'src/transport/libp2p')
| -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); |
