]> git.proxmox.com Git - mirror_frr.git/blobdiff - yang/frr-pim-rp.yang
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / yang / frr-pim-rp.yang
index fb0a5aa20932ef7c971c7336a2c762d3ab73db2e..4cc214135df4aa736cf66cfd17b7b9c74fecbe79 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: BSD-2-Clause
 module frr-pim-rp {
   yang-version "1.1";
   namespace "http://frrouting.org/yang/pim-rp";
@@ -8,10 +9,6 @@ module frr-pim-rp {
     prefix "inet";
   }
 
-  import ietf-routing-types {
-    prefix "rt-types";
-  }
-
   import frr-routing {
     prefix "frr-rt";
   }
@@ -20,6 +17,10 @@ module frr-pim-rp {
     prefix "frr-pim";
   }
 
+  import frr-route-types {
+    prefix frr-route-types;
+  }
+
   organization
     "FRRouting";
 
@@ -29,7 +30,32 @@ module frr-pim-rp {
 
   description
     "The module defines a collection of YANG definitions common for
-     all PIM (Protocol Independent Multicast) RP (Rendezvous Point) model.";
+     all PIM (Protocol Independent Multicast) RP (Rendezvous Point) model.
+
+     Copyright 2020 FRRouting
+
+     Redistribution and use in source and binary forms, with or without
+     modification, are permitted provided that the following conditions
+     are met:
+
+     1. Redistributions of source code must retain the above copyright notice,
+     this list of conditions and the following disclaimer.
+
+     2. Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in the
+     documentation and/or other materials provided with the distribution.
+
+     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+     \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+     HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
 
   revision 2017-03-09 {
     description
@@ -38,37 +64,6 @@ module frr-pim-rp {
       "RFC XXXX: A YANG Data Model for PIM RP";
   }
 
-  typedef ipv4-multicast-group-address-prefix {
-    type inet:ipv4-prefix{
-      pattern '(2((2[4-9])|(3[0-9]))\.)(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){2}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(/(([4-9])|([1-2][0-9])|(3[0-2])))';
-    }
-    description
-      "This type represents an IPv4 multicast group prefix,
-       which is in the range from 224.0.0.0 to 239.255.255.255.";
-    }
-
-  typedef ipv6-multicast-group-address-prefix {
-    type inet:ipv6-prefix {
-      pattern
-        '(((FF|ff)[0-9a-fA-F]{2}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(/((1[6-9])|([2-9][0-9])|(1[0-1][0-9])|(12[0-8])))';
-      pattern
-        '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)';
-    }
-    description
-      "This type represents an IPv6 multicast group prefix,
-       which is in the range of FF00::/8.";
-  }
-
-  typedef ip-multicast-group-address-prefix {
-    description "The IP-Multicast-Group-Address-Prefix type represents an IP multicast address
-    prefix and is IP version neutral. The format of the textual representations implies the IP
-    version. It includes a prefix-length, separated by a '/' sign.";
-    type union {
-      type ipv4-multicast-group-address-prefix;
-      type ipv6-multicast-group-address-prefix;
-    }
-  } // typedef ip-multicast-group-address-prefix
-
   typedef plist-ref {
     type string;
   }
@@ -99,7 +94,7 @@ module frr-pim-rp {
           description "Use group-list or prefix-list";
           case group-list {
             leaf-list group-list{
-              type ip-multicast-group-address-prefix;  
+              type frr-route-types:ip-multicast-group-prefix;
               description
                 "List of multicast group address.";
             }