(host_ip: &str)
| 532 | } |
| 533 | |
| 534 | fn tap_subnet_from_host_ip(host_ip: &str) -> String { |
| 535 | host_ip.parse::<std::net::Ipv4Addr>().map_or_else( |
| 536 | |_| format!("{host_ip}/30"), |
| 537 | |ip| { |
| 538 | let base = u32::from(ip) & !3; |
| 539 | let base_ip = std::net::Ipv4Addr::from(base); |
| 540 | format!("{base_ip}/30") |
| 541 | }, |
| 542 | ) |
| 543 | } |
| 544 | |
| 545 | fn enable_ip_forwarding() -> Result<(), String> { |
| 546 | std::fs::write("/proc/sys/net/ipv4/ip_forward", "1") |
no outgoing calls