--- /mnt/c/Users/donfe/Downloads/ieee802-dot1q-bridge.yang.txt	2020-05-21 19:30:47.849418300 -0400
+++ /mnt/c/Users/donfe/Downloads/ieee802-dot1q-bridge.yang	2020-05-21 19:19:14.040674400 -0400
@@ -1160,8 +1160,19 @@
       description
         "Bridge Port is an extension of the IETF Interfaces model
         (RFC7223).";
+      leaf bridge-name {
+        type leafref {
+          path "/dot1q:bridges/dot1q:bridge/dot1q:name";
+        }
+        // mandatory true; yang 1.1 only
+        description
+          "Used to reference configured Bridge node.";
+      }
       leaf component-name {
-        type string;
+        type leafref {
+          path "/dot1q:bridges/dot1q:bridge[dot1q:name=current()/../bridge-name]/dot1q:component/dot1q:name";
+        }
+        // mandatory true; yang 1.1 only
         description
           "Used to reference configured Component node.";
       }
@@ -1175,7 +1186,9 @@
           "12.4.2.1 of IEEE Std 802.1Q-2018";
       }
       leaf pvid {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1302,7 +1315,9 @@
         uses dot1qtypes:traffic-class-table-grouping;
       }
       leaf acceptable-frame {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1329,7 +1344,9 @@
           6.9 of IEEE Std 802.1Q-2018";
       }
       leaf enable-ingress-filtering {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1343,7 +1360,9 @@
           8.6.2 of IEEE Std 802.1Q-2018";
       }
       leaf enable-restricted-vlan-registration {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1357,7 +1376,9 @@
           12.10.1.6 of IEEE Std 802.1Q-2018";
       }
       leaf enable-vid-translation-table {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1372,7 +1393,9 @@
           6.9 of IEEE Std 802.1Q-2018";
       }
       leaf enable-egress-vid-translation-table {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1387,7 +1410,9 @@
           6.9 of IEEE Std 802.1Q-2018";
       }
       list protocol-group-vid-set {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1457,7 +1482,9 @@
           6.8.2 of IEEE Std 802.1Q-2018";
       }
       leaf protocol-based-vlan-classification {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1471,7 +1498,9 @@
           "5.4.1.2 of IEEE Std 802.1Q-2018";
       }
       leaf max-vid-set-entries {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1654,7 +1683,9 @@
           with the bridge port.";
         uses dot1qtypes:bridge-port-statistics-grouping;
         leaf discard-on-ingress-filtering {
-          when "../../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
             description
               "Applies to non TPMRs";
           }
@@ -1672,7 +1703,9 @@
         }
       }
       list vid-translations {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
@@ -1713,7 +1746,9 @@
         }
       }
       list egress-vid-translations {
-        when "../component-name != 'd-bridge-component'" {
+	 when "/dot1q:bridges/dot1q:bridge[dot1q:name=current()"+
+	 "/../dot1q:bridge-name]/dot1q:component[name=current()"+
+	 "/../dot1q:component-name]/dot1q:type != 'd-bridge-component'" {  
           description
             "Applies to non TPMRs";
         }
