diff --git a/src/network/arp.rs b/src/network/arp.rs index 428f41e..1819879 100644 --- a/src/network/arp.rs +++ b/src/network/arp.rs @@ -13,11 +13,12 @@ use tokio::sync::{ oneshot, }; -use super::{get_edge, get_route_table, init_route}; +use super::{get_edge, get_route_table, init_arp_wait_list, init_route}; static GLOBAL_ARP: OnceCell = OnceCell::new(); pub fn init_arp() { init_route(); + init_arp_wait_list(); let actor = ArpActor::new(); GLOBAL_ARP.set(actor).unwrap(); } diff --git a/src/network/tuntap.rs b/src/network/tuntap.rs index 574768f..bbc3cd3 100644 --- a/src/network/tuntap.rs +++ b/src/network/tuntap.rs @@ -5,7 +5,7 @@ use etherparse::Ethernet2Header; use once_cell::sync::OnceCell; use sdlan_sn_rs::{ config::SDLAN_DEFAULT_TTL, - utils::{aes_encrypt, get_current_timestamp, Mac}, + utils::{aes_encrypt, get_current_timestamp, ip_to_string, mac_to_string, Mac}, }; use tracing::error; @@ -58,6 +58,11 @@ impl ArpWaitList { } async fn arp_arrived(&self, ip: u32, mac: Mac) { + println!( + "arp for {} arrived: {}", + ip_to_string(&ip), + mac_to_string(&mac) + ); let Some(items) = self.content.remove(&ip) else { return; };