diff --git a/Cargo.toml b/Cargo.toml index 63578c8e..091e7d02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -17,7 +17,7 @@ cfg-if = "1" futures-core = { version = "0.3", optional = true } libc = { version = "0.2", features = ["extra_traits"] } log = "0.4" -thiserror = "1" +thiserror = "2" tokio = { version = "1", features = [ "net", "macros", diff --git a/src/platform/windows/device.rs b/src/platform/windows/device.rs index 8b80ef6c..4bad44d3 100644 --- a/src/platform/windows/device.rs +++ b/src/platform/windows/device.rs @@ -65,14 +65,14 @@ impl Device { if let Some(dns_servers) = &config.platform_config.dns_servers { adapter.set_dns_servers(dns_servers)?; } - let mtu = config.mtu.unwrap_or(crate::DEFAULT_MTU); - + if let Some(mtu) = config.mtu { + adapter.set_mtu(mtu as _)?; + } let capacity = config.ring_capacity.unwrap_or(MAX_RING_CAPACITY); let session = adapter.start_session(capacity)?; - adapter.set_mtu(mtu as _)?; let mut device = Device { driver: Driver::Tun(Tun { session }), - mtu, + mtu: adapter.get_mtu()? as u16, }; // This is not needed since we use netsh to set the address.