summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSebastian Holmin <sebastian.holmin@mullvad.net>2025-10-22 16:32:44 +0200
committerMarkus Pettersson <markus.pettersson@mullvad.net>2025-10-24 14:11:11 +0200
commit7c975c74e7d528aa25fab55827ce2dc7de43f5b5 (patch)
tree1bad1b95a4a5e078ef5182336541d6c4d8066b1a
parent70b233626dcd9c935fd07501239c7825a2a1300b (diff)
downloadmullvadvpn-7c975c74e7d528aa25fab55827ce2dc7de43f5b5.tar.xz
mullvadvpn-7c975c74e7d528aa25fab55827ce2dc7de43f5b5.zip
Add padding packet over log on disconnect
-rw-r--r--talpid-wireguard/src/lib.rs36
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,