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

Daniel Veillard veillard at redhat.com
Tue Jan 17 08:51:54 UTC 2012


On Mon, Jan 16, 2012 at 10:08:07PM +0800, Osier Yang wrote:
> 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);

  Looks good to me, ACK

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list