Message ID | 20210112181242.1570-5-bouyer@antioche.eu.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | NetBSD hotplug: handle case where vifname is not present | expand |
On Tue, Jan 12, 2021 at 07:12:25PM +0100, Manuel Bouyer wrote: > From: Manuel Bouyer <bouyer@netbsd.org> > > Some Xen version didn't set the vifname in xenstore; just build one if > not present. I think the current version (what's going to become 4.15) should write the vifname in all cases? If not that's likely an error that we should fix elsewhere IMO. Can you check whether the current version has this error present? And whether it affects PV or HVM guests? Thanks, Roger.
On Fri, Jan 15, 2021 at 05:06:59PM +0100, Roger Pau Monné wrote: > On Tue, Jan 12, 2021 at 07:12:25PM +0100, Manuel Bouyer wrote: > > From: Manuel Bouyer <bouyer@netbsd.org> > > > > Some Xen version didn't set the vifname in xenstore; just build one if > > not present. > > I think the current version (what's going to become 4.15) should write > the vifname in all cases? If not that's likely an error that we should > fix elsewhere IMO. > > Can you check whether the current version has this error present? And > whether it affects PV or HVM guests? Yes, in recent Xen version this doesn't seem to be needed any more.
diff --git a/tools/hotplug/NetBSD/vif-bridge b/tools/hotplug/NetBSD/vif-bridge index b58e922601..cd428b5936 100644 --- a/tools/hotplug/NetBSD/vif-bridge +++ b/tools/hotplug/NetBSD/vif-bridge @@ -23,7 +23,10 @@ case $xstatus in xbridge=$(xenstore-read "$xpath/bridge") xfid=$(xenstore-read "$xpath/frontend-id") xhandle=$(xenstore-read "$xpath/handle") - iface=$(xenstore-read "$xpath/vifname") + iface=$(xenstore-read "$xpath/vifname") || true + if [ x${iface} = "x" ] ; then + iface=xvif$xfid.$xhandle + fi ifconfig $iface up brconfig $xbridge add $iface xenstore-write $xpath/hotplug-status connected diff --git a/tools/hotplug/NetBSD/vif-ip b/tools/hotplug/NetBSD/vif-ip index 83cbfe20e2..944f50f881 100644 --- a/tools/hotplug/NetBSD/vif-ip +++ b/tools/hotplug/NetBSD/vif-ip @@ -24,6 +24,10 @@ case $xstatus in xfid=$(xenstore-read "$xpath/frontend-id") xhandle=$(xenstore-read "$xpath/handle") iface=$(xenstore-read "$xpath/vifname") + iface=$(xenstore-read "$xpath/vifname") || true + if [ x${iface} = "x" ] ; then + iface=xvif$xfid.$xhandle + fi ifconfig $iface $xip up xenstore-write $xpath/hotplug-status connected exit 0