3 namespace "http://frrouting.org/yang/pim-rp";
7 import ietf-inet-types {
11 import ietf-routing-types {
27 "FRR Users List: <mailto:frog@lists.frrouting.org>
28 FRR Development List: <mailto:dev@lists.frrouting.org>";
31 "The module defines a collection of YANG definitions common for
32 all PIM (Protocol Independent Multicast) RP (Rendezvous Point) model.";
38 "RFC XXXX: A YANG Data Model for PIM RP";
41 typedef ipv4-multicast-group-address-prefix {
42 type inet:ipv4-prefix{
43 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])))';
46 "This type represents an IPv4 multicast group prefix,
47 which is in the range from 224.0.0.0 to 239.255.255.255.";
50 typedef ipv6-multicast-group-address-prefix {
51 type inet:ipv6-prefix {
53 '(((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])))';
55 '(([^:]+:){6}(([^:]+:[^:]+)|(.*\..*)))|((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(/.+)';
58 "This type represents an IPv6 multicast group prefix,
59 which is in the range of FF00::/8.";
62 typedef ip-multicast-group-address-prefix {
63 description "The IP-Multicast-Group-Address-Prefix type represents an IP multicast address
64 prefix and is IP version neutral. The format of the textual representations implies the IP
65 version. It includes a prefix-length, separated by a '/' sign.";
67 type ipv4-multicast-group-address-prefix;
68 type ipv6-multicast-group-address-prefix;
70 } // typedef ip-multicast-group-address-prefix
79 grouping static-rp-container {
81 "Grouping of static RP container.";
85 "Containing static RP attributes.";
90 "A list of RP addresses.";
95 "Specifies a static RP address.";
98 choice group-list-or-prefix-list {
99 description "Use group-list or prefix-list";
101 leaf-list group-list{
102 type ip-multicast-group-address-prefix;
104 "List of multicast group address.";
111 "Group prefix-list filter";
117 } // static-rp-container
120 * Configuration data nodes
122 augment "/frr-rt:routing/frr-rt:control-plane-protocols/"
123 + "frr-rt:control-plane-protocol/frr-pim:pim/"
124 + "frr-pim:address-family" {
125 description "PIM RP augmentation.";
129 "PIM RP configuration data.";
130 uses static-rp-container;