Looks like GetMACAddressFromUUID() is abusing the vmnet API.
Starting an interface in shared mode:
xpc_dictionary_set_uint64(interface_desc, vmnet_operation_mode_key, VMNET_SHARED_MODE);
requires either com.apple.netwrking entitlement, or running as root, but this code is used my minikube running as unprivileged user.
Looks like this works because we don't specify vmnet_start_address/vmnet_end_address/vmnet_subnet_mask. I wonder if this usage is documented and we can relay on it, or this happen to work and can break in a future macOS release?
Also what guarantees that we will get the same MAC address when starting the real interface after it is stopped? For example if you clear /var/db/dhcp_leases right after calling GetMACAddressFromUUID(), you will get another MAC address, right?
Looks like
GetMACAddressFromUUID()is abusing the vmnet API.Starting an interface in shared mode:
requires either
com.apple.netwrkingentitlement, or running as root, but this code is used my minikube running as unprivileged user.Looks like this works because we don't specify vmnet_start_address/vmnet_end_address/vmnet_subnet_mask. I wonder if this usage is documented and we can relay on it, or this happen to work and can break in a future macOS release?
Also what guarantees that we will get the same MAC address when starting the real interface after it is stopped? For example if you clear
/var/db/dhcp_leasesright after callingGetMACAddressFromUUID(), you will get another MAC address, right?