diff --git a/.gitignore b/.gitignore index 9f6f5f4..5b68cf1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .client .output sdlan +sdlan.exe \ No newline at end of file diff --git a/src/network/packet.rs b/src/network/packet.rs index 4ebe8e9..59299a9 100644 --- a/src/network/packet.rs +++ b/src/network/packet.rs @@ -742,6 +742,7 @@ async fn handle_tun_packet( return; } let data = origin.unwrap(); + debug!("ether size is {}", data.len()); let msg_size = data.len() as u64; let Ok(dst_mac) = pkt.dst_mac.try_into() else { @@ -766,8 +767,10 @@ async fn handle_tun_packet( debug!("got packet from sock, will send to tun"); match Ethernet2Header::from_slice(&data) { Ok((hdr, rest)) => { + debug!("ip size is {}", rest.len()); let edge = get_edge(); let self_mac = edge.device_config.get_mac(); + /* if hdr.destination != self_mac && hdr.destination != BROADCAST_MAC { error!( @@ -860,7 +863,14 @@ async fn handle_tun_packet( } else { println!("got ip packet"); println!("got data: {:?}", rest); - edge.device.send(rest); + match edge.device.send(rest) { + Ok(size) => { + debug!("send to tun {} bytes", size); + } + Err(e) => { + error!("failed to send to device"); + } + } // edge.tun.send_data_to_tun(Vec::from(hdr.1)).await; } } diff --git a/wintun.dll b/wintun.dll new file mode 100644 index 0000000..aee04e7 Binary files /dev/null and b/wintun.dll differ