[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] nat does not work with hvm


Keir Fraser wrote On 14-04-2007 13:19:

Vif-nat isn't run in this case.

Well actually it is run in 3.0.4 (but not in the very latest xen-unstable
repository, so not in the forthcoming Xen 3.0.5). But it'll get run on the
wrong interface. The vif2.0, or whatever, interfaces aren't used by qemu.
qemu creates its own tap interface and the qemu-ifup script is executed to
configure that tap interface.

 -- Keir

In xen-unstable vif-nat scripts still runs with qemu-ifup script, when a hvm domain is booted. There are some problems with that. First of all, an un-needed vif interface is created and configured with the values from the hvm configuration file, and you can not write a qemu-ifup script that takes same info from config file. (for example you cannot configure the ip address of your tap interface because that ip is taken by vif interface, wrongly.)

Also I strongly believe that a qemu-ifdown script is needed. For example if you write some iptables rules in qemu-ifup, then these rules should be deleted from iptables when the domain goes down.

Please correct me if I am wrong. I think there should be only one network script per config, (ex: vif-nat, vif-bridge, etc) and that script should determine whether the domain is a hvm or a modified one and make necessary configuration accordingly. This way there is no need for seperate scripts for qemu and vif and when a qemu domain shuts down, it's settings can be de-configured properly. Or as an alternative there should be two script for each config (ex. vif-nat-qemu + vif-nat-other) and but only one of them should be executed.

So the question is: What is the plan about implementing other types of network scripts in qemu domains? Is this discussed or planned? If not I want to make the necessary changes. I figured that tools/ioemu/vl.c is responsible for creating a hvm domain and execute the correct network script. But I could not figure out what piece of code is responsible for calling the network script with necessary parameters when a modified guest boots. Also are these changes that I propose are acceptable (or reasonable at least)? I would appreciate if you share your knowledge and ideas about this matter.


Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.