[libvirt] [PATCH] qemu: Adding 'downscript' feature for QEMU network interfaces.

Julio Faracco posted 1 patch 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/1493611418-4798-1-git-send-email-jcfaracco@gmail.com
There is a newer version of this series
docs/schemas/domaincommon.rng                              |  8 ++++++++
src/conf/domain_conf.c                                     | 13 +++++++++++++
src/conf/domain_conf.h                                     |  1 +
src/qemu/qemu_parse_command.c                              |  4 ++++
tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args    |  2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml     |  1 +
tests/qemuargv2xmldata/qemuargv2xml-net-eth.args           |  2 +-
tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml            |  1 +
tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml     |  1 +
tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml            |  1 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml |  1 +
tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml        |  1 +
12 files changed, 34 insertions(+), 2 deletions(-)
[libvirt] [PATCH] qemu: Adding 'downscript' feature for QEMU network interfaces.
Posted by Julio Faracco 6 years, 11 months ago
This commit adds the support for 'downscript' feature:
- For QEMU command line with the option:
  '-net downscript=/etc/qemu-ifdown,...'.

- For Domains with a network interface description:
  '<interface type='ethernet'>
     ...
     <downscript path='/etc/qemu-ifdown'/>
     ...
  </interface>'

The options 'script' and 'downscript' accept the argument 'no' to disable
the script executions. The way that the code was implemented, the XML file
accepts '<[down]script path='no'>' to solve this problem.

This commit updates the tests too.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=825939

Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
---
 docs/schemas/domaincommon.rng                              |  8 ++++++++
 src/conf/domain_conf.c                                     | 13 +++++++++++++
 src/conf/domain_conf.h                                     |  1 +
 src/qemu/qemu_parse_command.c                              |  4 ++++
 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args    |  2 +-
 tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml     |  1 +
 tests/qemuargv2xmldata/qemuargv2xml-net-eth.args           |  2 +-
 tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml            |  1 +
 tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml     |  1 +
 tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml            |  1 +
 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml |  1 +
 tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml        |  1 +
 12 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 281309e..2f88dda 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -2609,6 +2609,14 @@
         </element>
       </optional>
       <optional>
+        <element name="downscript">
+          <attribute name="path">
+            <ref name="filePath"/>
+          </attribute>
+          <empty/>
+        </element>
+      </optional>
+      <optional>
         <element name="backenddomain">
           <attribute name="name">
             <ref name="domainName"/>
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 0ff216e..32d5720 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1935,6 +1935,7 @@ virDomainNetDefClear(virDomainNetDefPtr def)
     VIR_FREE(def->backend.vhost);
     VIR_FREE(def->virtPortProfile);
     VIR_FREE(def->script);
+    VIR_FREE(def->downscript);
     VIR_FREE(def->domain_name);
     VIR_FREE(def->ifname);
     VIR_FREE(def->ifname_guest);
@@ -9589,6 +9590,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
     char *ifname_guest = NULL;
     char *ifname_guest_actual = NULL;
     char *script = NULL;
+    char *downscript = NULL;
     char *address = NULL;
     char *port = NULL;
     char *localaddr = NULL;
@@ -9761,6 +9763,9 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
             } else if (!script &&
                        xmlStrEqual(cur->name, BAD_CAST "script")) {
                 script = virXMLPropString(cur, "path");
+            } else if (!downscript &&
+                       xmlStrEqual(cur->name, BAD_CAST "downscript")) {
+                downscript = virXMLPropString(cur, "path");
             } else if (!domain_name &&
                        xmlStrEqual(cur->name, BAD_CAST "backenddomain")) {
                 domain_name = virXMLPropString(cur, "name");
@@ -10074,6 +10079,10 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
         def->script = script;
         script = NULL;
     }
