diff --git a/interface-definitions/interfaces-ethernet.xml b/interface-definitions/interfaces-ethernet.xml
index 9244f3b5f..e4a56b216 100644
--- a/interface-definitions/interfaces-ethernet.xml
+++ b/interface-definitions/interfaces-ethernet.xml
@@ -1,872 +1,884 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="ethernet" owner="${vyos_conf_scripts_dir}/interface-ethernet.py">
         <properties>
           <help>Ethernet interface name</help>
           <priority>318</priority>
           <constraint>
             <regex>((eth|lan)[0-9]+|(eno|ens|enp|enx).+)$</regex>
           </constraint>
           <constraintErrorMessage>Invalid Ethernet interface name</constraintErrorMessage>
           <valueHelp>
             <format>ethN</format>
             <description>Ethernet interface name</description>
           </valueHelp>
           <valueHelp>
             <format>en[ospx]N</format>
             <description>Ethernet interface name</description>
           </valueHelp>
         </properties>
         <children>
           <leafNode name="address">
             <properties>
               <help>IP address</help>
               <completionHelp>
                 <list>dhcp dhcpv6</list>
               </completionHelp>
               <valueHelp>
                 <format>ipv4net</format>
                 <description>IPv4 address and prefix length</description>
               </valueHelp>
               <valueHelp>
                 <format>ipv6net</format>
                 <description>IPv6 address and prefix length</description>
               </valueHelp>
               <valueHelp>
                 <format>dhcp</format>
                 <description>Dynamic Host Configuration Protocol</description>
               </valueHelp>
               <valueHelp>
                 <format>dhcpv6</format>
                 <description>Dynamic Host Configuration Protocol for IPv6</description>
               </valueHelp>
               <constraint>
                 <validator name="ip-cidr"/>
                 <regex>(dhcp|dhcpv6)</regex>
               </constraint>
               <multi/>
             </properties>
           </leafNode>
           <leafNode name="description">
             <properties>
               <help>Interface description</help>
               <constraint>
                 <regex>^.{1,256}$</regex>
               </constraint>
               <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage>
             </properties>
           </leafNode>
           <node name="dhcp-options">
             <properties>
               <help>DHCP options</help>
             </properties>
             <children>
               <leafNode name="client-id">
                 <properties>
                   <help>DHCP client identifier</help>
                 </properties>
               </leafNode>
               <leafNode name="host-name">
                 <properties>
                   <help>DHCP client host name (overrides the system host name)</help>
                 </properties>
               </leafNode>
             </children>
           </node>
           <node name="dhcpv6-options">
             <properties>
               <help>DHCPv6 options</help>
               <priority>319</priority>
             </properties>
             <children>
               <leafNode name="parameters-only">
                 <properties>
                   <help>Acquire only config parameters, no address</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="temporary">
                 <properties>
                   <help>IPv6 "temporary" address</help>
                   <valueless/>
                 </properties>
               </leafNode>
             </children>
           </node>
           <leafNode name="disable-flow-control">
             <properties>
               <help>Disable Ethernet flow control (pause frames)</help>
               <valueless/>
             </properties>
           </leafNode>
           <leafNode name="disable-link-detect">
             <properties>
               <help>Ignore link state changes</help>
               <valueless/>
             </properties>
           </leafNode>
           <leafNode name="disable">
             <properties>
               <help>Disable this bridge interface</help>
               <valueless/>
             </properties>
           </leafNode>
           <leafNode name="duplex">
             <properties>
               <help>Duplex mode</help>
               <completionHelp>
                 <list>auto half full</list>
               </completionHelp>
               <valueHelp>
                 <format>auto</format>
                 <description>Auto negotiation (default)</description>
               </valueHelp>
               <valueHelp>
                 <format>half</format>
                 <description>Half duplex</description>
               </valueHelp>
               <valueHelp>
                 <format>full</format>
                 <description>Full duplex</description>
               </valueHelp>
               <constraint>
                 <regex>(auto|half|full)</regex>
               </constraint>
               <constraintErrorMessage>duplex must be auto, half or full</constraintErrorMessage>
             </properties>
           </leafNode>
           <leafNode name="hw-id">
             <properties>
               <help>Media Access Control (MAC) address</help>
               <valueHelp>
                 <format>h:h:h:h:h:h</format>
                 <description>Hardware (MAC) address</description>
               </valueHelp>
               <constraint>
                 <validator name="mac-address"/>
               </constraint>
             </properties>
           </leafNode>
           <node name="ip">
             <children>
               <leafNode name="arp-cache-timeout">
                 <properties>
                   <help>ARP cache entry timeout in seconds</help>
                   <valueHelp>
                     <format>1-86400</format>
                     <description>ARP cache entry timout in seconds (default 30)</description>
                   </valueHelp>
                   <constraint>
                     <validator name="numeric" argument="--range 1-86400"/>
                   </constraint>
                   <constraintErrorMessage>ARP cache entry timeout must be between 1 and 86400 seconds</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="enable-proxy-arp">
                 <properties>
                   <help>Enable proxy-arp on this interface</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="proxy-arp-pvlan">
                 <properties>
                   <help>Enable private VLAN proxy ARP on this interface</help>
                   <valueless/>
                 </properties>
               </leafNode>
             </children>
           </node>
           <leafNode name="mac">
             <properties>
               <help>Media Access Control (MAC) address</help>
               <valueHelp>
                 <format>h:h:h:h:h:h</format>
                 <description>Hardware (MAC) address</description>
               </valueHelp>
               <constraint>
                 <validator name="mac-address"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="mtu">
             <properties>
               <help>Maximum Transmission Unit (MTU)</help>
               <valueHelp>
                 <format>68-9000</format>
                 <description>Maximum Transmission Unit</description>
               </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 68-9000"/>
               </constraint>
               <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage>
             </properties>
           </leafNode>
           <node name="offload-options">
             <properties>
               <help>Configurable offload options</help>
             </properties>
             <children>
               <leafNode name="generic-receive">
                 <properties>
                   <help>Configure GRO (generic receive offload)</help>
                   <completionHelp>
                     <list>on off</list>
                   </completionHelp>
                   <valueHelp>
                     <format>on</format>
                     <description>Enable GRO (generic receive offload)</description>
                   </valueHelp>
                   <valueHelp>
                     <format>off</format>
                     <description>Disable GRO (generic receive offload)</description>
                   </valueHelp>
                   <constraint>
                     <regex>(on|off)</regex>
                   </constraint>
                   <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="generic-segmentation">
                 <properties>
                   <help>Configure GSO (generic segmentation offload)</help>
                   <completionHelp>
                     <list>on off</list>
                   </completionHelp>
                   <valueHelp>
                     <format>on</format>
                     <description>Enable GSO (generic segmentation offload)</description>
                   </valueHelp>
                   <valueHelp>
                     <format>off</format>
                     <description>Disable GSO (generic segmentation offload)</description>
                   </valueHelp>
                   <constraint>
                     <regex>(on|off)</regex>
                   </constraint>
                   <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="scatter-gather">
                 <properties>
                   <help>Configure scatter-gather option</help>
                   <completionHelp>
                     <list>on off</list>
                   </completionHelp>
                   <valueHelp>
                     <format>on</format>
                     <description>Enable scatter-gather</description>
                   </valueHelp>
                   <valueHelp>
                     <format>off</format>
                     <description>Disable scatter-gather</description>
                   </valueHelp>
                   <constraint>
                     <regex>(on|off)</regex>
                   </constraint>
                   <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="tcp-segmentation">
                 <properties>
                   <help>Configure TSO (TCP segmentation offloading)</help>
                   <completionHelp>
                     <list>on off</list>
                   </completionHelp>
                   <valueHelp>
                     <format>on</format>
                     <description>Enable TSO (TCP segmentation offloading)</description>
                   </valueHelp>
                   <valueHelp>
                     <format>off</format>
                     <description>Disable TSO (TCP segmentation offloading)</description>
                   </valueHelp>
                   <constraint>
                     <regex>(on|off)</regex>
                   </constraint>
                   <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="udp-fragmentation">
                 <properties>
                   <help>Configure UDP fragmentation offloading</help>
                   <completionHelp>
                     <list>on off</list>
                   </completionHelp>
                   <valueHelp>
                     <format>on</format>
                     <description>Enable UDP fragmentation offloading</description>
                   </valueHelp>
                   <valueHelp>
                     <format>off</format>
                     <description>Disable UDP fragmentation offloading</description>
                   </valueHelp>
                   <constraint>
                     <regex>(on|off)</regex>
                   </constraint>
                   <constraintErrorMessage>Must be either 'on' or 'off'</constraintErrorMessage>
                 </properties>
               </leafNode>
             </children>
           </node>
           <leafNode name="smp-affinity">
             <properties>
               <help>CPU interrupt affinity mask</help>
               <completionHelp>
                 <list>auto 10 100 1000 2500 5000 10000</list>
               </completionHelp>
               <valueHelp>
                 <format>auto</format>
                 <description>Auto negotiation (default)</description>
               </valueHelp>
               <valueHelp>
                 <format>hex</format>
                 <description>Bitmask representing CPUs that this NIC will interrupt</description>
               </valueHelp>
               <valueHelp>
                 <format>hex,hex</format>
                 <description>Bitmasks representing CPUs for interrupt and receive processing</description>
               </valueHelp>
               <constraint>
                 <regex>(auto)</regex>
                 <regex>[0-9a-f]+(|,[0-9a-f]+)$</regex>
               </constraint>
               <constraintErrorMessage>IRQ affinity mask must be hex value or auto</constraintErrorMessage>
             </properties>
           </leafNode>
           <leafNode name="speed">
             <properties>
               <help>Link speed</help>
               <completionHelp>
                 <list>auto 10 100 1000 2500 5000 10000 25000 40000 50000 100000</list>
               </completionHelp>
               <valueHelp>
                 <format>auto</format>
                 <description>Auto negotiation (default)</description>
               </valueHelp>
               <valueHelp>
                 <format>10</format>
                 <description>10 Mbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>100</format>
                 <description>100 Mbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>1000</format>
                 <description>1 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>2500</format>
                 <description>2.5 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>5000</format>
                 <description>5 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>10000</format>
                 <description>10 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>25000</format>
                 <description>25 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>40000</format>
                 <description>40 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>50000</format>
                 <description>50 Gbit/sec</description>
               </valueHelp>
               <valueHelp>
                 <format>100000</format>
                 <description>100 Gbit/sec</description>
               </valueHelp>
               <constraint>
                 <regex>(auto|10|100|1000|2500|5000|10000|25000|40000|50000|100000)</regex>
               </constraint>
               <constraintErrorMessage>Speed must be auto, 10, 100, 1000, 2500, 5000, 10000, 25000, 40000, 50000 or 100000</constraintErrorMessage>
             </properties>
           </leafNode>
           <tagNode name="vif-s">
             <properties>
               <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help>
