1 // SPDX-License-Identifier: BSD-2-Clause
4 namespace "http://frrouting.org/yang/gmp";
12 import ietf-routing-types {
16 import ietf-inet-types {
20 import frr-interface {
28 "FRR Users List: <mailto:frog@lists.frrouting.org>
29 FRR Development List: <mailto:dev@lists.frrouting.org>";
32 "This module defines a model for managing FRR pimd daemon.
34 Copyright 2020 FRRouting
36 Redistribution and use in source and binary forms, with or without
37 modification, are permitted provided that the following conditions
40 1. Redistributions of source code must retain the above copyright notice,
41 this list of conditions and the following disclaimer.
43 2. Redistributions in binary form must reproduce the above copyright
44 notice, this list of conditions and the following disclaimer in the
45 documentation and/or other materials provided with the distribution.
47 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
48 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
49 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
50 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
51 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
53 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
54 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
55 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
57 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
69 grouping interface-config-attributes {
71 "Configuration IGMP/MLD attributes applied to the interface level.";
77 "Enable IGMP/MLD flag on the interface.";
81 when "../frr-gmp:address-family = 'frr-rt:ipv4'" {
83 "Only applicable to IPv4 address family.";
93 when "../frr-gmp:address-family = 'frr-rt:ipv6'" {
95 "Only applicable to IPv6 address family.";
105 leaf query-interval {
110 must ". * 10 >= ../query-max-response-time";
113 "The Query Interval is the interval between General Queries
114 sent by the Querier.";
117 leaf query-max-response-time {
122 must ". <= ../query-interval * 10";
125 "Query maximum response time specifies the maximum time
126 allowed before sending a responding report.";
129 leaf last-member-query-interval {
136 "Last Member Query Interval, which may be tuned to modify
137 the leave latency of the network.";
140 leaf robustness-variable {
146 "Querier's Robustness Variable allows tuning for the
147 expected packet loss on a network.";
151 key "group-addr source-addr";
153 "A static multicast route, (*,G) or (S,G).
154 The version of IGMP must be 3 to support (S,G).";
157 type rt-types:ip-multicast-group-address;
159 "Multicast group address.";
162 type inet:ip-address;
164 "Multicast source address.";
167 } // interface-config-attributes
170 * Per-interface configuration data
172 augment "/frr-interface:lib/frr-interface:interface" {
174 list address-family {
175 key "address-family";
177 "Each list entry for one address family.";
178 uses frr-rt:address-family;
179 uses interface-config-attributes;