diff --git a/interface-definitions/include/interface-mtu-1450-9000.xml.i b/interface-definitions/include/interface-mtu-1450-9000.xml.i
new file mode 100644
index 000000000..87296a050
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-1450-9000.xml.i
@@ -0,0 +1,13 @@
+<leafNode name="mtu">
+  <properties>
+    <help>Maximum Transmission Unit (MTU)</help>
+    <valueHelp>
+      <format>1450-9000</format>
+      <description>Maximum Transmission Unit</description>
+    </valueHelp>
+    <constraint>
+      <validator name="numeric" argument="--range 1450-9000"/>
+    </constraint>
+    <constraintErrorMessage>MTU must be between 1450 and 9000</constraintErrorMessage>
+  </properties>
+</leafNode>
diff --git a/interface-definitions/include/interface-mtu-68-9000.xml.i b/interface-definitions/include/interface-mtu-68-9000.xml.i
new file mode 100644
index 000000000..ad11afa80
--- /dev/null
+++ b/interface-definitions/include/interface-mtu-68-9000.xml.i
@@ -0,0 +1,13 @@
+<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>
diff --git a/interface-definitions/include/vif-s.xml.i b/interface-definitions/include/vif-s.xml.i
index 3cb28d7e0..a109eed6b 100644
--- a/interface-definitions/include/vif-s.xml.i
+++ b/interface-definitions/include/vif-s.xml.i
@@ -1,90 +1,66 @@
 <tagNode name="vif-s">
   <properties>
     <help>QinQ TAG-S Virtual Local Area Network (VLAN) ID</help>
     <constraint>
       <validator name="numeric" argument="--range 0-4094"/>
     </constraint>
     <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
   </properties>
   <children>
     #include <include/address-ipv4-ipv6-dhcp.xml.i>
     #include <include/interface-description.xml.i>
     #include <include/dhcp-dhcpv6-options.xml.i>
     <leafNode name="disable-link-detect">
       <properties>
         <help>Ignore link state changes</help>
         <valueless/>
       </properties>
     </leafNode>
     #include <include/interface-disable.xml.i>
     <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>
     #include <include/interface-mac.xml.i>
-    <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>
+    #include <include/interface-mtu-68-9000.xml.i>
     <tagNode name="vif-c">
       <properties>
         <help>QinQ TAG-C Virtual Local Area Network (VLAN) ID</help>
         <constraint>
           <validator name="numeric" argument="--range 0-4094"/>
         </constraint>
         <constraintErrorMessage>VLAN ID must be between 0 and 4094</constraintErrorMessage>
       </properties>
       <children>
         #include <include/address-ipv4-ipv6-dhcp.xml.i>
         #include <include/interface-description.xml.i>
         #include <include/dhcp-dhcpv6-options.xml.i>
         <leafNode name="disable-link-detect">
           <properties>
             <help>Ignore link state changes</help>
             <valueless/>
           </properties>
         </leafNode>
         #include <include/interface-disable.xml.i>
         #include <include/interface-mac.xml.i>
-        <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>
+        #include <include/interface-mtu-68-9000.xml.i>
       </children>
     </tagNode>
   </children>
 </tagNode>
diff --git a/interface-definitions/include/vif.xml.i b/interface-definitions/include/vif.xml.i
index 954803319..c74d7815e 100644
--- a/interface-definitions/include/vif.xml.i
+++ b/interface-definitions/include/vif.xml.i
@@ -1,92 +1,80 @@
 <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>
     #include <include/address-ipv4-ipv6-dhcp.xml.i>
     #include <include/interface-description.xml.i>
     #include <include/dhcp-dhcpv6-options.xml.i>
     <leafNode name="disable-link-detect">
       <properties>
         <help>Ignore link state changes</help>
         <valueless/>
       </properties>
     </leafNode>
     #include <include/interface-disable.xml.i>
     <leafNode name="egress-qos">
       <properties>
         <help>VLAN egress QoS</help>
         <completionHelp>
           <script>echo Format for qos mapping, e.g.: '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>
     #include <include/interface-mac.xml.i>