+              <valueHelp>
+                <format>0-4094</format>
+                <description>QinQ TAG-S Virtual Local Area Network (VLAN) ID</description>
+              </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 0-4094"/>
               </constraint>
               <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
             </properties>
             <children>
               <leafNode name="address">
                 <properties>
                   <help>IP address</help>
                   <completionHelp>
                     <list>dhcp dhcpv6</list>
                   </completionHelp>
                   <valueHelp>
                     <format>ipv4net</format>
                     <description>IPv4 address and prefix length</description>
                   </valueHelp>
                   <valueHelp>
                     <format>ipv6net</format>
                     <description>IPv6 address and prefix length</description>
                   </valueHelp>
                   <valueHelp>
                     <format>dhcp</format>
                     <description>Dynamic Host Configuration Protocol</description>
                   </valueHelp>
                   <valueHelp>
                     <format>dhcpv6</format>
                     <description>Dynamic Host Configuration Protocol for IPv6</description>
                   </valueHelp>
                   <constraint>
                     <validator name="ip-cidr"/>
                     <regex>(dhcp|dhcpv6)</regex>
                   </constraint>
                   <multi/>
                 </properties>
               </leafNode>
               <leafNode name="description">
                 <properties>
                   <help>Interface description</help>
                   <constraint>
                     <regex>^.{1,256}$</regex>
                   </constraint>
                   <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage>
                 </properties>
               </leafNode>
               <node name="dhcp-options">
                 <properties>
                   <help>DHCP options</help>
                 </properties>
                 <children>
                   <leafNode name="client-id">
                     <properties>
                       <help>DHCP client identifier</help>
                     </properties>
                   </leafNode>
                   <leafNode name="host-name">
                     <properties>
                       <help>DHCP client host name (overrides the system host name)</help>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <node name="dhcpv6-options">
                 <properties>
                   <help>DHCPv6 options</help>
                   <priority>319</priority>
                 </properties>
                 <children>
                   <leafNode name="parameters-only">
                     <properties>
                       <help>Acquire only config parameters, no address</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="temporary">
                     <properties>
                       <help>IPv6 "temporary" address</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <leafNode name="disable-link-detect">
                 <properties>
                   <help>Ignore link state changes</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="disable">
                 <properties>
                   <help>Disable this bridge interface</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="ethertype">
                 <properties>
                   <help>Set Ethertype</help>
                   <completionHelp>
                     <list>0x88A8 0x8100</list>
                   </completionHelp>
                   <valueHelp>
                     <format>0x88A8</format>
                     <description>802.1ad</description>
                   </valueHelp>
                   <valueHelp>
                     <format>0x8100</format>
                     <description>802.1q</description>
                   </valueHelp>
                   <constraint>
                     <regex>(0x88A8|0x8100)</regex>
                   </constraint>
                   <constraintErrorMessage>Ethertype must be 0x88A8 or 0x8100</constraintErrorMessage>
                 </properties>
               </leafNode>
               <node name="ip">
                 <children>
                   <leafNode name="enable-proxy-arp">
                     <properties>
                       <help>Enable proxy-arp on this interface</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="proxy-arp-pvlan">
                     <properties>
                       <help>Enable private VLAN proxy ARP on this interface</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <leafNode name="mac">
                 <properties>
                   <help>Media Access Control (MAC) address</help>
                   <valueHelp>
                     <format>h:h:h:h:h:h</format>
                     <description>Hardware (MAC) address</description>
                   </valueHelp>
                   <constraint>
                     <validator name="mac-address"/>
                   </constraint>
                 </properties>
               </leafNode>
               <leafNode name="mtu">
                 <properties>
                   <help>Maximum Transmission Unit (MTU)</help>
                   <valueHelp>
                     <format>68-9000</format>
                     <description>Maximum Transmission Unit</description>
                   </valueHelp>
                   <constraint>
                     <validator name="numeric" argument="--range 68-9000"/>
                   </constraint>
                   <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage>
                 </properties>
               </leafNode>
               <tagNode name="vif-c">
                 <properties>
                   <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help>
