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(a)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 :|