Skip to contentSkip to conversation

fix vmx configuration after nics=n option is removed.

PATCH Applied Ling, Xiaofeng 2 participants 2 messages Dec 13, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix vmx configuration after nics=n option is removed.

# HG changeset patch
# User Xiaofeng Ling <[email protected]>
# Node ID 6c201a2164c232cf07983f3b47a963e8ce7f5736
# Parent 7f2ccea5a4ec96af72e83c13ee25845e5d2cbb61 change the NIC configuration accordingly after remove "nics=n" otherwise, nics=-1 will be passed to device model and cause device model exiting.

# HG changeset patch
# User Xiaofeng Ling <[email protected]>
# Node ID addc1771174c531af510ccae1ca55d6ec249b2c9
# Parent 7f2ccea5a4ec96af72e83c13ee25845e5d2cbb61 change the NIC configuration accordingly after remove "nics=n" otherwise, nics=-1 will be passed to device model and cause device model exiting.

tools/examples/xmexample.vmx +2 -0
diff -r 7f2ccea5a4ec tools/examples/xmexample.vmx
@@ -40,6 +40,8 @@
 #vif = [ 'type=ioemu, mac=00:16:3e:00:00:11, bridge=xenbr0' ]
 # type=ioemu specify the NIC is an ioemu device not netfront
 vif = [ 'type=ioemu, bridge=xenbr0' ]
+# for multiple NICs in device model, 3 in this example
+#vif = [ 'type=ioemu, bridge=xenbr0', 'type=ioemu', 'type=ioemu']
 
 #----------------------------------------------------------------------------
 # Define the disk devices you want the domain to have access to, and
tools/python/xen/xend/image.py +5 -3
diff -r 7f2ccea5a4ec tools/python/xen/xend/image.py
@@ -238,9 +238,7 @@
     # xm config file
     def parseDeviceModelArgs(self, imageConfig, deviceConfig):
         dmargs = [ 'cdrom', 'boot', 'fda', 'fdb', 'ne2000', 
-                   'localtime', 'serial', 'stdvga', 'isa', 'vcpus',
-                   'nics'
-                   ]
+                   'localtime', 'serial', 'stdvga', 'isa', 'vcpus']
         ret = []
         for a in dmargs:
             v = sxp.child_value(imageConfig, a)
@@ -262,6 +260,7 @@
         # Handle disk/network related options
         mac = None
         ret = ret + ["-domain-name", "%s" % self.vm.info['name']]
+        nics = 0
         for (name, info) in deviceConfig:
             if name == 'vbd':
                uname = sxp.child_value(info, 'uname')
@@ -283,6 +282,7 @@
                type = sxp.child_value(info, 'type')
                if type != 'ioemu':
                    continue
+               nics += 1
                if mac != None:
                    continue
                mac = sxp.child_value(info, 'mac')
@@ -299,6 +299,8 @@
                instance = sxp.child_value(info, 'pref_instance')
                ret.append("-instance")
                ret.append("%s" % instance)
+        ret.append("-nics")
+        ret.append("%d" % nics) 
         return ret
 
     def configVNC(self, config):
tools/python/xen/xm/create.py +1 -2
diff -r 7f2ccea5a4ec tools/python/xen/xm/create.py
@@ -522,8 +522,7 @@
     """
     args = [ 'device_model', 'vcpus', 'cdrom', 'boot', 'fda', 'fdb',
              'localtime', 'serial', 'stdvga', 'isa', 'nographic',
-             'vnc', 'vncviewer', 'sdl', 'display', 'ne2000', 'lapic',
-             'nics']
+             'vnc', 'vncviewer', 'sdl', 'display', 'ne2000', 'lapic']
     for a in args:
         if (vals.__dict__[a]):
             config_image.append([a, vals.__dict__[a]])

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel

Applied
#1 lore raw
Quoted 9 lines · Xiaofeng

# HG changeset patch
# User Xiaofeng Ling <[email protected]>
# Node ID 6c201a2164c232cf07983f3b47a963e8ce7f5736
# Parent 7f2ccea5a4ec96af72e83c13ee25845e5d2cbb61 change the NIC configuration accordingly after remove "nics=n" otherwise, nics=-1 will be passed to device model and cause device model exiting.

Applied, thank you.

I deliberately didn't touch the nics part of the VMX configuration, so that I didn't break anything ;-( It might be worth coming up with a way to test Xend's VMX path without having the appropriate hardware available, so that we could try and reduce the risk of doing this again.

Ewan.