summaryrefslogtreecommitdiffhomepage
path: root/test/test-manager
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2024-04-10 00:24:27 +0200
committerDavid Lönnhager <david.l@mullvad.net>2024-04-17 10:16:53 +0200
commit84d15c421fc7efe55da0be45e09fc8d12fc2eddb (patch)
treecfdfeacdb7c0926c01abfb9c456855d66687a494 /test/test-manager
parentd1e928106c2aacb848d16092b72fcf475c89083a (diff)
downloadmullvadvpn-84d15c421fc7efe55da0be45e09fc8d12fc2eddb.tar.xz
mullvadvpn-84d15c421fc7efe55da0be45e09fc8d12fc2eddb.zip
Remove dummy interfaces
Diffstat (limited to 'test/test-manager')
-rw-r--r--test/test-manager/src/vm/network/linux.rs35
-rw-r--r--test/test-manager/src/vm/network/macos.rs35
-rw-r--r--test/test-manager/src/vm/network/mod.rs3
3 files changed, 3 insertions, 70 deletions
diff --git a/test/test-manager/src/vm/network/linux.rs b/test/test-manager/src/vm/network/linux.rs
index f54d218b2f..c767a35072 100644
--- a/test/test-manager/src/vm/network/linux.rs
+++ b/test/test-manager/src/vm/network/linux.rs
@@ -25,15 +25,6 @@ pub const BRIDGE_NAME: &str = "br-mullvadtest";
/// TAP interface used by the guest
pub const TAP_NAME: &str = "tap-mullvadtest";
-/// Pingable dummy LAN interface (name)
-pub const DUMMY_LAN_INTERFACE_NAME: &str = "lan-mullvadtest";
-/// Pingable dummy LAN interface (IP)
-pub const DUMMY_LAN_INTERFACE_IP: Ipv4Addr = Ipv4Addr::new(172, 29, 1, 200);
-/// Pingable dummy interface with public IP (name)
-pub const DUMMY_INET_INTERFACE_NAME: &str = "net-mullvadtest";
-/// Pingable dummy interface with public IP (IP)
-pub const DUMMY_INET_INTERFACE_IP: Ipv4Addr = Ipv4Addr::new(1, 3, 3, 7);
-
// Private key of the wireguard remote peer on host.
const CUSTOM_TUN_REMOTE_PRIVKEY: &str = "gLvQuyqazziyf+pUCAFUgTnWIwn6fPE5MOReOqPEGHU=";
// Public key of the wireguard remote peer on host.
@@ -47,9 +38,9 @@ data_encoding_macro::base64_array!(
"pub const CUSTOM_TUN_LOCAL_PRIVKEY" = "mPue6Xt0pdz4NRAhfQSp/SLKo7kV7DW+2zvBq0N9iUI="
);
-/// "Real" (non-tunnel) IP of the wireguard remote peer as defined in `setup-network.sh`.
+/// "Real" (non-tunnel) IP of the wireguard remote peer on the host
#[allow(dead_code)]
-pub const CUSTOM_TUN_REMOTE_REAL_ADDR: Ipv4Addr = Ipv4Addr::new(172, 29, 1, 200);
+pub const CUSTOM_TUN_REMOTE_REAL_ADDR: Ipv4Addr = Ipv4Addr::new(172, 29, 1, 1);
/// Port of the wireguard remote peer as defined in `setup-network.sh`.
#[allow(dead_code)]
pub const CUSTOM_TUN_REMOTE_REAL_PORT: u16 = 51820;
@@ -134,28 +125,6 @@ table ip mullvad_test_nat {{
))
.await?;
- log::debug!("Set up pingable hosts");
-
- run_ip_cmd(["link", "add", DUMMY_LAN_INTERFACE_NAME, "type", "dummy"]).await?;
- run_ip_cmd([
- "addr",
- "add",
- "dev",
- DUMMY_LAN_INTERFACE_NAME,
- &DUMMY_LAN_INTERFACE_IP.to_string(),
- ])
- .await?;
-
- run_ip_cmd(["link", "add", DUMMY_INET_INTERFACE_NAME, "type", "dummy"]).await?;
- run_ip_cmd([
- "addr",
- "add",
- "dev",
- DUMMY_INET_INTERFACE_NAME,
- &DUMMY_INET_INTERFACE_IP.to_string(),
- ])
- .await?;
-
log::debug!("Create WireGuard peer");
create_local_wireguard_peer().await?;
diff --git a/test/test-manager/src/vm/network/macos.rs b/test/test-manager/src/vm/network/macos.rs
index ef815f203a..78653df41c 100644
--- a/test/test-manager/src/vm/network/macos.rs
+++ b/test/test-manager/src/vm/network/macos.rs
@@ -4,9 +4,6 @@ use anyhow::{anyhow, Context, Result};
use futures::future::{self, Either};
use tokio::{io::AsyncWriteExt, process::Command};
-/// Pingable dummy LAN interface (IP)
-pub const DUMMY_LAN_INTERFACE_IP: Ipv4Addr = Ipv4Addr::new(192, 168, 64, 254);
-
// Private key of the wireguard remote peer on host.
const CUSTOM_TUN_REMOTE_PRIVKEY: &str = "gLvQuyqazziyf+pUCAFUgTnWIwn6fPE5MOReOqPEGHU=";
// Public key of the wireguard remote peer on host.
@@ -50,41 +47,9 @@ pub async fn setup_test_network() -> Result<()> {
.await
.context("Failed to create WireGuard interface")?;
- // A bit of trickery to detect when the bridge is available.
- tokio::spawn(async move {
- for _ in 0..30 {
- let Ok(interface) = find_vm_bridge() else {
- tokio::time::sleep(Duration::from_secs(1)).await;
- continue;
- };
- match create_dummy_interface(interface).await {
- Ok(_) => log::debug!("Created dummy interface"),
- Err(error) => log::error!("Failed to create dummy interface: {error}"),
- }
- return;
- }
- log::error!("Failed to create dummy interface: timed out");
- });
-
Ok(())
}
-async fn create_dummy_interface(interface: String) -> Result<()> {
- let mut cmd = Command::new("/usr/bin/sudo");
- cmd.args([
- "/sbin/ifconfig",
- &interface,
- "alias",
- &DUMMY_LAN_INTERFACE_IP.to_string(),
- ]);
- let output = cmd.output().await.context("Create dummy interface")?;
- if output.status.success() {
- Ok(())
- } else {
- Err(anyhow!("ifconfig failed: {:?}", output.status.code()))
- }
-}
-
/// A hack to find the Tart bridge interface using `NON_TUN_GATEWAY`.
/// It should be possible to retrieve this using the virtualization framework instead,
/// but that requires an entitlement.
diff --git a/test/test-manager/src/vm/network/mod.rs b/test/test-manager/src/vm/network/mod.rs
index 944e241013..de055376b0 100644
--- a/test/test-manager/src/vm/network/mod.rs
+++ b/test/test-manager/src/vm/network/mod.rs
@@ -12,8 +12,7 @@ pub use macos as platform;
pub use platform::{
CUSTOM_TUN_GATEWAY, CUSTOM_TUN_INTERFACE_NAME, CUSTOM_TUN_LOCAL_PRIVKEY,
CUSTOM_TUN_LOCAL_TUN_ADDR, CUSTOM_TUN_REMOTE_PUBKEY, CUSTOM_TUN_REMOTE_REAL_ADDR,
- CUSTOM_TUN_REMOTE_REAL_PORT, CUSTOM_TUN_REMOTE_TUN_ADDR, DUMMY_LAN_INTERFACE_IP,
- NON_TUN_GATEWAY,
+ CUSTOM_TUN_REMOTE_REAL_PORT, CUSTOM_TUN_REMOTE_TUN_ADDR, NON_TUN_GATEWAY,
};
/// Port on NON_TUN_GATEWAY that hosts a SOCKS5 server