mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
4b4a981d60
Introduce a virNetworkPortDefPtr struct to represent the data associated with a virtual network port. Add APIs for parsing/formatting XML docs with the data. Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
155 lines
3.4 KiB
XML
155 lines
3.4 KiB
XML
<?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="plug"/>
|
|
</optional>
|
|
</interleave>
|
|
</element>
|
|
</define>
|
|
|
|
<define name="owner">
|
|
<element name="owner">
|
|
<element name="name">
|
|
<text/>
|
|
</element>
|
|
<element name="uuid">
|
|
<ref name="UUID"/>
|
|
</element>
|
|
</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>
|
|
<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>
|
|
</define>
|
|
|
|
</grammar>
|