mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-16 02:45:41 +00:00
fix ospf route (#970)
- **fix deadlock in ospf route introducd by #958 ** - **use random peer id for foreign network entry, because ospf route algo need peer id change after peer info version reset. this may interfere route propagation and cause node residual** - **allow multiple nodes broadcast same network ranges for subnet proxy** - **bump version to v2.3.2**
This commit is contained in:
@@ -204,6 +204,22 @@ impl PeerMap {
|
||||
None
|
||||
}
|
||||
|
||||
pub async fn get_origin_my_peer_id(
|
||||
&self,
|
||||
network_name: &str,
|
||||
foreign_my_peer_id: PeerId,
|
||||
) -> Option<PeerId> {
|
||||
for route in self.routes.read().await.iter() {
|
||||
let origin_peer_id = route
|
||||
.get_origin_my_peer_id(network_name, foreign_my_peer_id)
|
||||
.await;
|
||||
if origin_peer_id.is_some() {
|
||||
return origin_peer_id;
|
||||
}
|
||||
}
|
||||
None
|
||||
}
|
||||
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.peer_map.is_empty()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user