From: Michal Privoznik Date: Mon, 30 Jan 2023 09:55:22 +0000 (+0100) Subject: virsh: Make domif-setlink work more than once X-Git-Tag: v9.1.0-rc1~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6f3f6c0f763b9ffd8ef93eb124c88dd0b79138fc;p=thirdparty%2Flibvirt.git virsh: Make domif-setlink work more than once In virsh, we have this convenient domif-setlink command, which is just a wrapper over virDomainUpdateDeviceFlags() and which allows setting link state of given guest NIC. It does so by fetching corresponding XML snippet and either putting into it, OR if the element already exists setting the attribute to desired value. The XML is then fed into the update API. There's, however, a small bug in detecting the pre-existence of the element and its attribute. The code looks at "link" attribute, while in fact, the attribute is called "state". Resolves: https://gitlab.com/libvirt/libvirt/-/issues/426 Fixes: e575bf082ed4889280be07c986375f1ca15bb7ee Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 6b431bd1e5..59b2b3ce60 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -3209,7 +3209,7 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd) } } - if (xmlHasProp(linkNode, BAD_CAST "link")) + if (xmlHasProp(linkNode, BAD_CAST "state")) stateAttr = xmlSetProp(linkNode, BAD_CAST "state", BAD_CAST state); else stateAttr = xmlNewProp(linkNode, BAD_CAST "state", BAD_CAST state);