2007-07-24 13:19:40 +04:00
<!-- A Relax NG schema for the libvirt network XML format -->
<element name="network" xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
2009-07-02 18:02:18 +04:00
<interleave>
2009-10-09 16:48:22 +04:00
2007-07-24 13:19:40 +04:00
<!-- The name of the network, used to refer to it through the API
and in virsh -->
2009-10-09 16:48:22 +04:00
<element name="name">
<text/>
</element>
<!-- <uuid> element -->
2007-07-24 13:19:40 +04:00
<optional>
<element name="uuid"><text/></element>
</optional>
2009-10-09 16:48:22 +04:00
<!-- <bridge> element -->
2007-07-24 13:19:40 +04:00
<optional>
<!-- The name of the network to be set up; this will back
the network on the host -->
<element name="bridge">
<optional>
2009-10-09 16:48:22 +04:00
<attribute name="name">
<text/>
</attribute>
2007-07-24 13:19:40 +04:00
</optional>
2009-10-09 16:48:22 +04:00
2007-07-24 13:19:40 +04:00
<optional>
<attribute name="stp">
<choice>
<value>on</value>
<value>off</value>
</choice>
</attribute>
</optional>
2009-10-09 16:48:22 +04:00
2007-07-24 13:19:40 +04:00
<optional>
2009-10-09 16:48:22 +04:00
<attribute name="delay">
<data type="integer"/>
</attribute>
2007-07-24 13:19:40 +04:00
</optional>
2009-10-09 16:48:22 +04:00
2007-07-24 13:19:40 +04:00
</element>
</optional>
2009-10-09 16:48:22 +04:00
<!-- <forward> element -->
2009-01-27 18:29:53 +03:00
<optional>
<!-- The device through which the bridge is connected to the
rest of the network -->
<element name="forward">
2009-10-09 16:48:22 +04:00
<optional>
<attribute name="dev">
<text/>
</attribute>
</optional>
2009-01-27 18:29:53 +03:00
<optional>
<attribute name="mode">
<choice>
<value>nat</value>
2009-10-09 16:48:22 +04:00
<value>route</value>
2009-01-27 18:29:53 +03:00
</choice>
</attribute>
</optional>
</element>
</optional>
2009-10-09 16:48:22 +04:00
<!-- <domain> element -->
2009-07-02 18:02:18 +04:00
<optional>
<element name="domain">
<attribute name="name"><text/></attribute>
</element>
</optional>
2009-10-09 16:48:22 +04:00
<!-- <ip> element -->
2007-07-24 13:19:40 +04:00
<optional>
<!-- The IP element sets up NAT'ing and an optional DHCP server
local to the host. -->
<!-- FIXME: address, netmask and the start and end of the ranges
are IP addresses, and should be validated as such in the scheme -->
<element name="ip">
<optional>
<attribute name="address"><text/></attribute>
</optional>
<optional>
<attribute name="netmask"><text/></attribute>
</optional>
2009-09-22 00:50:25 +04:00
<optional>
<element name="tftp">
<attribute name="root"><text/></attribute>
</element>
</optional>
2007-07-24 13:19:40 +04:00
<!-- Define the range(s) of IP addresses that the DHCP
server should hand out -->
<element name="dhcp">
<zeroOrMore>
<element name="range">
<attribute name="start"><text/></attribute>
<attribute name="end"><text/></attribute>
</element>
</zeroOrMore>
2009-07-02 18:02:18 +04:00
<zeroOrMore>
<element name="host">
<attribute name="mac"><text/></attribute>
<attribute name="name"><text/></attribute>
<attribute name="ip"><text/></attribute>
</element>
</zeroOrMore>
2009-09-22 00:50:25 +04:00
<optional>
<element name="bootp">
<attribute name="file"><text/></attribute>
2009-10-28 17:57:49 +03:00
<optional>
<attribute name="server"><text/></attribute>
</optional>
2009-09-22 00:50:25 +04:00
</element>
</optional>
2007-07-24 13:19:40 +04:00
</element>
</element>
</optional>
2009-07-02 18:02:18 +04:00
</interleave>
2007-07-24 13:19:40 +04:00
</element>