]> git.proxmox.com Git - mirror_frr.git/blob - yang/frr-pim-rp.yang
Merge pull request #13276 from pguibert6WIND/explicit_null_complement
[mirror_frr.git] / yang / frr-pim-rp.yang
1 // SPDX-License-Identifier: BSD-2-Clause
2 module frr-pim-rp {
3 yang-version "1.1";
4 namespace "http://frrouting.org/yang/pim-rp";
5
6 prefix frr-pim-rp;
7
8 import ietf-inet-types {
9 prefix "inet";
10 }
11
12 import frr-routing {
13 prefix "frr-rt";
14 }
15
16 import frr-pim {
17 prefix "frr-pim";
18 }
19
20 import frr-route-types {
21 prefix frr-route-types;
22 }
23
24 organization
25 "FRRouting";
26
27 contact
28 "FRR Users List: <mailto:frog@lists.frrouting.org>
29 FRR Development List: <mailto:dev@lists.frrouting.org>";
30
31 description
32 "The module defines a collection of YANG definitions common for
33 all PIM (Protocol Independent Multicast) RP (Rendezvous Point) model.
34
35 Copyright 2020 FRRouting
36
37 Redistribution and use in source and binary forms, with or without
38 modification, are permitted provided that the following conditions
39 are met:
40
41 1. Redistributions of source code must retain the above copyright notice,
42 this list of conditions and the following disclaimer.
43
44 2. Redistributions in binary form must reproduce the above copyright
45 notice, this list of conditions and the following disclaimer in the
46 documentation and/or other materials provided with the distribution.
47
48 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
49 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
50 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
51 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
52 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
53 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
54 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
55 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
56 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
57 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
58 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
59
60 revision 2017-03-09 {
61 description
62 "Initial revision.";
63 reference
64 "RFC XXXX: A YANG Data Model for PIM RP";
65 }
66
67 typedef plist-ref {
68 type string;
69 }
70
71 /*
72 * Groupings
73 */
74 grouping static-rp-container {
75 description
76 "Grouping of static RP container.";
77
78 container static-rp {
79 description
80 "Containing static RP attributes.";
81
82 list rp-list {
83 key "rp-address";
84 description
85 "A list of RP addresses.";
86
87 leaf rp-address {
88 type inet:ip-address;
89 description
90 "Specifies a static RP address.";
91 }
92
93 choice group-list-or-prefix-list {
94 description "Use group-list or prefix-list";
95 case group-list {
96 leaf-list group-list{
97 type frr-route-types:ip-multicast-group-prefix;
98 description
99 "List of multicast group address.";
100 }
101 }
102 case prefix-list {
103 leaf prefix-list {
104 type plist-ref;
105 description
106 "Group prefix-list filter";
107 }
108 }
109 }
110 }
111 } // static-rp
112 } // static-rp-container
113
114 /*
115 * Configuration data nodes
116 */
117 augment "/frr-rt:routing/frr-rt:control-plane-protocols/"
118 + "frr-rt:control-plane-protocol/frr-pim:pim/"
119 + "frr-pim:address-family" {
120 description "PIM RP augmentation.";
121
122 container rp {
123 description
124 "PIM RP configuration data.";
125 uses static-rp-container;
126 } // rp
127 } // augment
128 }