[qemu] Revert to user networking for `botanist qemu`
There are tests that use this codepath that do not work with an emulated Tap interface.
Change-Id: I11cd5cf86fe78b247b02aed29061769568ebc0bf
diff --git a/botanist/target/qemu.go b/botanist/target/qemu.go
index 4ce32e7..a9faf9b 100644
--- a/botanist/target/qemu.go
+++ b/botanist/target/qemu.go
@@ -66,6 +66,9 @@
// KVM specifies whether to enable hardware virtualization acceleration.
KVM bool `json:"kvm"`
+ // Whether User networking is enabled; if false, a Tap interface will be used.
+ UserNetworking bool `json:"user_networking"`
+
// MinFS is the filesystem to mount as a device.
MinFS *MinFS `json:"minfs,omitempty"`
}
@@ -162,15 +165,18 @@
})
}
- networks := []qemu.Netdev{
- qemu.Netdev{
- ID: "net0",
- Tap: &qemu.NetdevTap{
- Name: defaultInterfaceName,
- },
- MAC: defaultMACAddr,
- },
+ netdev := qemu.Netdev{
+ ID: "net0",
+ MAC: defaultMACAddr,
}
+ if t.config.UserNetworking {
+ netdev.User = &qemu.NetdevUser{}
+ } else {
+ netdev.Tap = &qemu.NetdevTap{
+ Name: defaultInterfaceName,
+ }
+ }
+ networks := []qemu.Netdev{netdev}
config := qemu.Config{
Binary: qemuSystem,
diff --git a/cmd/botanist/qemu.go b/cmd/botanist/qemu.go
index 4dfd444..c8b5590 100644
--- a/cmd/botanist/qemu.go
+++ b/cmd/botanist/qemu.go
@@ -85,11 +85,12 @@
// TODO: pass this directly from a file.
config := target.QEMUConfig{
- CPU: cmd.cpu,
- Memory: cmd.memory,
- Path: cmd.qemuBinDir,
- Target: cmd.targetArch,
- KVM: cmd.enableKVM,
+ CPU: cmd.cpu,
+ Memory: cmd.memory,
+ Path: cmd.qemuBinDir,
+ Target: cmd.targetArch,
+ KVM: cmd.enableKVM,
+ UserNetworking: true,
}
if cmd.minFSImage != "" {
config.MinFS = &target.MinFS{