diff options
| author | Sebastian Holmin <sebastian.holmin@mullvad.net> | 2025-10-22 16:32:44 +0200 |
|---|---|---|
| committer | Markus Pettersson <markus.pettersson@mullvad.net> | 2025-10-24 14:11:11 +0200 |
| commit | 7c975c74e7d528aa25fab55827ce2dc7de43f5b5 (patch) | |
| tree | 1bad1b95a4a5e078ef5182336541d6c4d8066b1a | |
| parent | 70b233626dcd9c935fd07501239c7825a2a1300b (diff) | |
| download | mullvadvpn-7c975c74e7d528aa25fab55827ce2dc7de43f5b5.tar.xz mullvadvpn-7c975c74e7d528aa25fab55827ce2dc7de43f5b5.zip | |
Add padding packet over log on disconnect
| -rw-r--r-- | talpid-wireguard/src/lib.rs | 36 |
1 files changed, 34 insertions, 2 deletions
diff --git a/talpid-wireguard/src/lib.rs b/talpid-wireguard/src/lib.rs index d51795a949..d95e38d9b8 100644 --- a/talpid-wireguard/src/lib.rs +++ b/talpid-wireguard/src/lib.rs @@ -832,8 +832,10 @@ impl WireguardMonitor { self.pinger_stop_sender.close(); - self.runtime - .block_on(self.event_hook.on_event(TunnelEvent::Down)); + self.runtime.block_on(async { + self.event_hook.on_event(TunnelEvent::Down).await; + log_daita_overhead(&self.tunnel).await; + }); self.stop_tunnel(); @@ -1037,6 +1039,36 @@ async fn log_tunnel_data_usage(config: &Config, tunnel: &Arc<AsyncMutex<Option<T } } +async fn log_daita_overhead(tunnel: &Arc<AsyncMutex<Option<TunnelType>>>) { + let tunnel = tunnel.lock().await; + let Some(tunnel) = &*tunnel else { return }; + let Ok(tunnel_stats) = tunnel.get_tunnel_stats().await else { + return; + }; + if let Some(stats) = tunnel_stats.values().find(|stats| stats.daita.is_some()) { + let daita = stats.daita.as_ref().unwrap(); + log::info!("DAITA overhead stats:"); + log::info!("Total (outgoing) {} MiB", stats.tx_bytes / 1024 / 1024); + log::info!("Total (incoming) {} MiB", stats.rx_bytes / 1024 / 1024); + log::info!( + "Padding packet overhead (outgoing) {} MiB", + daita.tx_padding_packet_bytes / 1024 / 1024 + ); + log::info!( + "Padding packet overhead (incoming) {} MiB", + daita.rx_padding_packet_bytes / 1024 / 1024 + ); + log::info!( + "Constant packet size overhead (outgoing) {} MiB", + daita.tx_padding_bytes / 1024 / 1024 + ); + log::info!( + "Constant packet size overhead (incoming) {} MiB", + daita.rx_padding_bytes / 1024 / 1024 + ); + } +} + #[derive(Debug)] enum CloseMsg { Stop, |
