The correct vlanid range is 0~4095. After merging this patch, we can not validate a interface xml with vlanid >= 4096. [root@localhost ~]# cat vlan.xml <interface type='vlan' name='eno1.4096'> <start mode='onboot'/> <protocol family='ipv4'> <dhcp/> </protocol> <vlan tag='4096'> <interface name='eno1'/> </vlan> </interface> [root@localhost ~]# virt-xml-validate vlan.xml vlan.xml:1: element interface: Relax-NG validity error : Invalid sequence in interleave vlan.xml:6: element vlan: Relax-NG validity error : Element interface failed to validate content vlan.xml:6: element vlan: Relax-NG validity error : Element vlan failed to validate attributes vlan.xml fails to validate [root@localhost ~]# Here is a ip command help on this. [root@localhost /]# ip link add link eno1 name eno1.90 type vlan help Usage: ... vlan [ protocol VLANPROTO ] id VLANID [ FLAG-LIST ] [ ingress-qos-map QOS-MAP ] [ egress-qos-map QOS-MAP ] VLANPROTO: [ 802.1Q / 802.1ad ] VLANID := 0-4095 FLAG-LIST := [ FLAG-LIST ] FLAG FLAG := [ reorder_hdr { on | off } ] [ gvrp { on | off } ] [ mvrp { on | off } ] [ loose_binding { on | off } ] QOS-MAP := [ QOS-MAP ] QOS-MAPPING QOS-MAPPING := FROM:TO --- docs/schemas/interface.rng | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/schemas/interface.rng b/docs/schemas/interface.rng index 80962d4..0f577d6 100644 --- a/docs/schemas/interface.rng +++ b/docs/schemas/interface.rng @@ -440,7 +440,7 @@ <define name='vlan-id'> <data type="unsignedInt"> - <param name="maxInclusive">4096</param> + <param name="maxInclusive">4095</param> </data> </define> </grammar> -- 1.8.3.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list