+                  <valueHelp>
+                    <format>0-4094</format>
+                    <description>QinQ TAG-C Virtual Local Area Network (VLAN) ID</description>
+                  </valueHelp>
                   <constraint>
                     <validator name="numeric" argument="--range 0-4094"/>
                   </constraint>
                   <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
                 </properties>
                 <children>
                   <leafNode name="address">
                     <properties>
                       <help>IP address</help>
                       <completionHelp>
                         <list>dhcp dhcpv6</list>
                       </completionHelp>
                       <valueHelp>
                         <format>ipv4net</format>
                         <description>IPv4 address and prefix length</description>
                       </valueHelp>
                       <valueHelp>
                         <format>ipv6net</format>
                         <description>IPv6 address and prefix length</description>
                       </valueHelp>
                       <valueHelp>
                         <format>dhcp</format>
                         <description>Dynamic Host Configuration Protocol</description>
                       </valueHelp>
                       <valueHelp>
                         <format>dhcpv6</format>
                         <description>Dynamic Host Configuration Protocol for IPv6</description>
                       </valueHelp>
                       <constraint>
                         <validator name="ip-cidr"/>
                         <regex>(dhcp|dhcpv6)</regex>
                       </constraint>
                       <multi/>
                     </properties>
                   </leafNode>
                   <leafNode name="description">
                     <properties>
                       <help>Interface description</help>
                       <constraint>
                         <regex>^.{1,256}$</regex>
                       </constraint>
                       <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage>
                     </properties>
                   </leafNode>
                   <node name="dhcp-options">
                     <properties>
                       <help>DHCP options</help>
                     </properties>
                     <children>
                       <leafNode name="client-id">
                         <properties>
                           <help>DHCP client identifier</help>
                         </properties>
                       </leafNode>
                       <leafNode name="host-name">
                         <properties>
                           <help>DHCP client host name (overrides the system host name)</help>
                         </properties>
                       </leafNode>
                     </children>
                   </node>
                   <node name="dhcpv6-options">
                     <properties>
                       <help>DHCPv6 options</help>
                       <priority>319</priority>
                     </properties>
                     <children>
                       <leafNode name="parameters-only">
                         <properties>
                           <help>Acquire only config parameters, no address</help>
                           <valueless/>
                         </properties>
                       </leafNode>
                       <leafNode name="temporary">
                         <properties>
                           <help>IPv6 "temporary" address</help>
                           <valueless/>
                         </properties>
                       </leafNode>
                     </children>
                   </node>
                   <leafNode name="disable-link-detect">
                     <properties>
                       <help>Ignore link state changes</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="disable">
                     <properties>
                       <help>Disable this bridge interface</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <node name="ip">
                     <children>
                       <leafNode name="enable-proxy-arp">
                         <properties>
                           <help>Enable proxy-arp on this interface</help>
                           <valueless/>
                         </properties>
                       </leafNode>
                       <leafNode name="proxy-arp-pvlan">
                         <properties>
                           <help>Enable private VLAN proxy ARP on this interface</help>
                           <valueless/>
                         </properties>
                       </leafNode>
                     </children>
                   </node>
                   <leafNode name="mac">
                     <properties>
                       <help>Media Access Control (MAC) address</help>
                       <valueHelp>
                         <format>h:h:h:h:h:h</format>
                         <description>Hardware (MAC) address</description>
                       </valueHelp>
                       <constraint>
                         <validator name="mac-address"/>
                       </constraint>
                     </properties>
                   </leafNode>
                   <leafNode name="mtu">
                     <properties>
                       <help>Maximum Transmission Unit (MTU)</help>
                       <valueHelp>
                         <format>68-9000</format>
                         <description>Maximum Transmission Unit</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 68-9000"/>
                       </constraint>
                       <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage>
                     </properties>
                   </leafNode>
                 </children>
               </tagNode>
             </children>
           </tagNode>
           <tagNode name="vif">
             <properties>
               <help>Virtual Local Area Network (VLAN) ID</help>
