2007-07-24 09:19:40 +00:00
|
|
|
<!-- A Relax NG schema for the libvirt network XML format -->
|
2010-11-11 19:48:51 +00:00
|
|
|
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
|
2007-07-24 09:19:40 +00:00
|
|
|
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
|
2010-11-11 19:48:51 +00:00
|
|
|
<start>
|
|
|
|
<ref name="network"/>
|
|
|
|
</start>
|
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<define name="network">
|
2010-11-11 19:48:51 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<element name="network">
|
|
|
|
<interleave>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<!-- The name of the network, used to refer to it through the API
|
|
|
|
and in virsh -->
|
|
|
|
<element name="name">
|
2009-10-09 12:48:22 +00:00
|
|
|
<text/>
|
2010-11-11 20:17:34 +00:00
|
|
|
</element>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<!-- <uuid> element -->
|
|
|
|
<optional>
|
|
|
|
<element name="uuid"><text/></element>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<!-- <bridge> element -->
|
|
|
|
<optional>
|
|
|
|
<!-- The name of the network to be set up; this will back
|
|
|
|
the network on the host -->
|
|
|
|
<element name="bridge">
|
|
|
|
<optional>
|
|
|
|
<attribute name="name">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="stp">
|
|
|
|
<choice>
|
|
|
|
<value>on</value>
|
|
|
|
<value>off</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="delay">
|
|
|
|
<data type="integer"/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<!-- <forward> element -->
|
|
|
|
<optional>
|
|
|
|
<!-- The device through which the bridge is connected to the
|
|
|
|
rest of the network -->
|
|
|
|
<element name="forward">
|
|
|
|
<optional>
|
|
|
|
<attribute name="dev">
|
|
|
|
<text/>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2009-10-09 12:48:22 +00:00
|
|
|
|
2010-11-11 20:17:34 +00:00
|
|
|
<optional>
|
|
|
|
<attribute name="mode">
|
|
|
|
<choice>
|
|
|
|
<value>nat</value>
|
|
|
|
<value>route</value>
|
|
|
|
</choice>
|
|
|
|
</attribute>
|
|
|
|
</optional>
|
2007-07-24 09:19:40 +00:00
|
|
|
</element>
|
2010-11-11 20:17:34 +00:00
|
|
|
</optional>
|
|
|
|
|
|
|
|
<!-- <domain> element -->
|
|
|
|
<optional>
|
|
|
|
<element name="domain">
|
2009-07-02 14:02:18 +00:00
|
|
|
<attribute name="name"><text/></attribute>
|
|
|
|
</element>
|
2010-11-11 20:17:34 +00:00
|
|
|
</optional>
|
|
|
|
|
|
|
|
<!-- <ip> element -->
|
2010-03-01 19:09:26 +00:00
|
|
|
<optional>
|
2010-11-11 20:17:34 +00:00
|
|
|
<!-- 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-10-28 14:57:49 +00:00
|
|
|
<optional>
|
2010-11-11 20:17:34 +00:00
|
|
|
<element name="tftp">
|
|
|
|
<attribute name="root"><text/></attribute>
|
|
|
|
</element>
|
2009-10-28 14:57:49 +00:00
|
|
|
</optional>
|
2010-11-11 20:17:34 +00: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>
|
|
|
|
<zeroOrMore>
|
|
|
|
<element name="host">
|
|
|
|
<attribute name="mac"><text/></attribute>
|
|
|
|
<attribute name="name"><text/></attribute>
|
|
|
|
<attribute name="ip"><text/></attribute>
|
|
|
|
</element>
|
|
|
|
</zeroOrMore>
|
|
|
|
<optional>
|
|
|
|
<element name="bootp">
|
|
|
|
<attribute name="file"><text/></attribute>
|
|
|
|
<optional>
|
|
|
|
<attribute name="server"><text/></attribute>
|
|
|
|
</optional>
|
|
|
|
</element>
|
|
|
|
</optional>
|
|
|
|
</element>
|
2010-03-01 19:09:26 +00:00
|
|
|
</element>
|
|
|
|
</optional>
|
2010-11-11 20:17:34 +00:00
|
|
|
</interleave>
|
2007-07-24 09:19:40 +00:00
|
|
|
</element>
|
2010-11-11 20:17:34 +00:00
|
|
|
</define>
|
2010-11-11 19:48:51 +00:00
|
|
|
</grammar>
|