frr/yang/frr-igmp.yang

148 lines
3.2 KiB
YANG
Raw Normal View History

module frr-igmp {
yang-version "1.1";
namespace "http://frrouting.org/yang/igmp";
prefix frr-igmp;
import frr-routing {
prefix "frr-rt";
}
import ietf-routing-types {
prefix "rt-types";
}
import ietf-inet-types {
prefix "inet";
}
import frr-interface {
prefix frr-interface;
}
organization
"FRRouting";
contact
"FRR Users List: <mailto:frog@lists.frrouting.org>
FRR Development List: <mailto:dev@lists.frrouting.org>";
description
"This module defines a model for managing FRR pimd daemon.";
revision 2019-11-06 {
description
"Initial revision.";
reference
"RFC 2236: IGMP v2.
RFC 3376: IGMP v3.";
}
grouping interface-config-attributes {
description
"Configuration attributes applied to the interface level.";
leaf igmp-enable {
type boolean;
default "false";
description
"Enable IGMP protocol on the interface.";
}
leaf version {
type uint8 {
range "2..3";
}
default "3";
description
"IGMP version.";
}
leaf query-interval {
type uint16 {
range "1..1800";
}
units seconds;
default "125";
description
"The Query Interval is the interval between General Queries
sent by the Querier.";
}
leaf query-max-response-time {
type uint8 {
range "10..250";
}
units deciseconds;
default "100";
description
"Query maximum response time specifies the maximum time
allowed before sending a responding report.";
}
leaf last-member-query-interval {
type uint8 {
range "1..255";
}
units deciseconds;
default "10";
description
"Last Member Query Interval, which may be tuned to modify
the leave latency of the network.";
}
leaf robustness-variable {
type uint8 {
range "1..7";
}
default "2";
description
"Querier's Robustness Variable allows tuning for the
expected packet loss on a network.";
}
}
grouping per-af-interface-config-attributes {
description
"Configuration attributes applied to the interface level per address family.";
list static-group {
key "group-addr source-addr";
description
"A static multicast route, (*,G) or (S,G).
The version of IGMP must be 3 to support (S,G).";
leaf group-addr {
type rt-types:ip-multicast-group-address;
description
"Multicast group address.";
}
leaf source-addr {
type inet:ip-address;
description
"Multicast source address.";
}
}
} // per-af-interface-config-attributes
/*
* Per-interface configuration data
*/
augment "/frr-interface:lib/frr-interface:interface" {
container igmp {
description
"IGMP interface parameters.";
uses interface-config-attributes;
list address-family {
key "address-family";
description
"Each list entry for one address family.";
uses frr-rt:address-family;
uses per-af-interface-config-attributes;
} //address-family
}
}
}