From: Arun Sharma <arun.sharma@intel.com>
To: Ian Pratt <Ian.Pratt@cl.cam.ac.uk>,
Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: [PATCH][VT][1/15] Fix config file parsing for VMX domains.
Date: Thu, 11 Aug 2005 12:24:03 -0700 [thread overview]
Message-ID: <20050811192403.GA15225@intel.com> (raw)
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@intel.com>
Signed-off-by: Arun Sharma <arun.sharma@intel.com>
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')
reply other threads:[~2005-08-11 19:24 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20050811192403.GA15225@intel.com \
--to=arun.sharma@intel.com \
--cc=Ian.Pratt@cl.cam.ac.uk \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=xen-devel@lists.xensource.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.