Skip to content

Commit a14db7f

Browse files
authored
fix(net): disable Discv5 ENR auto-update when NAT disabled or explicit addr set (paradigmxyz#23075)
1 parent c91845a commit a14db7f

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

crates/node/core/src/args/network.rs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -815,14 +815,16 @@ impl DiscoveryArgs {
815815
SocketAddr::V6(addr) => Some(*addr.ip()),
816816
});
817817

818+
let mut discv5_config_builder =
819+
reth_discv5::discv5::ConfigBuilder::new(ListenConfig::from_two_sockets(
820+
discv5_addr_ipv4.map(|addr| SocketAddrV4::new(addr, *discv5_port)),
821+
discv5_addr_ipv6.map(|addr| SocketAddrV6::new(addr, *discv5_port_ipv6, 0, 0)),
822+
));
823+
if discv5_addr.is_some() || discv5_addr_ipv6.is_some() || self.disable_nat {
824+
discv5_config_builder.disable_enr_update();
825+
}
818826
reth_discv5::Config::builder(rlpx_tcp_socket)
819-
.discv5_config(
820-
reth_discv5::discv5::ConfigBuilder::new(ListenConfig::from_two_sockets(
821-
discv5_addr_ipv4.map(|addr| SocketAddrV4::new(addr, *discv5_port)),
822-
discv5_addr_ipv6.map(|addr| SocketAddrV6::new(addr, *discv5_port_ipv6, 0, 0)),
823-
))
824-
.build(),
825-
)
827+
.discv5_config(discv5_config_builder.build())
826828
.add_unsigned_boot_nodes(boot_nodes)
827829
.lookup_interval(*discv5_lookup_interval)
828830
.bootstrap_lookup_interval(*discv5_bootstrap_lookup_interval)

0 commit comments

Comments
 (0)