From owner-freebsd-xen@freebsd.org Wed Sep 9 09:04:33 2015 Return-Path: Delivered-To: freebsd-xen@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5F4C8A00F93 for ; Wed, 9 Sep 2015 09:04:33 +0000 (UTC) (envelope-from prvs=687bbb327=roger.pau@citrix.com) Received: from SMTP.CITRIX.COM (smtp.citrix.com [66.165.176.89]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "mail.citrix.com", Issuer "Verizon Public SureServer CA G14-SHA2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0E983116E for ; Wed, 9 Sep 2015 09:04:32 +0000 (UTC) (envelope-from prvs=687bbb327=roger.pau@citrix.com) X-IronPort-AV: E=Sophos;i="5.17,496,1437436800"; d="scan'208";a="298774766" Subject: Re: XenServer 6.5(SP1) - HVM 're0: watchdog timeout' errors... To: Karl Pielorz , Adam McDougall , References: <9CC4073DE17E3C8BD01EF7D3@[10.12.30.106]> <55EDA470.1000007@citrix.com> <55EDC55B.8000004@egr.msu.edu> <762F895FF087C3BBB6DB94DA@[10.12.30.106]> From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Message-ID: <55EFF61A.3020409@citrix.com> Date: Wed, 9 Sep 2015 11:04:26 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA2 X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Sep 2015 09:04:33 -0000 Hello, El 09/09/15 a les 10.29, Karl Pielorz ha escrit: > > --On 08 September 2015 17:06 +0100 Karl Pielorz > wrote: > >> XenServer logs: >> >> "Migrating VM 'FreeBSD (SWR)' from 'Xen1' to 'Xen2' Internal error: >> Xenops_interface.Internal_error("Unix.Unix_error(2\"open\",\"/var/lib/xen >> /qemu-save.36\")")" > > As a follow-up to this - the patch definitely breaks migrations. > Removing the 'e1000' from the custom field (so you get Realtek NIC's) - > the migrate completes fine. > > Leave 'e1000' set - you get Intel em devices, but migrates fail - > XenCenter spits out the error above. > >> From /var/log/messages on the destination node - I can also see: > > " > Sep 9 09:18:55 Xen2 xapi: [ info|Xen2|33915 INET > :::80|network.attach_for_vm R:xxxxxxx|xapi] PIF > yyyyyy-yyyy-yyyy-yyy-yyyyyyyyy is needed by a VM, but not managed by > xapi. The bridge must be configured through other means. > " > > So it looks like XenServer at least cannot support this configuration? - > So I'm back painted into a corner :( - PV NIC's can't "route" traffic > (or do DHCP servers, or OpenVPN etc.) - HVM NIC's can do all of that but > cannot be used agile, and may fail eventually anyway with 'watchdog > timeout'. I'm working on importing a new netfront from Linux, which hopefully should solve the problems we are having with the PV nic. In the meantime, I have the following crappy patch to FreeBSD if_re driver, which should disable the watchdog (I have not even compile tested this). --- diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c index 677d397..a098ce7 100644 --- a/sys/dev/re/if_re.c +++ b/sys/dev/re/if_re.c @@ -278,7 +278,9 @@ static int re_ioctl (struct ifnet *, u_long, caddr_t); static void re_init (void *); static void re_init_locked (struct rl_softc *); static void re_stop (struct rl_softc *); +#ifdef RE_WATCHDOG static void re_watchdog (struct rl_softc *); +#endif static int re_suspend (device_t); static int re_resume (device_t); static int re_shutdown (device_t); @@ -2480,7 +2482,9 @@ re_tick(void *xsc) * lost on PCIe based controllers under certain situations. */ re_txeof(sc); +#ifdef RE_WATCHDOG re_watchdog(sc); +#endif callout_reset(&sc->rl_stat_callout, hz, re_tick, sc); } @@ -3521,6 +3525,7 @@ re_ioctl(struct ifnet *ifp, u_long command, caddr_t data) return (error); } +#ifdef RE_WATCHDOG static void re_watchdog(struct rl_softc *sc) { @@ -3550,6 +3555,7 @@ re_watchdog(struct rl_softc *sc) if (!IFQ_DRV_IS_EMPTY(&ifp->if_snd)) re_start_locked(ifp); } +#endif /* * Stop the adapter and free any mbufs allocated to the