diff --git a/interface-definitions/include/constraint/vrf.xml.i b/interface-definitions/include/constraint/vrf.xml.i
new file mode 100644
index 000000000..a1922bb6d
--- /dev/null
+++ b/interface-definitions/include/constraint/vrf.xml.i
@@ -0,0 +1,6 @@
+<!-- include start from constraint/vrf.xml.i -->
+<constraint>
+  <validator name="vrf-name"/>
+</constraint>
+<constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\nA name must starts from a letter.\n</constraintErrorMessage>
+<!-- include end -->
diff --git a/interface-definitions/include/interface/vrf.xml.i b/interface-definitions/include/interface/vrf.xml.i
index 8605f56e8..ef0058f86 100644
--- a/interface-definitions/include/interface/vrf.xml.i
+++ b/interface-definitions/include/interface/vrf.xml.i
@@ -1,14 +1,15 @@
 <!-- include start from interface/vrf.xml.i -->
 <leafNode name="vrf">
   <properties>
     <help>VRF instance name</help>
     <valueHelp>
       <format>txt</format>
       <description>VRF instance name</description>
     </valueHelp>
     <completionHelp>
       <path>vrf name</path>
     </completionHelp>
+    #include <include/constraint/vrf.xml.i>
   </properties>
 </leafNode>
 <!-- include end -->
diff --git a/interface-definitions/vrf.xml.in b/interface-definitions/vrf.xml.in
index 25f26d0cc..94ed96e4b 100644
--- a/interface-definitions/vrf.xml.in
+++ b/interface-definitions/vrf.xml.in
@@ -1,144 +1,141 @@
 <?xml version="1.0"?>
 <interfaceDefinition>
   <node name="vrf" owner="${vyos_conf_scripts_dir}/vrf.py">
     <properties>
       <help>Virtual Routing and Forwarding</help>
       <!-- must be before any interface, check /opt/vyatta/sbin/priority.pl -->
       <priority>11</priority>
     </properties>
     <children>
       <leafNode name="bind-to-all">
         <properties>
           <help>Enable binding services to all VRFs</help>
           <valueless/>
         </properties>
       </leafNode>
       <tagNode name="name">
         <properties>
           <help>Virtual Routing and Forwarding instance</help>
-          <constraint>
-            <validator name="vrf-name"/>
-          </constraint>
-          <constraintErrorMessage>VRF instance name must be 15 characters or less and can not\nbe named as regular network interfaces.\nA name must starts from a letter.\n</constraintErrorMessage>
+          #include <include/constraint/vrf.xml.i>
           <valueHelp>
             <format>txt</format>
             <description>VRF instance name</description>
           </valueHelp>
         </properties>
         <children>
           #include <include/generic-description.xml.i>
           #include <include/interface/disable.xml.i>
           <node name="ip">
             <properties>
               <help>IPv4 routing parameters</help>
             </properties>
             <children>
               #include <include/interface/disable-forwarding.xml.i>
               #include <include/system-ip-nht.xml.i>
               #include <include/system-ip-protocol.xml.i>
             </children>
           </node>
           <node name="ipv6">
             <properties>
               <help>IPv6 routing parameters</help>
             </properties>
             <children>
               #include <include/interface/disable-forwarding.xml.i>
               #include <include/system-ip-nht.xml.i>
               #include <include/system-ipv6-protocol.xml.i>
             </children>
           </node>
           <node name="protocols">
             <properties>
               <help>Routing protocol parameters</help>
             </properties>
             <children>
               <node name="bgp" owner="${vyos_conf_scripts_dir}/protocols_bgp.py $VAR(../../@)">
                 <properties>
                   <help>Border Gateway Protocol (BGP)</help>
                   <priority>821</priority>
                 </properties>
                 <children>
                   #include <include/bgp/protocol-common-config.xml.i>
                 </children>
               </node>
               <node name="eigrp" owner="${vyos_conf_scripts_dir}/protocols_eigrp.py $VAR(../../@)">
                 <properties>
                   <help>Enhanced Interior Gateway Routing Protocol (EIGRP)</help>
                   <priority>821</priority>
                 </properties>
                 <children>
                   #include <include/eigrp/protocol-common-config.xml.i>
                 </children>
               </node>
               <node name="isis" owner="${vyos_conf_scripts_dir}/protocols_isis.py $VAR(../../@)">
                 <properties>
                   <help>Intermediate System to Intermediate System (IS-IS)</help>
                   <priority>611</priority>
                 </properties>
                 <children>
                   #include <include/isis/protocol-common-config.xml.i>
                 </children>
               </node>
               <node name="ospf" owner="${vyos_conf_scripts_dir}/protocols_ospf.py $VAR(../../@)">
                 <properties>
                   <help>Open Shortest Path First (OSPF)</help>
                   <priority>621</priority>
                 </properties>
                 <children>
                   #include <include/ospf/protocol-common-config.xml.i>
                 </children>
               </node>
               <node name="ospfv3" owner="${vyos_conf_scripts_dir}/protocols_ospfv3.py $VAR(../../@)">
                 <properties>
                   <help>Open Shortest Path First (OSPF) for IPv6</help>
                   <priority>621</priority>
                 </properties>
                 <children>
                   #include <include/ospfv3/protocol-common-config.xml.i>
                 </children>
               </node>
               <node name="static" owner="${vyos_conf_scripts_dir}/protocols_static.py $VAR(../../@)">
                 <properties>
                   <help>Static Routing</help>
                   <priority>481</priority>
                 </properties>
                 <children>
                   #include <include/static/static-route.xml.i>
                   #include <include/static/static-route6.xml.i>
                 </children>
               </node>
             </children>
           </node>
           <leafNode name="table">
             <properties>
               <help>Routing table associated with this instance</help>
               <valueHelp>
                 <format>u32:100-65535</format>
                 <description>Routing table ID</description>
               </valueHelp>
               <constraint>
                 <validator name="numeric" argument="--range 100-65535"/>
               </constraint>
               <constraintErrorMessage>VRF routing table must be in range from 100 to 65535</constraintErrorMessage>
             </properties>
           </leafNode>
           <leafNode name="vni" owner="${vyos_conf_scripts_dir}/vrf_vni.py $VAR(../@)">
             <properties>
               <help>Virtual Network Identifier</help>
               <!-- must be after BGP to keep correct order when removing L3VNIs in FRR -->
               <priority>822</priority>
               <valueHelp>
                 <format>u32: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>