[PATCH] Add a check attribute on the mac address element
Daniel P. Berrangé
berrange at redhat.com
Mon Jul 13 12:16:27 UTC 2020
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 <bastien.orivel at diateam.net>
> ---
> 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 :|
More information about the libvir-list
mailing list