-    <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>
+    #include <include/interface-mtu-68-9000.xml.i>
   </children>
 </tagNode>
diff --git a/interface-definitions/interfaces-bonding.xml.in b/interface-definitions/interfaces-bonding.xml.in
index c36001d5d..71d1672bb 100644
--- a/interface-definitions/interfaces-bonding.xml.in
+++ b/interface-definitions/interfaces-bonding.xml.in
@@ -1,198 +1,186 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="bonding" owner="${vyos_conf_scripts_dir}/interfaces-bonding.py">
         <properties>
           <help>Bonding interface name</help>
           <priority>320</priority>
           <constraint>
             <regex>bond[0-9]+$</regex>
           </constraint>
           <constraintErrorMessage>Bonding interface must be named bondN</constraintErrorMessage>
           <valueHelp>
             <format>bondN</format>
             <description>Bonding interface name</description>
           </valueHelp>
         </properties>
         <children>
           #include <include/address-ipv4-ipv6-dhcp.xml.i>
           <node name="arp-monitor">
             <properties>
               <help>ARP link monitoring parameters</help>
             </properties>
             <children>
               <leafNode name="interval">
                 <properties>
                   <help>ARP link monitoring interval</help>
                   <valueHelp>
                     <format>0-4294967295</format>
                     <description>Specifies the ARP link monitoring frequency in milliseconds</description>
                   </valueHelp>
                   <constraint>
                     <validator name="numeric" argument="--range 0-4294967295"/>
                   </constraint>
                 </properties>
               </leafNode>
               <leafNode name="target">
                 <properties>
                   <help>IP address used for ARP monitoring</help>
                   <valueHelp>
                     <format>ipv4</format>
                     <description>Network Time Protocol (NTP) IPv4 address</description>
                   </valueHelp>
                   <constraint>
                     <validator name="ipv4-address"/>
                   </constraint>
                   <multi/>
                 </properties>
               </leafNode>
             </children>
           </node>
           #include <include/interface-description.xml.i>
           #include <include/dhcp-dhcpv6-options.xml.i>
           <leafNode name="disable-link-detect">
             <properties>
               <help>Ignore link state changes</help>
               <valueless/>
             </properties>
           </leafNode>
           #include <include/interface-disable.xml.i>
           <leafNode name="hash-policy">
             <properties>
               <help>Bonding transmit hash policy</help>
               <completionHelp>
                 <list>layer2 layer2+3 layer3+4</list>
               </completionHelp>
               <valueHelp>
                 <format>layer2</format>
                 <description>use MAC addresses to generate the hash (802.3ad, default)</description>
               </valueHelp>
               <valueHelp>
                 <format>layer2+3</format>
                 <description>combine MAC address and IP address to make hash</description>
               </valueHelp>
               <valueHelp>
                 <format>layer3+4</format>
                 <description>combine IP address and port to make hash</description>
               </valueHelp>
               <constraint>
                 <regex>(layer2\+3|layer3\+4|layer2)</regex>
               </constraint>
               <constraintErrorMessage>hash-policy must be layer2 layer2+3 or layer3+4</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>
           #include <include/interface-mac.xml.i>
           <leafNode name="mode">
             <properties>
               <help>Bonding mode</help>
               <completionHelp>
                 <list>802.3ad active-backup broadcast round-robin transmit-load-balance adaptive-load-balance xor-hash</list>
               </completionHelp>
               <valueHelp>
                 <format>802.3ad</format>
                 <description>IEEE 802.3ad Dynamic link aggregation (Default)</description>
               </valueHelp>
               <valueHelp>
                 <format>active-backup</format>
                 <description>Fault tolerant: only one slave in the bond is active</description>
               </valueHelp>
               <valueHelp>
                 <format>broadcast</format>
                 <description>Fault tolerant: transmits everything on all slave interfaces</description>
               </valueHelp>
               <valueHelp>
                 <format>round-robin</format>
                 <description>Load balance: transmit packets in sequential order</description>
               </valueHelp>
               <valueHelp>
                 <format>transmit-load-balance</format>
                 <description>Load balance: adapts based on transmit load and speed</description>
               </valueHelp>
               <valueHelp>
                 <format>adaptive-load-balance</format>
                 <description>Load balance: adapts based on transmit and receive plus ARP</description>
               </valueHelp>
               <valueHelp>
                 <format>xor-hash</format>
                 <description>Distribute based on MAC address</description>
               </valueHelp>
               <constraint>
                 <regex>(802.3ad|active-backup|broadcast|round-robin|transmit-load-balance|adaptive-load-balance|xor-hash)</regex>
               </constraint>
               <constraintErrorMessage>mode must be 802.3ad, active-backup, broadcast, round-robin, transmit-load-balance, adaptive-load-balance, or xor</constraintErrorMessage>
             </properties>
           </leafNode>
           <node name="member">
             <properties>
               <help>Bridge member interfaces</help>
             </properties>
             <children>
               <leafNode name="interface">
                 <properties>
                   <help>Member interface name</help>
                   <completionHelp>
                     <script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
                   </completionHelp>
                   <multi/>
                 </properties>
               </leafNode>
             </children>
           </node>
