On Mon, Jul 13, 2020 at 11:44:13AM +0200, Bastien Orivel wrote:
> This is only used in the ESX driver where, when set to "no", it will
> ignore all the checks libvirt does about the origin of the MAC address
> (whether or not it's in a VMWare OUI) and forward the original one to
> the ESX server telling it not to check it either.
>
> This allows keeping a deterministic MAC address which can be useful for
> licensed software which might dislike changes.
>
> Signed-off-by: Bastien Orivel <[email protected]>
> ---
> diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c
> index d4d66f6768..82035884a2 100644
> --- a/src/vmx/vmx.c
> +++ b/src/vmx/vmx.c
> @@ -3829,7 +3829,14 @@ virVMXFormatEthernet(virDomainNetDefPtr def, int
> controller,
> prefix = (def->mac.addr[0] << 16) | (def->mac.addr[1] << 8) |
> def->mac.addr[2];
> suffix = (def->mac.addr[3] << 16) | (def->mac.addr[4] << 8) |
> def->mac.addr[5];
>
> - if (prefix == 0x000c29) {
> + if (def->mac_check == VIR_TRISTATE_BOOL_NO) {
> + virBufferAsprintf(buffer, "ethernet%d.addressType = \"static\"\n",
> + controller);
> + virBufferAsprintf(buffer, "ethernet%d.address = \"%s\"\n",
> + controller, mac_string);
> + virBufferAsprintf(buffer, "ethernet%d.checkMACAddress = \"false\"\n",
> + controller);
> + } else if (prefix == 0x000c29) {
> virBufferAsprintf(buffer, "ethernet%d.addressType = \"generated\"\n",
> controller);
> virBufferAsprintf(buffer, "ethernet%d.generatedAddress = \"%s\"\n",
I don't think it is correct to merely add another branch to the if
at the start. The new "check" attribute should apply to all of
the existing branches.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|