mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-06 17:59:11 +00:00
fix(peer_route): exclude current peer ID from proxy CIDR lists (#2149)
This commit is contained in:
@@ -3564,21 +3564,25 @@ impl Route for PeerRoute {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async fn list_proxy_cidrs(&self) -> BTreeSet<Ipv4Cidr> {
|
async fn list_proxy_cidrs(&self) -> BTreeSet<Ipv4Cidr> {
|
||||||
|
let my_peer_id = self.my_peer_id;
|
||||||
self.service_impl
|
self.service_impl
|
||||||
.route_table
|
.route_table
|
||||||
.cidr_peer_id_map
|
.cidr_peer_id_map
|
||||||
.load()
|
.load()
|
||||||
.iter()
|
.iter()
|
||||||
|
.filter(|(_, pv)| pv.peer_id != my_peer_id)
|
||||||
.map(|(cidr, _)| *cidr)
|
.map(|(cidr, _)| *cidr)
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn list_proxy_cidrs_v6(&self) -> BTreeSet<Ipv6Cidr> {
|
async fn list_proxy_cidrs_v6(&self) -> BTreeSet<Ipv6Cidr> {
|
||||||
|
let my_peer_id = self.my_peer_id;
|
||||||
self.service_impl
|
self.service_impl
|
||||||
.route_table
|
.route_table
|
||||||
.cidr_v6_peer_id_map
|
.cidr_v6_peer_id_map
|
||||||
.load()
|
.load()
|
||||||
.iter()
|
.iter()
|
||||||
|
.filter(|(_, pv)| pv.peer_id != my_peer_id)
|
||||||
.map(|(cidr, _)| *cidr)
|
.map(|(cidr, _)| *cidr)
|
||||||
.collect()
|
.collect()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user