+    if (downscript != NULL) {
+        def->downscript = downscript;
+        downscript = NULL;
+    }
     if (domain_name != NULL) {
         def->domain_name = domain_name;
         domain_name = NULL;
@@ -10356,6 +10365,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
     VIR_FREE(dev);
     virDomainActualNetDefFree(actual);
     VIR_FREE(script);
+    VIR_FREE(downscript);
     VIR_FREE(bridge);
     VIR_FREE(model);
     VIR_FREE(backend);
@@ -22158,6 +22168,9 @@ virDomainNetDefFormat(virBufferPtr buf,
 
     virBufferEscapeString(buf, "<script path='%s'/>\n",
                           def->script);
+    if (def->downscript)
+        virBufferEscapeString(buf, "<downscript path='%s'/>\n",
+                              def->downscript);
     virBufferEscapeString(buf, "<backenddomain name='%s'/>\n", def->domain_name);
 
     if (def->ifname &&
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 09fb7aa..9deca76 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1024,6 +1024,7 @@ struct _virDomainNetDef {
         unsigned long sndbuf;
     } tune;
     char *script;
+    char *downscript;
     char *domain_name; /* backend domain name */
     char *ifname; /* interface name on the host (<target dev='x'/>) */
     virNetDevIPInfo hostIP;
diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c
index af9063c..d773917 100644
--- a/src/qemu/qemu_parse_command.c
+++ b/src/qemu/qemu_parse_command.c
@@ -1060,6 +1060,10 @@ qemuParseCommandLineNet(virDomainXMLOptionPtr xmlopt,
             def->script = values[i];
             values[i] = NULL;
         } else if (def->type == VIR_DOMAIN_NET_TYPE_ETHERNET &&
+                   STREQ(keywords[i], "downscript") && STRNEQ(values[i], "")) {
+            def->downscript = values[i];
+            values[i] = NULL;
+        } else if (def->type == VIR_DOMAIN_NET_TYPE_ETHERNET &&
                    STREQ(keywords[i], "ifname")) {
             def->ifname = values[i];
             values[i] = NULL;
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
index 4d74ae4..5d7129c 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
+++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
--net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
+-net tap,ifname=nic02,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,vlan=0,name=hostnet0 \
 -serial none \
 -parallel none
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
index fa9a892..8e04efb 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
@@ -30,6 +30,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <target dev='nic02'/>
       <model type='rtl8139'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
index 89eb4c1..0e3fa21 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
+++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
@@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
 -usb \
 -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
 -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
--net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
+-net tap,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,vlan=0,name=hostnet0 \
 -serial none \
 -parallel none
diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
index 57c4be8..d177ca8 100644
--- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
+++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
@@ -30,6 +30,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <model type='rtl8139'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </interface>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
index dd0d752..21d8259 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
@@ -26,6 +26,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <target dev='nic02'/>
       <model type='rtl8139'/>
     </interface>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
index 48acadf..9f40122 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
@@ -26,6 +26,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <model type='rtl8139'/>
     </interface>
     <input type='mouse' bus='ps2'/>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
index c36baa0..b71fd5a 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
@@ -30,6 +30,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <target dev='nic02'/>
       <model type='rtl8139'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
index 898bda6..c55cd68 100644
--- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
+++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
@@ -30,6 +30,7 @@
     <interface type='ethernet'>
       <mac address='00:11:22:33:44:55'/>
       <script path='/etc/qemu-ifup'/>
+      <downscript path='/etc/qemu-ifdown'/>
       <model type='rtl8139'/>
       <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
     </interface>
-- 
2.7.4

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH] qemu: Adding 'downscript' feature for QEMU network interfaces.
Posted by Julio Faracco 6 years, 11 months ago
Hi guys,

I created this patch basically for two reasons:
1. Because I saw this feature request opened AND;
2. Because we actually develop a VDI and we preconfigure and cleanup
some network settings while a VM is being started/stopped. We are
using hooks to do that, but it would be more efficient if we use an
up/down script.

--
Julio Cesar Faracco

2017-05-01 1:03 GMT-03:00 Julio Faracco <jcfaracco@gmail.com>:
> This commit adds the support for 'downscript' feature:
> - For QEMU command line with the option:
>   '-net downscript=/etc/qemu-ifdown,...'.
>
> - For Domains with a network interface description:
>   '<interface type='ethernet'>
>      ...
>      <downscript path='/etc/qemu-ifdown'/>
>      ...
>   </interface>'
>
> The options 'script' and 'downscript' accept the argument 'no' to disable
> the script executions. The way that the code was implemented, the XML file
> accepts '<[down]script path='no'>' to solve this problem.
>
> This commit updates the tests too.
>
> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=825939
>
> Signed-off-by: Julio Faracco <jcfaracco@gmail.com>
> ---
>  docs/schemas/domaincommon.rng                              |  8 ++++++++
>  src/conf/domain_conf.c                                     | 13 +++++++++++++
>  src/conf/domain_conf.h                                     |  1 +
>  src/qemu/qemu_parse_command.c                              |  4 ++++
>  tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args    |  2 +-
>  tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml     |  1 +
>  tests/qemuargv2xmldata/qemuargv2xml-net-eth.args           |  2 +-
>  tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml            |  1 +
>  tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml     |  1 +
>  tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml            |  1 +
>  tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml |  1 +
>  tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml        |  1 +
>  12 files changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
> index 281309e..2f88dda 100644
> --- a/docs/schemas/domaincommon.rng
> +++ b/docs/schemas/domaincommon.rng
> @@ -2609,6 +2609,14 @@
>          </element>
>        </optional>
>        <optional>
> +        <element name="downscript">
> +          <attribute name="path">
> +            <ref name="filePath"/>
> +          </attribute>
> +          <empty/>
> +        </element>
> +      </optional>
> +      <optional>
>          <element name="backenddomain">
>            <attribute name="name">
>              <ref name="domainName"/>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 0ff216e..32d5720 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -1935,6 +1935,7 @@ virDomainNetDefClear(virDomainNetDefPtr def)
>      VIR_FREE(def->backend.vhost);
>      VIR_FREE(def->virtPortProfile);
>      VIR_FREE(def->script);
> +    VIR_FREE(def->downscript);
>      VIR_FREE(def->domain_name);
>      VIR_FREE(def->ifname);
>      VIR_FREE(def->ifname_guest);
> @@ -9589,6 +9590,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>      char *ifname_guest = NULL;
>      char *ifname_guest_actual = NULL;
>      char *script = NULL;
> +    char *downscript = NULL;
>      char *address = NULL;
>      char *port = NULL;
>      char *localaddr = NULL;
> @@ -9761,6 +9763,9 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>              } else if (!script &&
>                         xmlStrEqual(cur->name, BAD_CAST "script")) {
>                  script = virXMLPropString(cur, "path");
> +            } else if (!downscript &&
> +                       xmlStrEqual(cur->name, BAD_CAST "downscript")) {
> +                downscript = virXMLPropString(cur, "path");
>              } else if (!domain_name &&
>                         xmlStrEqual(cur->name, BAD_CAST "backenddomain")) {
>                  domain_name = virXMLPropString(cur, "name");
> @@ -10074,6 +10079,10 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>          def->script = script;
>          script = NULL;
>      }
> +    if (downscript != NULL) {
> +        def->downscript = downscript;
> +        downscript = NULL;
> +    }
>      if (domain_name != NULL) {
>          def->domain_name = domain_name;
>          domain_name = NULL;
> @@ -10356,6 +10365,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>      VIR_FREE(dev);
>      virDomainActualNetDefFree(actual);
>      VIR_FREE(script);
> +    VIR_FREE(downscript);
>      VIR_FREE(bridge);
>      VIR_FREE(model);
>      VIR_FREE(backend);
> @@ -22158,6 +22168,9 @@ virDomainNetDefFormat(virBufferPtr buf,
>
>      virBufferEscapeString(buf, "<script path='%s'/>\n",
>                            def->script);
> +    if (def->downscript)
> +        virBufferEscapeString(buf, "<downscript path='%s'/>\n",
> +                              def->downscript);
>      virBufferEscapeString(buf, "<backenddomain name='%s'/>\n", def->domain_name);
>
>      if (def->ifname &&
> diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
> index 09fb7aa..9deca76 100644
> --- a/src/conf/domain_conf.h
> +++ b/src/conf/domain_conf.h
> @@ -1024,6 +1024,7 @@ struct _virDomainNetDef {
>          unsigned long sndbuf;
>      } tune;
>      char *script;
> +    char *downscript;
>      char *domain_name; /* backend domain name */
>      char *ifname; /* interface name on the host (<target dev='x'/>) */
>      virNetDevIPInfo hostIP;
> diff --git a/src/qemu/qemu_parse_command.c b/src/qemu/qemu_parse_command.c
> index af9063c..d773917 100644
> --- a/src/qemu/qemu_parse_command.c
> +++ b/src/qemu/qemu_parse_command.c
> @@ -1060,6 +1060,10 @@ qemuParseCommandLineNet(virDomainXMLOptionPtr xmlopt,
>              def->script = values[i];
>              values[i] = NULL;
>          } else if (def->type == VIR_DOMAIN_NET_TYPE_ETHERNET &&
> +                   STREQ(keywords[i], "downscript") && STRNEQ(values[i], "")) {
> +            def->downscript = values[i];
> +            values[i] = NULL;
> +        } else if (def->type == VIR_DOMAIN_NET_TYPE_ETHERNET &&
>                     STREQ(keywords[i], "ifname")) {
>              def->ifname = values[i];
>              values[i] = NULL;
> diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
> index 4d74ae4..5d7129c 100644
> --- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
> +++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.args
> @@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
>  -usb \
>  -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
>  -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
> --net tap,ifname=nic02,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
> +-net tap,ifname=nic02,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,vlan=0,name=hostnet0 \
>  -serial none \
>  -parallel none
> diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
> index fa9a892..8e04efb 100644
> --- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
> +++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth-ifname.xml
> @@ -30,6 +30,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <target dev='nic02'/>
>        <model type='rtl8139'/>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
> index 89eb4c1..0e3fa21 100644
> --- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
> +++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.args
> @@ -18,6 +18,6 @@ QEMU_AUDIO_DRV=none \
>  -usb \
>  -drive file=/dev/HostVG/QEMUGuest1,format=raw,if=ide,bus=0,unit=0 \
>  -net nic,macaddr=00:11:22:33:44:55,vlan=0,model=rtl8139,name=net0 \
> --net tap,script=/etc/qemu-ifup,vlan=0,name=hostnet0 \
> +-net tap,script=/etc/qemu-ifup,downscript=/etc/qemu-ifdown,vlan=0,name=hostnet0 \
>  -serial none \
>  -parallel none
> diff --git a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
> index 57c4be8..d177ca8 100644
> --- a/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
> +++ b/tests/qemuargv2xmldata/qemuargv2xml-net-eth.xml
> @@ -30,6 +30,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <model type='rtl8139'/>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>      </interface>
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
> index dd0d752..21d8259 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth-ifname.xml
> @@ -26,6 +26,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <target dev='nic02'/>
>        <model type='rtl8139'/>
>      </interface>
> diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
> index 48acadf..9f40122 100644
> --- a/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
> +++ b/tests/qemuxml2argvdata/qemuxml2argv-net-eth.xml
> @@ -26,6 +26,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <model type='rtl8139'/>
>      </interface>
>      <input type='mouse' bus='ps2'/>
> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
> index c36baa0..b71fd5a 100644
> --- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
> +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth-ifname.xml
> @@ -30,6 +30,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <target dev='nic02'/>
>        <model type='rtl8139'/>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
> diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
> index 898bda6..c55cd68 100644
> --- a/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
> +++ b/tests/qemuxml2xmloutdata/qemuxml2xmlout-net-eth.xml
> @@ -30,6 +30,7 @@
>      <interface type='ethernet'>
>        <mac address='00:11:22:33:44:55'/>
>        <script path='/etc/qemu-ifup'/>
> +      <downscript path='/etc/qemu-ifdown'/>
>        <model type='rtl8139'/>
>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
>      </interface>
> --
> 2.7.4
>

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list