XenServer 6.5(SP1) - HVM 're0: watchdog timeout' errors...
Roger Pau Monné
roger.pau at citrix.com
Wed Sep 9 09:04:33 UTC 2015
Hello,
El 09/09/15 a les 10.29, Karl Pielorz ha escrit:
>
> --On 08 September 2015 17:06 +0100 Karl Pielorz <kpielorz_lst at tdx.co.uk>
> 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
More information about the freebsd-xen
mailing list