use crate::vortix_core::ports::route_table::RouteTable;
use crate::vortix_process::CommandSpec;
pub struct LinuxRouteTable;
impl RouteTable for LinuxRouteTable {
fn default_gateway() -> Option<String> {
let output = crate::vortix_process::run_to_output(CommandSpec::oneshot(
"ip",
vec!["route".into(), "show".into(), "default".into()],
))
.ok()?;
let text = String::from_utf8_lossy(&output.stdout);
for line in text.lines() {
let parts: Vec<&str> = line.split_whitespace().collect();
if parts.len() >= 3 && parts[0] == "default" && parts[1] == "via" {
return Some(parts[2].to_string());
}
}
None
}
}