fix(peer_route): exclude current peer ID from proxy CIDR lists (#2149)

This commit is contained in:
james.zhang
2026-04-22 20:30:38 +08:00
committed by GitHub
parent ffddc517e1
commit 263f4c3bc9
+4
View File
@@ -3564,21 +3564,25 @@ impl Route for PeerRoute {
}
async fn list_proxy_cidrs(&self) -> BTreeSet<Ipv4Cidr> {
let my_peer_id = self.my_peer_id;
self.service_impl
.route_table
.cidr_peer_id_map
.load()
.iter()
.filter(|(_, pv)| pv.peer_id != my_peer_id)
.map(|(cidr, _)| *cidr)
.collect()
}
async fn list_proxy_cidrs_v6(&self) -> BTreeSet<Ipv6Cidr> {
let my_peer_id = self.my_peer_id;
self.service_impl
.route_table
.cidr_v6_peer_id_map
.load()
.iter()
.filter(|(_, pv)| pv.peer_id != my_peer_id)
.map(|(cidr, _)| *cidr)
.collect()
}