+              <valueHelp>
+                <format>0-4094</format>
+                <description>Virtual Local Area Network (VLAN) ID</description>
+              </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 0-4094"/>
               </constraint>
               <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
             </properties>
             <children>
               <leafNode name="address">
                 <properties>
                   <help>IP address</help>
                   <completionHelp>
                     <list>dhcp dhcpv6</list>
                   </completionHelp>
                   <valueHelp>
                     <format>ipv4net</format>
                     <description>IPv4 address and prefix length</description>
                   </valueHelp>
                   <valueHelp>
                     <format>ipv6net</format>
                     <description>IPv6 address and prefix length</description>
                   </valueHelp>
                   <valueHelp>
                     <format>dhcp</format>
                     <description>Dynamic Host Configuration Protocol</description>
                   </valueHelp>
                   <valueHelp>
                     <format>dhcpv6</format>
                     <description>Dynamic Host Configuration Protocol for IPv6</description>
                   </valueHelp>
                   <constraint>
                     <validator name="ip-cidr"/>
                     <regex>(dhcp|dhcpv6)</regex>
                   </constraint>
                   <multi/>
                 </properties>
               </leafNode>
               <leafNode name="description">
                 <properties>
                   <help>Interface description</help>
                   <constraint>
                     <regex>^.{1,256}$</regex>
                   </constraint>
                   <constraintErrorMessage>Interface description too long (limit 256 characters)</constraintErrorMessage>
                 </properties>
               </leafNode>
               <node name="dhcp-options">
                 <properties>
                   <help>DHCP options</help>
                 </properties>
                 <children>
                   <leafNode name="client-id">
                     <properties>
                       <help>DHCP client identifier</help>
                     </properties>
                   </leafNode>
                   <leafNode name="host-name">
                     <properties>
                       <help>DHCP client host name (overrides the system host name)</help>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <node name="dhcpv6-options">
                 <properties>
                   <help>DHCPv6 options</help>
                   <priority>319</priority>
                 </properties>
                 <children>
                   <leafNode name="parameters-only">
                     <properties>
                       <help>Acquire only config parameters, no address</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="temporary">
                     <properties>
                       <help>IPv6 "temporary" address</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <leafNode name="disable-link-detect">
                 <properties>
                   <help>Ignore link state changes</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="disable">
                 <properties>
                   <help>Disable this bridge interface</help>
                   <valueless/>
                 </properties>
               </leafNode>
               <leafNode name="egress-qos">
                 <properties>
                   <help>VLAN egress QoS</help>
                   <completionHelp>
                     <script>echo Format for qos mapping \"0:1 1:6 7:6\"</script>
                   </completionHelp>
                   <constraint>
                     <regex>[:0-7 ]+$</regex>
                   </constraint>
                   <constraintErrorMessage>QoS mapping should be in the format of \"0:7 2:3\" with numbers 0-9</constraintErrorMessage>
                 </properties>
               </leafNode>
               <leafNode name="ingress-qos">
                 <properties>
                   <help>VLAN ingress QoS</help>
                   <completionHelp>
                     <script>echo Format for qos mapping \"0:1 1:6 7:6\"</script>
                   </completionHelp>
                   <constraint>
                     <regex>[:0-7 ]+$</regex>
                   </constraint>
                   <constraintErrorMessage>QoS mapping should be in the format of \"0:7 2:3\" with numbers 0-9</constraintErrorMessage>
                 </properties>
               </leafNode>
               <node name="ip">
                 <children>
                   <leafNode name="arp-cache-timeout">
                     <properties>
                       <help>ARP cache entry timeout in seconds</help>
                       <valueHelp>
                         <format>1-86400</format>
                         <description>ARP cache entry timout in seconds (default 30)</description>
                       </valueHelp>
                       <constraint>
                         <validator name="numeric" argument="--range 1-86400"/>
                       </constraint>
                       <constraintErrorMessage>ARP cache entry timeout must be between 1 and 86400 seconds</constraintErrorMessage>
                     </properties>
                   </leafNode>
                   <leafNode name="enable-proxy-arp">
                     <properties>
                       <help>Enable proxy-arp on this interface</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                   <leafNode name="proxy-arp-pvlan">
                     <properties>
                       <help>Enable private VLAN proxy ARP on this interface</help>
                       <valueless/>
                     </properties>
                   </leafNode>
                 </children>
               </node>
               <leafNode name="mac">
                 <properties>
                   <help>Media Access Control (MAC) address</help>
                   <valueHelp>
                     <format>h:h:h:h:h:h</format>
                     <description>Hardware (MAC) address</description>
                   </valueHelp>
                   <constraint>
                     <validator name="mac-address"/>
                   </constraint>
                 </properties>
               </leafNode>
               <leafNode name="mtu">
                 <properties>
                   <help>Maximum Transmission Unit (MTU)</help>
                   <valueHelp>
                     <format>68-9000</format>
                     <description>Maximum Transmission Unit</description>
                   </valueHelp>
                   <constraint>
                     <validator name="numeric" argument="--range 68-9000"/>
                   </constraint>
                   <constraintErrorMessage>MTU must be between 68 and 9000</constraintErrorMessage>
                 </properties>
               </leafNode>
             </children>
           </tagNode>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>