Move route target ext comm container
[bgpcep.git] / bgp / concepts / src / main / yang / bgp-types.yang
index 24d202fefe521f4164d295d12244f725c35e7589..b19b1ded0e9a1903b267ace001f52c412be5b902 100644 (file)
@@ -301,6 +301,38 @@ module bgp-types {
         }
     }
 
+    grouping route-target-extended-community-grouping {
+        container route-target-extended-community {
+            description "Type 0x00 / Subtype 0x02";
+            reference "http://tools.ietf.org/html/rfc4360#section-4";
+
+            leaf global-administrator {
+                type short-as-number;
+            }
+            leaf local-administrator {
+                type binary {
+                    length "4";
+                }
+            }
+        }
+    }
+
+    grouping route-target-ipv4-grouping {
+        container route-target-ipv4 {
+            description "Type 0x01 / Subtype 0x02";
+            reference "http://tools.ietf.org/html/rfc4360#section-4";
+            uses route-ipv4-extended-community;
+        }
+    }
+
+    grouping as-4-route-target-extended-community-grouping {
+        container as-4-route-target-extended-community {
+            description "Type 0x02 / Subtype 0x02";
+            reference "https://tools.ietf.org/html/rfc5668";
+            uses as-4-spec-common;
+        }
+    }
+
     grouping extended-community {
         leaf transitive {
             type boolean;
@@ -343,16 +375,13 @@ module bgp-types {
                 }
             }
             case route-target-extended-community-case {
-                container route-target-extended-community {
-                    leaf global-administrator {
-                        type short-as-number;
-                    }
-                    leaf local-administrator {
-                        type binary {
-                            length "4";
-                        }
-                    }
-                }
+                uses route-target-extended-community-grouping;
+            }
+            case route-target-ipv4-case {
+                uses route-target-ipv4-grouping;
+            }
+            case as-4-route-target-extended-community-case {
+                uses as-4-route-target-extended-community-grouping;
             }
             case route-origin-extended-community-case {
                 container route-origin-extended-community {
@@ -366,12 +395,6 @@ module bgp-types {
                     }
                 }
             }
-            case route-target-ipv4-case {
-                container route-target-ipv4 {
-                    reference "http://tools.ietf.org/html/rfc4360#section-4";
-                    uses route-ipv4-extended-community;
-                }
-            }
             case route-origin-ipv4-case {
                 container route-origin-ipv4 {
                     reference "http://tools.ietf.org/html/rfc4360#section-5";
@@ -389,12 +412,6 @@ module bgp-types {
                     uses as-4-spec-common;
                 }
             }
-            case as-4-route-target-extended-community-case {
-                container as-4-route-target-extended-community {
-                    reference "https://tools.ietf.org/html/rfc5668";
-                    uses as-4-spec-common;
-                }
-            }
             case as-4-route-origin-extended-community-case {
                 container as-4-route-origin-extended-community {
                     reference "https://tools.ietf.org/html/rfc5668";