WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] [PATCH][VT][1/15] Fix config file parsing for VMX domains.

To: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Keir Fraser <Keir.Fraser@xxxxxxxxxxxx>
Subject: [Xen-devel] [PATCH][VT][1/15] Fix config file parsing for VMX domains.
From: Arun Sharma <arun.sharma@xxxxxxxxx>
Date: Thu, 11 Aug 2005 12:24:03 -0700
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 11 Aug 2005 19:24:16 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.4.1i
Fix config file parsing for VMX domains.

If we define "vif" in the config file, image.py will raise error "vmx:
missing vbd configuration". The reason is "vif" is dealt with as a "vbd"
device.

This patch fixes this issue by dealing with "vbd" and "vif " separately,
removing "macaddr" arg and parsing mac address from "vif" instead.

Also, the vbd doesn't have to be a file anymore, but can be a physical
disk partition.

Signed-off-by: Yunfeng Zhao <yunfeng.zhao@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r 38c7c25b3cb9 -r 6a87d79f9ee0 tools/examples/xmexample.vmx
--- a/tools/examples/xmexample.vmx      Tue Aug  9 13:53:15 2005
+++ b/tools/examples/xmexample.vmx      Tue Aug  9 19:06:44 2005
@@ -132,8 +132,3 @@
 #-----------------------------------------------------------------------------
 #    start in full screen
 #full-screen=1   
-
-#-----------------------------------------------------------------------------
-#   set the mac address of the first interface
-#macaddr=  
-
diff -r 38c7c25b3cb9 -r 6a87d79f9ee0 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Tue Aug  9 13:53:15 2005
+++ b/tools/python/xen/xend/image.py    Tue Aug  9 19:06:44 2005
@@ -295,7 +295,7 @@
     # xm config file
     def parseDeviceModelArgs(self):
        dmargs = [ 'cdrom', 'boot', 'fda', 'fdb',
-                   'localtime', 'serial', 'macaddr', 'stdvga', 'isa' ] 
+                   'localtime', 'serial', 'stdvga', 'isa' ] 
        ret = []
        for a in dmargs:
                    v = sxp.child_value(self.vm.config, a)
@@ -312,20 +312,25 @@
                ret.append("-%s" % a)
                ret.append("%s" % v)
 
-        # Handle hd img related options
+        # Handle disk/network related options
         devices = sxp.children(self.vm.config, 'device')
         for device in devices:
-            vbdinfo = sxp.child(device, 'vbd')
-            if not vbdinfo:
-                raise VmError("vmx: missing vbd configuration")
-            uname = sxp.child_value(vbdinfo, 'uname')
-            vbddev = sxp.child_value(vbdinfo, 'dev')
-            (vbdtype, vbdparam) = string.split(uname, ':', 1)
-            vbddev_list = ['hda', 'hdb', 'hdc', 'hdd']
-            if vbdtype != 'file' or vbddev not in vbddev_list:
-                raise VmError("vmx: for qemu vbd type=file&dev=hda~hdd")
-            ret.append("-%s" % vbddev)
-            ret.append("%s" % vbdparam)
+            name = sxp.name(sxp.child0(device))
+            if name == 'vbd':
+               vbdinfo = sxp.child(device, 'vbd')
+               uname = sxp.child_value(vbdinfo, 'uname')
+               vbddev = sxp.child_value(vbdinfo, 'dev')
+               (vbdtype, vbdparam) = string.split(uname, ':', 1)
+               vbddev_list = ['hda', 'hdb', 'hdc', 'hdd']
+               if vbddev not in vbddev_list:
+                  raise VmError("vmx: for qemu vbd type=file&dev=hda~hdd")
+               ret.append("-%s" % vbddev)
+               ret.append("%s" % vbdparam)
+            if name == 'vif':
+               vifinfo = sxp.child(device, 'vif')
+               mac = sxp.child_value(vifinfo, 'mac')
+               ret.append("-macaddr")
+               ret.append("%s" % mac)
 
        # Handle graphics library related options
        vnc = sxp.child_value(self.vm.config, 'vnc')

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH][VT][1/15] Fix config file parsing for VMX domains., Arun Sharma <=