+// SPDX-License-Identifier: BSD-2-Clause
module frr-pim-rp {
yang-version "1.1";
namespace "http://frrouting.org/yang/pim-rp";
prefix "inet";
}
- import ietf-routing-types {
- prefix "rt-types";
- }
-
import frr-routing {
prefix "frr-rt";
}
prefix "frr-pim";
}
+ import frr-route-types {
+ prefix frr-route-types;
+ }
+
organization
"FRRouting";
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
"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;
}
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.";
}