-          <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>
+          #include <include/interface-mtu-68-9000.xml.i>
           <leafNode name="primary">
             <properties>
               <help>Primary device interface</help>
               <completionHelp>
                 <script>${vyos_completion_dir}/list_interfaces.py --bondable</script>
               </completionHelp>
             </properties>
           </leafNode>
           #include <include/vif-s.xml.i>
           #include <include/vif.xml.i>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>
diff --git a/interface-definitions/interfaces-ethernet.xml.in b/interface-definitions/interfaces-ethernet.xml.in
index dec2619ee..96f7a9454 100644
--- a/interface-definitions/interfaces-ethernet.xml.in
+++ b/interface-definitions/interfaces-ethernet.xml.in
@@ -1,312 +1,300 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="ethernet" owner="${vyos_conf_scripts_dir}/interfaces-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>
           #include <include/address-ipv4-ipv6-dhcp.xml.i>
           #include <include/interface-description.xml.i>
           #include <include/dhcp-dhcpv6-options.xml.i>
           <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>
           #include <include/interface-disable.xml.i>
           <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>
           #include <include/interface-mac.xml.i>
-          <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>
+          #include <include/interface-mtu-68-9000.xml.i>
           <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>
           #include <include/vif-s.xml.i>
           #include <include/vif.xml.i>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>
diff --git a/interface-definitions/interfaces-geneve.xml.in b/interface-definitions/interfaces-geneve.xml.in
index 146c40152..5a8c1136b 100644
--- a/interface-definitions/interfaces-geneve.xml.in
+++ b/interface-definitions/interfaces-geneve.xml.in
@@ -1,89 +1,77 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="geneve" owner="${vyos_conf_scripts_dir}/interfaces-geneve.py">
         <properties>
           <help>Generic Network Virtualization Encapsulation (GENEVE)</help>
           <priority>460</priority>
           <constraint>
             <regex>gnv[0-9]+$</regex>
           </constraint>
           <constraintErrorMessage>GENEVE interface must be named gnvN</constraintErrorMessage>
           <valueHelp>
             <format>gnvN</format>
             <description>GENEVE interface name</description>
           </valueHelp>
         </properties>
         <children>
           #include <include/address-ipv4-ipv6.xml.i>
           #include <include/interface-description.xml.i>
           #include <include/interface-disable.xml.i>
           <node name="ip">
             <properties>
               <help>IPv4 routing parameters</help>
             </properties>
             <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>
             </children>
           </node>
