diff --git a/easytier/src/peers/peer_ospf_route.rs b/easytier/src/peers/peer_ospf_route.rs index f346d475..ccaeba29 100644 --- a/easytier/src/peers/peer_ospf_route.rs +++ b/easytier/src/peers/peer_ospf_route.rs @@ -30,6 +30,17 @@ use tokio::{ task::{JoinHandle, JoinSet}, }; +use super::{ + graph_algo::dijkstra_with_first_hop, + peer_rpc::PeerRpcManager, + route_trait::{ + DefaultRouteCostCalculator, ForeignNetworkRouteInfoMap, NextHopPolicy, RouteCostCalculator, + RouteCostCalculatorInterface, + }, + PeerPacketFilter, +}; +use crate::common::config::ConfigLoader; +use crate::proto::dns::DnsConfigKind; use crate::{ common::{ config::NetworkIdentity, @@ -189,6 +200,7 @@ impl RoutePeerInfo { network_length: 24, ipv6_addr: None, groups: Vec::new(), + dns: Default::default(), quic_port: None, noise_static_pubkey: Vec::new(), @@ -249,6 +261,7 @@ impl RoutePeerInfo { ipv6_addr: global_ctx.get_ipv6().map(|x| x.into()), groups: global_ctx.get_acl_groups(my_peer_id), + dns: Some(global_ctx.config.get_dns().to_pb(DnsConfigKind::Remote)), noise_static_pubkey, diff --git a/easytier/src/proto/peer_rpc.proto b/easytier/src/proto/peer_rpc.proto index 5ededd12..7f4e8c46 100644 --- a/easytier/src/proto/peer_rpc.proto +++ b/easytier/src/proto/peer_rpc.proto @@ -2,6 +2,7 @@ syntax = "proto3"; import "google/protobuf/timestamp.proto"; import "common.proto"; +import "dns.proto"; package peer_rpc; @@ -46,6 +47,8 @@ message RoutePeerInfo { // Trusted credential public keys published by admin nodes (holding network_secret) repeated TrustedCredentialPubkeyProof trusted_credential_pubkeys = 19; + + dns.DnsConfigPb dns = 20; } message PeerIdVersion {