Date: Mon, 17 Jan 2011 10:21:49 +0000 (UTC) From: Janne Snabb <snabb@epipe.com> To: freebsd-xen@freebsd.org Subject: Re: xn0: Error 2 parsing device/vif/0/mac [PATCH] Message-ID: <alpine.BSF.2.00.1101171018400.20212@tiktik.epipe.com> In-Reply-To: <alpine.BSF.2.00.1101151002450.20212@tiktik.epipe.com> References: <alpine.BSF.2.00.1101150731240.20212@tiktik.epipe.com> <alpine.BSF.2.00.1101151002450.20212@tiktik.epipe.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 15 Jan 2011, Janne Snabb wrote: > On Sat, 15 Jan 2011, Janne Snabb wrote: > > > It appears that that the netfront driver fails to get the vif mac > > address which leads to panic shortly afterwards. > > The patch at the bottom of this message solves the problem for me. This patch might be a bit neater. I found out about xenbus_get_otherend_path(). Best Regards, -- Janne Snabb / EPIPE Communications snabb@epipe.com - http://epipe.com/ --- sys/dev/xen/netfront/netfront.c.orig 2010-12-21 17:09:25.000000000 +0000 +++ sys/dev/xen/netfront/netfront.c 2011-01-17 10:11:06.000000000 +0000 @@ -401,13 +401,14 @@ xen_net_read_mac(device_t dev, uint8_t mac[]) { int error, i; char *s, *e, *macstr; - error = xs_read(XST_NIL, xenbus_get_node(dev), "mac", NULL, - (void **) &macstr); - if (error) + if ((error = xs_read(XST_NIL, xenbus_get_node(dev), "mac", NULL, + (void **) &macstr)) != 0 && + (error = xs_read(XST_NIL, xenbus_get_otherend_path(dev), + "mac", NULL, (void **) &macstr) != 0)) return (error); s = macstr; for (i = 0; i < ETHER_ADDR_LEN; i++) { mac[i] = strtoul(s, &e, 16);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1101171018400.20212>