vmnet_enable_isolation_key and vmnet_network_identifier_key are macOS 11, so older SDKs do not declare them. This restores the guards qemu carried until commit 3bf445fbb199 ("net/vmnet: Drop ifdef for macOS versions older than 12.0"). --- net/vmnet-shared.c.orig +++ net/vmnet-shared.c @@ -20,6 +20,16 @@ static bool validate_options(const Netdev *netdev, Error **errp) { const NetdevVmnetSharedOptions *options = &(netdev->u.vmnet_shared); + +#if !defined(MAC_OS_VERSION_11_0) || \ + MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_VERSION_11_0 + if (options->has_isolated) { + error_setg(errp, + "vmnet-shared.isolated feature is " + "unavailable: outdated vmnet.framework API"); + return false; + } +#endif if ((options->start_address || options->end_address || @@ -66,11 +76,14 @@ options->subnet_mask); } +#if defined(MAC_OS_VERSION_11_0) && \ + MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_VERSION_11_0 xpc_dictionary_set_bool( if_desc, vmnet_enable_isolation_key, options->isolated ); +#endif return if_desc; }