This patch reflects cases when <interface> element and its <source> subelement for network type are formated based on actual type resolved from referenced network instead of original one. networkAllocateActualDevice and virDomainActualNetDefContentsFormat are taken as reference. --- docs/schemas/domaincommon.rng | 40 +++++++++++++++++++++++++++++++--------- docs/schemas/network.rng | 5 +---- docs/schemas/networkcommon.rng | 6 ++++++ 3 files changed, 38 insertions(+), 13 deletions(-) diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng index eb78187..ac9fd21 100644 --- a/docs/schemas/domaincommon.rng +++ b/docs/schemas/domaincommon.rng @@ -2107,6 +2107,28 @@ </element> </define> + <define name="interface-network-attributes"> + <attribute name="network"> + <text/> + </attribute> + <optional> + <attribute name="portgroup"> + <ref name="deviceName"/> + </attribute> + </optional> + </define> + + <define name="interface-bridge-attributes"> + <attribute name="bridge"> + <ref name="deviceName"/> + </attribute> + <optional> + <attribute name="macTableManager"> + <ref name="macTableManager"/> + </attribute> + </optional> + </define> + <!-- An interface description can either be of type bridge in which case it will use a bridging source, or of type ethernet which uses a device @@ -2123,9 +2145,10 @@ <interleave> <optional> <element name="source"> - <attribute name="bridge"> - <ref name="deviceName"/> - </attribute> + <ref name="interface-bridge-attributes"/> + <optional> + <ref name="interface-network-attributes"/> + </optional> <empty/> </element> </optional> @@ -2179,13 +2202,9 @@ </attribute> <interleave> <element name="source"> - <attribute name="network"> - <text/> - </attribute> + <ref name='interface-network-attributes'/> <optional> - <attribute name="portgroup"> - <ref name="deviceName"/> - </attribute> + <ref name="interface-bridge-attributes"/> </optional> <empty/> </element> @@ -2209,6 +2228,9 @@ <ref name="bridgeMode"/> </attribute> </optional> + <optional> + <ref name='interface-network-attributes'/> + </optional> <empty/> </element> <optional> diff --git a/docs/schemas/network.rng b/docs/schemas/network.rng index b67a5ea..c2c51ae 100644 --- a/docs/schemas/network.rng +++ b/docs/schemas/network.rng @@ -72,10 +72,7 @@ <optional> <attribute name="macTableManager"> - <choice> - <value>kernel</value> - <value>libvirt</value> - </choice> + <ref name="macTableManager"/> </attribute> </optional> diff --git a/docs/schemas/networkcommon.rng b/docs/schemas/networkcommon.rng index fb69f7c..a334b83 100644 --- a/docs/schemas/networkcommon.rng +++ b/docs/schemas/networkcommon.rng @@ -260,4 +260,10 @@ </optional> </element> </define> + <define name="macTableManager"> + <choice> + <value>kernel</value> + <value>libvirt</value> + </choice> + </define> </grammar> -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list