Upgrade ietf-{inet,yang}-types to 2013-07-15
[bgpcep.git] / bgp / parser-api / src / main / yang / bgp-message.yang
index a1f51de81f3f0a684174d90a1c29f315e478ed36..b5fb116bf99e3e31cbde69f0141affdb6eabd76e 100644 (file)
@@ -3,7 +3,7 @@ module bgp-message {
     namespace "urn:opendaylight:params:xml:ns:yang:bgp-message";
     prefix "bgp-msg";
 
-    import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
+    import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
     import bgp-types { prefix bgp-t; revision-date 2013-09-19; }
     import network-concepts { prefix netc; revision-date 2013-11-25; }
 
@@ -38,6 +38,21 @@ module bgp-message {
         }
     }
 
+    typedef path-id {
+        type uint32;
+        default 0;
+        description
+            "Identifier of a single path. The identifier does not
+             carry any semantic meaning beyond uniquely identifying
+             a path.";
+    }
+
+    grouping path-id-grouping {
+        leaf path-id {
+            type path-id;
+        }
+    }
+
     grouping originator-id {
         leaf originator {
             type inet:ipv4-address;
@@ -47,10 +62,15 @@ module bgp-message {
     grouping cluster-id {
         leaf-list cluster {
             type bgp-t:cluster-identifier;
+            ordered-by user;
         }
     }
 
     notification open {
+        uses open-message;
+    }
+
+    grouping open-message {
         description "Open Message";
         reference "http://tools.ietf.org/html/rfc4271#section-4.2";
         leaf version {
@@ -72,15 +92,17 @@ module bgp-message {
         list bgp-parameters {
             list optional-capabilities {
                 reference "http://tools.ietf.org/html/rfc5492#section-4";
-                choice c-parameters {
-                    case as4-bytes-case {
-                        container as4-bytes-capability {
-                            reference "http://tools.ietf.org/html/rfc6793";
-                            leaf as-number {
-                                type inet:as-number;
-                            }
+                container c-parameters {
+                    container as4-bytes-capability {
+                        reference "http://tools.ietf.org/html/rfc6793";
+                        leaf as-number {
+                            type inet:as-number;
                         }
                     }
+                    container bgp-extended-message-capability {
+                        reference "https://www.ietf.org/archive/id/draft-ietf-idr-bgp-extended-messages-11.txt";
+                        presence "Indicates peer is able to send/receive 64K messages";
+                    }
                 }
             }
         }
@@ -162,10 +184,22 @@ module bgp-message {
                     mandatory true;
                 }
             }
+            container bgp-prefix-sid {
+                list bgp-prefix-sid-tlvs {
+                    choice bgp-prefix-sid-tlv {
+                        reference "https://tools.ietf.org/html/draft-ietf-idr-bgp-prefix-sid-02";
+                        // to be augmented
+                    }
+                }
+            }
         }
     }
 
     notification update {
+        uses update-message;
+    }
+
+    grouping update-message {
         description "Update Message";
         reference "http://tools.ietf.org/html/rfc4271#section-4.3";
         uses path-attributes;
@@ -187,6 +221,10 @@ module bgp-message {
     }
 
     notification notify {
+        uses notify-message;
+    }
+
+    grouping notify-message {
         description "Notification Message";
         reference "http://tools.ietf.org/html/rfc4271#section-4.5";