Re: [libvirt] [PATCH] esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses

2010-01-06 Thread Daniel Veillard
On Sun, Jan 03, 2010 at 08:42:12PM +0100, Matthias Bolte wrote:
 The MAC addresses with 00:50:56 prefix are split into several ranges:
 
   00:50:56:00:00:00 - 00:50:56:3f:ff:ff  'static' range (manually assigned)
   00:50:56:80:00:00 - 00:50:56:bf:ff:ff  'vpx' range (assigned by a VI Client)
 
 Erroneously the 'vpx' range was assumed to be larger and to occupy the
 remaining addresses of the 00:50:56 prefix that are not part of the 'static'
 range.
 
 00:50:56 was used as prefix for generated MAC addresses, this is not possible
 anymore, because there are gaps in the allowed ranges. Therefore, change the
 prefix to 00:0c:29 which is the prefix for auto generated MAC addresses 
 anyway.
 
 Allow arbitrary MAC addresses to be used and set the checkMACAddress VMX 
 option
 to false in case the MAC address doesn't fall into any predefined range.
 
 * docs/drvesx.html.in: update website accordingly
 * src/esx/esx_driver.c: set the auto generation prefix to 00:0c:29
 * src/esx/esx_vmx.c: fix MAC address range handling and allow arbitrary MAC
   addresses
 * tests/vmx2xml*, tests/xml2vmx*: add some basic MAC address range tests

  ACK,

Daniel

-- 
Daniel Veillard  | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
dan...@veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

--
Libvir-list mailing list
Libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH] esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses

2010-01-03 Thread Matthias Bolte
The MAC addresses with 00:50:56 prefix are split into several ranges:

  00:50:56:00:00:00 - 00:50:56:3f:ff:ff  'static' range (manually assigned)
  00:50:56:80:00:00 - 00:50:56:bf:ff:ff  'vpx' range (assigned by a VI Client)

Erroneously the 'vpx' range was assumed to be larger and to occupy the
remaining addresses of the 00:50:56 prefix that are not part of the 'static'
range.

00:50:56 was used as prefix for generated MAC addresses, this is not possible
anymore, because there are gaps in the allowed ranges. Therefore, change the
prefix to 00:0c:29 which is the prefix for auto generated MAC addresses anyway.

Allow arbitrary MAC addresses to be used and set the checkMACAddress VMX option
to false in case the MAC address doesn't fall into any predefined range.

* docs/drvesx.html.in: update website accordingly
* src/esx/esx_driver.c: set the auto generation prefix to 00:0c:29
* src/esx/esx_vmx.c: fix MAC address range handling and allow arbitrary MAC
  addresses
* tests/vmx2xml*, tests/xml2vmx*: add some basic MAC address range tests
---
 docs/drvesx.html.in  |   74 --
 src/esx/esx_driver.c |2 +-
 src/esx/esx_vmx.c|   49 +--
 tests/vmx2xmldata/vmx2xml-ethernet-generated.vmx |8 +++
 tests/vmx2xmldata/vmx2xml-ethernet-generated.xml |   19 ++
 tests/vmx2xmldata/vmx2xml-ethernet-other.vmx |8 +++
 tests/vmx2xmldata/vmx2xml-ethernet-other.xml |   19 ++
 tests/vmx2xmldata/vmx2xml-ethernet-static.vmx|7 ++
 tests/vmx2xmldata/vmx2xml-ethernet-static.xml|   19 ++
 tests/vmx2xmldata/vmx2xml-ethernet-vpx.vmx   |7 ++
 tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml   |   19 ++
 tests/vmx2xmltest.c  |5 ++
 tests/xml2vmxdata/xml2vmx-ethernet-generated.vmx |   13 
 tests/xml2vmxdata/xml2vmx-ethernet-generated.xml |   14 
 tests/xml2vmxdata/xml2vmx-ethernet-other.vmx |   13 
 tests/xml2vmxdata/xml2vmx-ethernet-other.xml |   14 
 tests/xml2vmxdata/xml2vmx-ethernet-static.vmx|   12 
 tests/xml2vmxdata/xml2vmx-ethernet-static.xml|   14 
 tests/xml2vmxdata/xml2vmx-ethernet-vpx.vmx   |   12 
 tests/xml2vmxdata/xml2vmx-ethernet-vpx.xml   |   14 
 tests/xml2vmxtest.c  |5 ++
 21 files changed, 320 insertions(+), 27 deletions(-)
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-generated.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-generated.xml
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-other.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-other.xml
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-static.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-static.xml
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-vpx.vmx
 create mode 100644 tests/vmx2xmldata/vmx2xml-ethernet-vpx.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-generated.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-generated.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-other.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-other.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-static.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-static.xml
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-vpx.vmx
 create mode 100644 tests/xml2vmxdata/xml2vmx-ethernet-vpx.xml

diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
index b7909ff..44a144f 100644
--- a/docs/drvesx.html.in
+++ b/docs/drvesx.html.in
@@ -16,8 +16,8 @@
 SOAP based
 a 
href=http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/;
 VMware Virtual Infrastructure API/a (VI API) to communicate with the
-ESX server, like the VMware Virtual Infrastructure Client does. Since
-version 4.0 this API is called
+ESX server, like the VMware Virtual Infrastructure Client (VI client)
+does. Since version 4.0 this API is called
 a 
href=http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/;
 VMware vSphere API/a.
 /p
@@ -159,7 +159,7 @@ type://[usern...@]hostname[:port]/[?extraparameters]
 There are several specialties in the domain XML config for ESX domains.
 /p
 
-h3Restrictions/h3
+h3a name=restrictionsRestrictions/h3
 p
 There are some restrictions for some values of the domain XML config.
 The driver will complain if this restrictions are violated.
@@ -173,12 +173,13 @@ type://[usern...@]hostname[:port]/[?extraparameters]
 /li
 li
 Valid MAC address prefixes are code00:0c:29/code and
-code00:50:56/code
+code00:50:56/code. span class=sinceSince 0.7.6/span
+arbitrary a href=#macaddressesMAC addresses/a are supported.
 /li
 /ul
 
 
-h3Datastore references/h3
+