summaryrefslogtreecommitdiffstats
path: root/src/main/resources/libvirt/rng/networkport.rng
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/resources/libvirt/rng/networkport.rng')
-rw-r--r--src/main/resources/libvirt/rng/networkport.rng164
1 files changed, 164 insertions, 0 deletions
diff --git a/src/main/resources/libvirt/rng/networkport.rng b/src/main/resources/libvirt/rng/networkport.rng
new file mode 100644
index 0000000..14db949
--- /dev/null
+++ b/src/main/resources/libvirt/rng/networkport.rng
@@ -0,0 +1,164 @@
+<?xml version="1.0"?>
+<!-- A Relax NG schema for the libvirt network port XML format -->
+<grammar xmlns="http://relaxng.org/ns/structure/1.0"
+ datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+ <include href="basictypes.rng"/>
+ <include href="networkcommon.rng"/>
+
+ <start>
+ <ref name="networkport"/>
+ </start>
+
+ <define name="networkport">
+ <element name="networkport">
+ <interleave>
+ <element name="uuid">
+ <ref name="UUID"/>
+ </element>
+ <ref name="owner"/>
+ <ref name="mac"/>
+ <optional>
+ <ref name="group"/>
+ </optional>
+ <optional>
+ <ref name="rxfilters"/>
+ </optional>
+ <optional>
+ <ref name="virtualPortProfile"/>
+ </optional>
+ <optional>
+ <ref name="bandwidth"/>
+ </optional>
+ <optional>
+ <ref name="vlan"/>
+ </optional>
+ <optional>
+ <ref name="portOptions"/>
+ </optional>
+ <optional>
+ <ref name="plug"/>
+ </optional>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="owner">
+ <element name="owner">
+ <interleave>
+ <element name="name">
+ <text/>
+ </element>
+ <element name="uuid">
+ <ref name="UUID"/>
+ </element>
+ </interleave>
+ </element>
+ </define>
+
+ <define name="mac">
+ <element name="mac">
+ <attribute name="address">
+ <ref name="uniMacAddr"/>
+ </attribute>
+ <empty/>
+ </element>
+ </define>
+
+ <define name="group">
+ <element name="group">
+ <ref name="deviceName"/>
+ </element>
+ </define>
+
+ <define name="rxfilters">
+ <element name="rxfilters">
+ <attribute name="trustGuest">
+ <ref name="virYesNo"/>
+ </attribute>
+ </element>
+ </define>
+
+ <define name="plug">
+ <element name="plug">
+ <choice>
+ <ref name="plugnetwork"/>
+ <ref name="plugbridge"/>
+ <ref name="plugdirect"/>
+ <ref name="plughostdevpci"/>
+ </choice>
+ </element>
+ </define>
+
+ <define name="plugnetwork">
+ <attribute name="type">
+ <value>network</value>
+ </attribute>
+ <attribute name="bridge">
+ <ref name="deviceName"/>
+ </attribute>
+ <optional>
+ <attribute name="macTableManager">
+ <ref name="macTableManager"/>
+ </attribute>
+ </optional>
+ </define>
+
+ <define name="plugbridge">
+ <attribute name="type">
+ <value>bridge</value>
+ </attribute>
+ <attribute name="bridge">
+ <ref name="deviceName"/>
+ </attribute>
+ <optional>
+ <attribute name="macTableManager">
+ <ref name="macTableManager"/>
+ </attribute>
+ </optional>
+ </define>
+
+ <define name="plugdirect">
+ <attribute name="type">
+ <value>direct</value>
+ </attribute>
+ <attribute name="dev">
+ <ref name="deviceName"/>
+ </attribute>
+ <attribute name="mode">
+ <choice>
+ <value>bridge</value>
+ <value>passthrough</value>
+ <value>private</value>
+ <value>vepa</value>
+ </choice>
+ </attribute>
+ </define>
+
+ <define name="plughostdevpci">
+ <attribute name="type">
+ <value>hostdev-pci</value>
+ </attribute>
+ <optional>
+ <attribute name="managed">
+ <ref name="virYesNo"/>
+ </attribute>
+ </optional>
+ <interleave>
+ <optional>
+ <element name="driver">
+ <attribute name="name">
+ <choice>
+ <value>kvm</value>
+ <value>vfio</value>
+ </choice>
+ </attribute>
+ <empty/>
+ </element>
+ </optional>
+ <element name="address">
+ <ref name="pciaddress"/>
+ </element>
+ </interleave>
+ </define>
+
+</grammar>