[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [patch] xen udev rule interfering with openvpn
On Tue, May 22, 2012 at 9:19 PM, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > On Mon, 2012-05-21 at 14:16 +0100, Teck Choon Giam wrote: > >> vif5.0-emu Link encap:Ethernet HWaddr 1A:58:5C:16:5C:02 >> inet6 addr: fe80::1858:5cff:fe16:5c02/64 Scope:Link >> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 >> RX packets:0 errors:0 dropped:0 overruns:0 frame:0 >> TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 >> collisions:0 txqueuelen:500 >> RX bytes:0 (0.0 b) TX bytes:280 (280.0 b) > > The fact that this interface is up at this point is interesting, didn't > you mention something about this at another time? Yes, I did mentioned that $dev is up when test with xm create hvmdomain with vifname set which cause test #7 to fail. > > In the tap dev case I made the rename into: > do_or_die ifconfig "$dev" down > do_or_die ip link set "$dev" name "$vifname" > > which seemed to workaround the issue for me. The workaround is identical for mine by bringing the $dev down. > > I think the reason this effects xm and not xl is that libxl uses > script=none to disable qemu-ifup while xend does not and instead ends up > using qemu-ifup which does some fiddling with the device too, including > bringing it up. Ok, so default for xend is using script=qemu-ifup if script is not set? Am I right about this? > > The proper fix is probably to change xend, I'm a bit wary of this, > especially for a 4.1 backport, but the following looks right and works > for me. It's a bit more complex since in libxl we seem to only do this > for Linux (i.e. not NetBSD) and I guess we should do the same in xend > too. Err... if we are going to change default behaviour will we be affecting those users who is upgrading from xen-4.1 to xen-4.2? If your fix patch is going into xen-unstable for sure, I will re-run my tests by then. I hope it doesn't affect current domUs configuration (I mean we shouldn't need to change domU configuration) especially when users prefer to use xm then xl in xen-4.2. Thanks. Kindest regards, Giam Teck Choon > > Ian > > # HG changeset patch > # User Ian Campbell <ian.campbell@xxxxxxxxxx> > # Date 1337692747 -3600 > # Node ID 426bbf58cea4559464b6e5d3ff0f65324a5f5926 > # Parent 72ca5bc4eb6b91fa8dff51d439bd05f5586179df > xend: do not run a hotplug script from qemu on Linux > > The current vif-hotplug-common.sh for renaming the tap device is failing > because it is racing with this script and therefore the device is unexpectedly > up when we come to rename it. > > Fix this in the same way as libxl does, by disabling the script (only on > Linux). > > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx> > > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/image.py > --- a/tools/python/xen/xend/image.py Tue May 22 11:29:50 2012 +0100 > +++ b/tools/python/xen/xend/image.py Tue May 22 14:19:07 2012 +0100 > @@ -919,8 +919,13 @@ class HVMImageHandler(ImageHandler): > (nics, mac, model)) > vifname = "vif%d.%d-emu" % (self.vm.getDomid(), nics-1) > ret.append("-net") > - ret.append("tap,vlan=%d,ifname=%s,bridge=%s" % > - (nics, vifname, bridge)) > + if osdep.tapif_script is not None: > + script=",script=%s,downscript=%s" % \ > + (osdep.tapif_script, osdep.tapif_script) > + else: > + script="" > + ret.append("tap,vlan=%d,ifname=%s,bridge=%s%s" % > + (nics, vifname, bridge, script)) > > if nics == 0: > ret.append("-net") > diff -r 72ca5bc4eb6b -r 426bbf58cea4 tools/python/xen/xend/osdep.py > --- a/tools/python/xen/xend/osdep.py Tue May 22 11:29:50 2012 +0100 > +++ b/tools/python/xen/xend/osdep.py Tue May 22 14:19:07 2012 +0100 > @@ -30,6 +30,10 @@ _vif_script = { > "SunOS": "vif-vnic" > } > > +_tapif_script = { > + "Linux": "no", > +} > + > PROC_XEN_BALLOON = '/proc/xen/balloon' > SYSFS_XEN_MEMORY = '/sys/devices/system/xen_memory/xen_memory0' > > @@ -257,6 +261,7 @@ def _get(var, default=None): > > xend_autorestart = _get(_xend_autorestart) > vif_script = _get(_vif_script, "vif-bridge") > +tapif_script = _get(_tapif_script) > lookup_balloon_stat = _get(_balloon_stat, _linux_balloon_stat) > get_cpuinfo = _get(_get_cpuinfo, _linux_get_cpuinfo) > prefork = _get(_get_prefork, _default_prefork) > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |