feat(client): add scoped interface metric override
Add a reversible IP interface metric boundary to `lanparty-client-route`. The crate can now read an IPv4 or IPv6 interface metric snapshot and temporarily set a manual interface metric with an RAII guard that restores the previous metric and automatic-metric state on drop. This prepares the TAP metric handling without wiring policy into the Windows client yet. Default-route disabling is captured in snapshots for diagnostics and future decisions, but this slice deliberately changes only `UseAutomaticMetric` and `Metric`. Test Plan: - cargo fmt --check - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings - cargo check -p lanparty-client-route --target x86_64-pc-windows-msvc - cargo clippy -p lanparty-client-route --target x86_64-pc-windows-msvc --all-targets -- -D warnings - git diff --check Refs: PLAN.md Refs: https://learn.microsoft.com/en-us/windows-hardware/drivers/network/initializeipinterfaceentry Refs: https://learn.microsoft.com/en-us/windows/win32/api/netioapi/nf-netioapi-setipinterfaceentry
This commit is contained in:
@@ -56,6 +56,7 @@ Windows route-table boundary:
|
||||
- read-only best-route lookup for a relay destination IP
|
||||
- selected source address, next hop, interface index/LUID, prefix, and metric
|
||||
- interface index/LUID lookup from Windows network adapter GUIDs
|
||||
- scoped IP interface metric overrides with restore-on-drop behavior
|
||||
- scoped host-route pinning for the relay IP on the pre-TAP interface
|
||||
- non-Windows builds return a clear unsupported-platform error
|
||||
|
||||
|
||||
Reference in New Issue
Block a user