-          <leafNode name="mtu">
-            <properties>
-              <help>Maximum Transmission Unit (MTU)</help>
-              <valueHelp>
-                <format>1450-9000</format>
-                <description>Maximum Transmission Unit</description>
-              </valueHelp>
-              <constraint>
-                <validator name="numeric" argument="--range 1500-9000"/>
-              </constraint>
-              <constraintErrorMessage>MTU must be between 1500 and 9000</constraintErrorMessage>
-            </properties>
-          </leafNode>
+          #include <include/interface-mtu-1450-9000.xml.i>
           <leafNode name="remote">
             <properties>
               <help>Remote address of GENEVE tunnel</help>
               <valueHelp>
                 <format>ipv4</format>
                 <description>Remote address of GENEVE tunnel</description>
               </valueHelp>
               <constraint>
                 <validator name="ipv4-address"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="vni">
             <properties>
               <help>Virtual Network Identifier</help>
               <valueHelp>
                 <format>0-16777214</format>
                 <description>GENEVE virtual network identifier</description>
               </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 0-16777214"/>
               </constraint>
             </properties>
           </leafNode>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>
diff --git a/interface-definitions/interfaces-vxlan.xml.in b/interface-definitions/interfaces-vxlan.xml.in
index 5be7125ce..01a1c68bd 100644
--- a/interface-definitions/interfaces-vxlan.xml.in
+++ b/interface-definitions/interfaces-vxlan.xml.in
@@ -1,122 +1,110 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="interfaces">
     <children>
       <tagNode name="vxlan" owner="${vyos_conf_scripts_dir}/interfaces-vxlan.py">
         <properties>
           <help>Virtual extensible LAN interface (VXLAN)</help>
           <priority>460</priority>
           <constraint>
             <regex>vxlan[0-9]+$</regex>
           </constraint>
           <constraintErrorMessage>VXLAN interface must be named vxlanN</constraintErrorMessage>
           <valueHelp>
             <format>vxlanN</format>
             <description>VXLAN interface name</description>
           </valueHelp>
         </properties>
         <children>
           #include <include/address-ipv4-ipv6.xml.i>
           #include <include/interface-description.xml.i>
           #include <include/interface-disable.xml.i>
           <leafNode name="group">
             <properties>
               <help>Multicast group address for VXLAN interface</help>
               <valueHelp>
                 <format>ipv4</format>
                 <description>Multicast group address</description>
               </valueHelp>
               <constraint>
                 <validator name="ipv4-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>
             </children>
           </node>
           <leafNode name="link">
             <properties>
               <help>Underlay device of VXLAN interface</help>
               <valueHelp>
                 <format>interface</format>
                 <description>Interface used for VXLAN underlay</description>
               </valueHelp>
               <completionHelp>
                 <script>${vyos_completion_dir}/list_interfaces.py</script>
               </completionHelp>
             </properties>
           </leafNode>
-          <leafNode name="mtu">
-            <properties>
-              <help>Maximum Transmission Unit (MTU)</help>
-              <valueHelp>
-                <format>1450-9000</format>
-                <description>Maximum Transmission Unit</description>
-              </valueHelp>
-              <constraint>
-                <validator name="numeric" argument="--range 1450-9000"/>
-              </constraint>
-              <constraintErrorMessage>MTU must be between 1450 and 9000</constraintErrorMessage>
-            </properties>
-          </leafNode>
+          #include <include/interface-mtu-1450-9000.xml.i>
           <leafNode name="remote">
             <properties>
               <help>Remote address of VXLAN tunnel</help>
               <valueHelp>
                 <format>ipv4</format>
                 <description>Remote address of VXLAN tunnel</description>
               </valueHelp>
               <constraint>
                 <validator name="ipv4-address"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="port">
             <properties>
               <help>Destination port of VXLAN tunnel (default: 8472)</help>
               <valueHelp>
                 <format>1-65535</format>
                 <description>Numeric IP port</description>
               </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 1-65535"/>
               </constraint>
             </properties>
           </leafNode>
           <leafNode name="vni">
             <properties>
               <help>Virtual Network Identifier</help>
               <valueHelp>
                 <format>0-16777214</format>
                 <description>VXLAN virtual network identifier</description>
               </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 0-16777214"/>
               </constraint>
             </properties>
           </leafNode>
         </children>
       </tagNode>
     </children>
   </node>
 </interfaceDefinition>