Hello,

El 09/09/15 a les 10.29, Karl Pielorz ha escrit:
> 
> --On 08 September 2015 17:06 +0100 Karl Pielorz <kpielorz_...@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

_______________________________________________
freebsd-xen@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-xen
To unsubscribe, send any mail to "freebsd-xen-unsubscr...@freebsd.org"

Reply via email to