From mboxrd@z Thu Jan 1 00:00:00 1970 From: Teck Choon Giam Subject: Re: xen-4.1.3-rc1-pre changeset 23224:cccd6c68e1b9 hvm xl not execute vif-bridge when xl destroy hvmdomain or xl trigger hvmdomain power Date: Sat, 11 Feb 2012 00:04:16 +0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Stefano Stabellini Cc: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org Hi Stefano, On Fri, Feb 10, 2012 at 6:45 PM, Stefano Stabellini wrote: > On Thu, 9 Feb 2012, Teck Choon Giam wrote: >> Hi, >> >> I need to check whether is this intended? =A0When using xl create hvm >> domains, it does execute vif-bridge script. =A0However, when doing xl >> destroy or xl trigger hvmdomain power it doesn't execute vif-bridge >> script. =A0I just did the following to test: >> >> # cp -pvf /etc/xen/scripts/vif-bridge /etc/xen/scripts/vif-bridge.orig >> # cat > /etc/xen/scripts/vif-bridge <<'EOF' >> #!/bin/bash >> echo "$@" >> vif-bridge.log >> /etc/xen/scripts/vif-bridge.orig "$@" >> EOF >> >> When using xm and xl to create hvmdomain, I can see vif-bridge.log >> appended with: >> >> online type_if=3Dvif >> online type_if=3Dvif >> add type_if=3Dtap >> add type_if=3Dtap >> >> Since I have allocated 2 vifs (one for WAN and one for LAN)... so it >> gets to execute vif-bridge once for each vif which looks right. >> >> Now the problem is xl trigger hvmdomain power and xl destroy power. >> Both never call vif-bridge script as there isn't any such line like: >> >> offline type_if=3Dvif >> offline type_if=3Dvif >> >> Whereby when I tried with xm trigger hvmdomain power, it does call >> vif-bridge script as the above two lines get logged. >> >> This will leave the iptables FORWARD rule intact when using xl which I >> reported before :( >> >> See http://www.gossamer-threads.com/lists/xen/devel/204990 > > Actually I have just run the same test but I didn't see any issues: > vif-bridge gets called correctly when the domain dies. > > It is difficult to tell what is going wrong in your case because > vif-bridge is not called directly by XL (or Xend), it is called by > vif-setup, that is called by udev when the vif network interface is > destroyed. > I suggest you check that your udev scripts are correct > (/etc/udev/rules.d/xen-backend.rules). Here is the content of the rules: # cat /etc/udev/rules.d/xen-backend.rules SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"tap*", RUN+=3D"/etc/xen/scripts/blktap $env{ACTION}" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vbd*", RUN+=3D"/etc/xen/scripts/= block $env{ACTION}" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vtpm*", RUN+=3D"/etc/xen/scripts= /vtpm $env{ACTION}" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vif2-*", RUN+=3D"/etc/xen/scripts/vif2 $env{ACTION}" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vif-*", ACTION=3D=3D"online", RUN+=3D"/etc/xen/scripts/vif-setup online type_if=3Dvif" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vif-*", ACTION=3D=3D"offline", RUN+=3D"/etc/xen/scripts/vif-setup offline type_if=3Dvif" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vscsi*", RUN+=3D"/etc/xen/scripts/vscsi $env{ACTION}" SUBSYSTEM=3D=3D"xen-backend", ACTION=3D=3D"remove", RUN+=3D"/etc/xen/scripts/xen-hotplug-cleanup" KERNEL=3D=3D"evtchn", NAME=3D"xen/%k" SUBSYSTEM=3D=3D"xen", KERNEL=3D=3D"blktap[0-9]*", NAME=3D"xen/%k", MODE=3D"= 0600" SUBSYSTEM=3D=3D"blktap2", KERNEL=3D=3D"blktap[0-9]*", NAME=3D"xen/blktap-2/= %k", MODE=3D"0600" KERNEL=3D=3D"blktap-control", NAME=3D"xen/blktap-2/control", MODE=3D"0600" KERNEL=3D=3D"gntdev", NAME=3D"xen/%k", MODE=3D"0600" KERNEL=3D=3D"pci_iomul", NAME=3D"xen/%k", MODE=3D"0600" KERNEL=3D=3D"tapdev[a-z]*", NAME=3D"xen/blktap-2/tapdev%m", MODE=3D"0600" SUBSYSTEM=3D=3D"net", KERNEL=3D=3D"tap*", ACTION=3D=3D"add", RUN+=3D"/etc/xen/scripts/vif-setup $env{ACTION} type_if=3Dtap" I guess the responsible lines are: SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vif-*", ACTION=3D=3D"online", RUN+=3D"/etc/xen/scripts/vif-setup online type_if=3Dvif" SUBSYSTEM=3D=3D"xen-backend", KERNEL=3D=3D"vif-*", ACTION=3D=3D"offline", RUN+=3D"/etc/xen/scripts/vif-setup offline type_if=3Dvif" So this is my testing: # cp -pvf /etc/xen/scripts/vif-setup /etc/xen/scripts/vif-setup.orig # cat > /etc/xen/scripts/vif-setup <<'EOF' #!/bin/bash echo "$@" >> $0.log /etc/xen/scripts/vif-setup.orig "$@" EOF Now my testing purely on xm/xl trigger hvmdomain power. Online/Offline get called using xm but xl wise is Online get called but not Offline with hvm domains like windows XP/server 2008r2... any idea what else can make this behaviour difference between xl/xm? The /etc/xen/scripts/vif-setup.log as below. The below is using xl create hvmdomain and get logged: online type_if=3Dvif online type_if=3Dvif add type_if=3Dtap add type_if=3Dtap When using xl trigger hvmdomain power... no log entry at all. Now test with xm create hvmdonain and get logged: online type_if=3Dvif online type_if=3Dvif add type_if=3Dtap add type_if=3Dtap Now test with xm trigger hvmdomain power and get logged: offline type_if=3Dvif offline type_if=3Dvif Thanks for your kind prompt response to my question. Kindest regards, Giam Teck Choon