[Users] Not enough MAC addresses left in MAC Address Pool

Mike Kolesnik mkolesni at redhat.com
Sun Oct 27 07:42:32 UTC 2013


----- Original Message -----

> While building a virtual machine we ran into an error "Not enough MAC
> addresses left in MAC Address Pool." In the engine log I see this message.

> 2013-10-26 14:47:16,590 WARN
> [org.ovirt.engine.core.bll.network.vm.AddVmInterfaceCommand] (ajp--127.0.0.
> 1-8702-12) [6fc05fa4] CanDoAction of action AddVmInterface failed.
> Reasons:VAR__TYPE__INTERFACE,VAR__ACTI
> ON__ADD,MAC_POOL_NOT_ENOUGH_MAC_ADDRESSES
> 2013-10-26 14:47:16,591 ERROR
> [org.ovirt.engine.api.restapi.resource.AbstractBackendResource] (ajp--127.0
> .0.1-8702-12) Operation Failed: [Not enough MAC addresses left in MAC Address
> Pool.]

> This led me to look at the engine config where I see these
> MacPoolRanges: 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF version: general
> MaxMacsCountInPool: 100000 version: general

> The MacPoolRange would seem to be the limiting factor here, cutting us off at
> 256 MAC addresses, which happens to be the number of virtual machine we
> currently have. I assume that updating the MacPoolRange and restarting the
> engine would resolve this issue. Has anybody experienced this issue? Why
> would the pool size have 256 and the Max entry be set to 100000, that seems
> like a large difference.

Hi Thomas, 

The MacPoolRanges is preset to what range was reserved initially when oVirt was being developed. 
Of course, in a LAN this doesn't make much difference as the possibility of MAC "hijack" from a hardware vendor is extremely low. 
The 3 first bytes in a MAC specify the vendor ID, and the 3 last bytes the "card" address (explained in http://en.wikipedia.org/wiki/MAC_address ), so I'm not sure why this was limited to 256 addresses but you can of course change the limit. 
I'm guessing it was set not to interfere with addresses used by libvirt that you may have running in the LAN which use the same vendor ID. 

Also please notice you can have multiple ranges separated by comma 
e.g. MacPoolRanges: 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1A:4A:97:5F:00-00:1A:4A:97:5F:FF 

Now the other value, MaxMacsCountInPool simply limits the MAC pool size so if you have a pool that is too big the engine won't start. 
So for example if you have pools 00:1A:4A:97:5E:00-00:1A:4A:97:5E:FF,00:1A:4A:97:5F:00-00:1A:4A:97:5F:FF it's OK since there are 256 + 256 = 512 < 100000 MACs 
But, if you have pools 00:1A:4A:00:00:00-00:1A:4A:00:FF:FF,00:1A:4A:01:00:00-00:1A:4A:01:FF:FF it will fail since there are 65536 + 65536 = 131072 > 100000 MACs 

Hope this helps, 
Mike 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/users/attachments/20131027/d1155ba4/attachment-0001.html>


More information about the Users mailing list