diff --git a/Scripting/UTM.sdef b/Scripting/UTM.sdef index 41af0f1e9c..0b236158a8 100644 --- a/Scripting/UTM.sdef +++ b/Scripting/UTM.sdef @@ -527,6 +527,21 @@ description="Only used in emulated mode. Allows port forwarding from guest to host."> + + + + + + + + + + diff --git a/Scripting/UTMScriptingConfigImpl.swift b/Scripting/UTMScriptingConfigImpl.swift index 5f24f1a50a..6fc1811d9d 100644 --- a/Scripting/UTMScriptingConfigImpl.swift +++ b/Scripting/UTMScriptingConfigImpl.swift @@ -154,6 +154,11 @@ extension UTMScriptingConfigImpl { "address": config.macAddress, "hostInterface": config.bridgeInterface ?? "", "portForwards": config.portForward.map({ serializeQemuPortForward($0) }), + "vlanGuestAddress": config.vlanGuestAddress ?? "", + "vlanGuestAddressIpv6": config.vlanGuestAddressIPv6 ?? "", + "vlanDhcpStartAddress": config.vlanDhcpStartAddress ?? "", + "vlanDhcpEndAddress": config.vlanDhcpEndAddress ?? "", + "isolateFromHost": config.isIsolateFromHost, ] } @@ -487,6 +492,21 @@ extension UTMScriptingConfigImpl { if let portForwards = record["portForwards"] as? [[AnyHashable : Any]] { network.portForward = portForwards.map({ unserializeQemuPortForward(from: $0) }) } + if let value = record["vlanGuestAddress"] as? String, !value.isEmpty { + network.vlanGuestAddress = value + } + if let value = record["vlanGuestAddressIpv6"] as? String, !value.isEmpty { + network.vlanGuestAddressIPv6 = value + } + if let value = record["vlanDhcpStartAddress"] as? String, !value.isEmpty { + network.vlanDhcpStartAddress = value + } + if let value = record["vlanDhcpEndAddress"] as? String, !value.isEmpty { + network.vlanDhcpEndAddress = value + } + if let value = record["isolateFromHost"] as? Bool { + network.isIsolateFromHost = value + } } private func parseNetworkProtocol(_ value: AEKeyword?) -> QEMUNetworkProtocol? {