[libvirt] [PATCH v2] docs: Add missed RNG schema for interface

Osier Yang jyang at redhat.com
Mon Jan 16 14:08:07 UTC 2012


We support <interface> of type "mcast", "server", and "client",
but the RNG schema for them are missed. Attribute "address" is
optional for "server" type. And these 3 types support
<mac address='MAC'/>, too.
---
 docs/formatdomain.html.in                          |    3 +
 docs/schemas/domaincommon.rng                      |   53 ++++++++++++++++++++
 .../qemuxml2argvdata/qemuxml2argv-net-client.args  |    5 ++
 tests/qemuxml2argvdata/qemuxml2argv-net-client.xml |   29 +++++++++++
 tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args |    5 ++
 tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml  |   29 +++++++++++
 .../qemuxml2argvdata/qemuxml2argv-net-server.args  |    5 ++
 tests/qemuxml2argvdata/qemuxml2argv-net-server.xml |   29 +++++++++++
 tests/qemuxml2argvtest.c                           |    3 +
 9 files changed, 161 insertions(+), 0 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-client.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-client.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-server.args
 create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-net-server.xml

diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
index faf42df..6b06723 100644
--- a/docs/formatdomain.html.in
+++ b/docs/formatdomain.html.in
@@ -2189,6 +2189,7 @@
 <pre>
   ...
   <devices>
+    <mac address='52:54:00:6d:90:01'>
     <interface type='mcast'>
       <source address='230.0.0.1' port='5558'/>
     </interface>
@@ -2210,10 +2211,12 @@
   ...
   <devices>
     <interface type='server'>
+    <mac address='52:54:00:22:c9:42'>
       <source address='192.168.0.1' port='5558'/>
     </interface>
     ...
     <interface type='client'>
+    <mac address='52:54:00:8b:c9:51'>
     <source address='192.168.0.1' port='5558'/>
     </interface>
   </devices>
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 6d265f3..7a23525 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -1308,6 +1308,59 @@
             <ref name="interface-options"/>
           </interleave>
         </group>
+        <group>
+          <attribute name="type">
+            <choice>
+              <value>mcast</value>
+              <value>client</value>
+            </choice>
+          </attribute>
+          <interleave>
+            <element name="source">
+              <attribute name="address">
+                <ref name="ipv4Addr"/>
+              </attribute>
+              <attribute name="port">
+                <ref name="PortNumber"/>
+              </attribute>
+              <empty/>
+            </element>
+            <optional>
+              <element name="mac">
+                <attribute name="address">
+                  <ref name="macAddr"/>
+                </attribute>
+                <empty/>
+              </element>
+            </optional>
+          </interleave>
+        </group>
+        <group>
+          <attribute name="type">
+            <value>server</value>
+          </attribute>
+          <interleave>
+            <element name="source">
+              <optional>
+                <attribute name="address">
+                  <ref name="ipv4Addr"/>
+                </attribute>
+              </optional>
+              <attribute name="port">
+                <ref name="PortNumber"/>
+              </attribute>
+              <empty/>
+            </element>
+            <optional>
+              <element name="mac">
+                <attribute name="address">
+                  <ref name="macAddr"/>
+                </attribute>
+                <empty/>
+              </element>
+            </optional>
+          </interleave>
+        </group>
       </choice>
     </element>
   </define>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-client.args b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
new file mode 100644
index 0000000..f8853ac
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-client.args
@@ -0,0 +1,5 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \
+pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,\
+macaddr=52:54:00:8c:b9:05,vlan=0 -net socket,connect=192.168.0.1:5558,vlan=0 \
+-serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-client.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-client.xml
new file mode 100644
index 0000000..b4cca6e
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-client.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory>219136</memory>
+  <currentMemory>219136</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch='i686' machine='pc'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu</emulator>
+    <disk type='block' device='disk'>
+      <source dev='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' unit='0'/>
+    </disk>
+    <controller type='ide' index='0'/>
+    <interface type='client'>
+      <mac address='52:54:00:8c:b9:05'/>
+      <source address='192.168.0.1' port='5558'/>
+    </interface>
+    <memballoon model='virtio'/>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
new file mode 100644
index 0000000..bb4a042
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.args
@@ -0,0 +1,5 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \
+pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,\
+macaddr=52:54:00:8c:b9:05,vlan=0 -net socket,mcast=192.0.0.1:5558,vlan=0 \
+-serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml
new file mode 100644
index 0000000..a3929a5
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-mcast.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory>219136</memory>
+  <currentMemory>219136</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch='i686' machine='pc'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu</emulator>
+    <disk type='block' device='disk'>
+      <source dev='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' unit='0'/>
+    </disk>
+    <controller type='ide' index='0'/>
+    <interface type='mcast'>
+      <mac address='52:54:00:8c:b9:05'/>
+      <source address='192.0.0.1' port='5558'/>
+    </interface>
+    <memballoon model='virtio'/>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-server.args b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
new file mode 100644
index 0000000..1451e32
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-server.args
@@ -0,0 +1,5 @@
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test /usr/bin/qemu -S -M \
+pc -m 214 -smp 1 -nographic -monitor unix:/tmp/test-monitor,server,nowait \
+-no-acpi -boot c -hda /dev/HostVG/QEMUGuest1 -net nic,\
+macaddr=52:54:00:8c:b9:05,vlan=0 -net socket,listen=192.168.0.1:5558,vlan=0 \
+-serial none -parallel none -usb
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-net-server.xml b/tests/qemuxml2argvdata/qemuxml2argv-net-server.xml
new file mode 100644
index 0000000..eca440d
--- /dev/null
+++ b/tests/qemuxml2argvdata/qemuxml2argv-net-server.xml
@@ -0,0 +1,29 @@
+<domain type='qemu'>
+  <name>QEMUGuest1</name>
+  <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
+  <memory>219136</memory>
+  <currentMemory>219136</currentMemory>
+  <vcpu>1</vcpu>
+  <os>
+    <type arch='i686' machine='pc'>hvm</type>
+    <boot dev='hd'/>
+  </os>
+  <clock offset='utc'/>
+  <on_poweroff>destroy</on_poweroff>
+  <on_reboot>restart</on_reboot>
+  <on_crash>destroy</on_crash>
+  <devices>
+    <emulator>/usr/bin/qemu</emulator>
+    <disk type='block' device='disk'>
+      <source dev='/dev/HostVG/QEMUGuest1'/>
+      <target dev='hda' bus='ide'/>
+      <address type='drive' controller='0' bus='0' unit='0'/>
+    </disk>
+    <controller type='ide' index='0'/>
+    <interface type='server'>
+      <mac address='52:54:00:8c:b9:05'/>
+      <source address='192.168.0.1' port='5558'/>
+    </interface>
+    <memballoon model='virtio'/>
+  </devices>
+</domain>
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 7beaa4b..fd3c9bb 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -519,6 +519,9 @@ mymain(void)
     DO_TEST("net-eth", false, NONE);
     DO_TEST("net-eth-ifname", false, NONE);
     DO_TEST("net-eth-names", false, QEMU_CAPS_NET_NAME);
+    DO_TEST("net-client", false, NONE);
+    DO_TEST("net-server", false, NONE);
+    DO_TEST("net-mcast", false, NONE);
 
     DO_TEST("serial-vc", false, NONE);
     DO_TEST("serial-pty", false, NONE);
-- 
1.7.7.3




More information about the libvir-list mailing list