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
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to