3 namespace "http://frrouting.org/yang/vrrpd";
6 import ietf-inet-types {
10 import ietf-yang-types {
14 import frr-interface {
21 "FRR Users List: <mailto:frog@lists.frrouting.org>
22 FRR Development List: <mailto:dev@lists.frrouting.org>";
24 "This module defines a model for managing FRR vrrpd daemon.";
31 grouping ip-vrrp-config {
33 "Configuration data for VRRP on IP interfaces";
34 leaf virtual-router-id {
39 "Set the virtual router id for use by the VRRP group. This
40 usually also determines the virtual MAC address that is
41 generated for the VRRP group";
66 "Specifies the sending VRRP interface's priority
67 for the virtual router. Higher values equal higher
75 "When set to true, enables preemption by a higher
76 priority backup router of a lower priority master router";
83 "Configure whether packets destined for
84 virtual addresses are accepted even when the virtual
85 address is not owned by the router interface";
88 leaf advertisement-interval {
95 "Sets the interval between successive VRRP
96 advertisements -- RFC 5798 defines this as a 12-bit
97 value expressed as 0.1 seconds, with default 100, i.e.,
98 1 second. Several implementation express this in units of
106 "Administrative shutdown for this VRRP group.";
110 grouping ip-vrrp-state {
112 "Grouping for operational state data for a virtual router";
113 leaf current-priority {
117 "Operational value of the priority for the
118 interface in the VRRP group.";
121 leaf vrrp-interface {
122 type frr-interface:interface-ref;
125 "The interface used to transmit VRRP traffic.";
128 leaf source-address {
129 type inet:ip-address;
132 "The source IP address used for VRRP advertisements.";
139 "State when virtual router is waiting for a Startup event.";
143 "State when virtual router is functioning as the forwarding router
144 for the virtual addresses.";
148 "State when virtual router is monitoring the availability and state
149 of the Master router.";
155 leaf master-advertisement-interval {
159 units "centiseconds";
162 "Advertisement interval contained in advertisements received from the Master.";
167 units "centiseconds";
170 "Time to skew Master_Down_Interval.";
175 leaf state-transition {
176 type yang:zero-based-counter32;
178 "Number of state transitions the virtual router has experienced.";
183 type yang:zero-based-counter32;
185 "Number of sent VRRP advertisements.";
191 type yang:zero-based-counter32;
193 "Number of received VRRP advertisements.";
199 grouping ip-vrrp-top {
201 "Top-level grouping for Virtual Router Redundancy Protocol";
204 "Enclosing container for VRRP groups handled by this
207 "RFC 5798 - Virtual Router Redundancy Protocol
208 (VRRP) Version 3 for IPv4 and IPv6";
210 key "virtual-router-id";
212 "List of VRRP groups, keyed by virtual router id";
216 leaf-list virtual-address {
217 type inet:ipv4-address;
219 "Configure one or more IPv4 virtual addresses for the
224 augment "./counter/tx" {
225 leaf gratuitous-arp {
226 type yang:zero-based-counter32;
228 "Number of sent gratuitous ARP requests.";
235 when "../version = 3";
236 leaf-list virtual-address {
237 type inet:ipv6-address;
239 "Configure one or more IPv6 virtual addresses for the
244 augment "./counter/tx" {
245 leaf neighbor-advertisement {
246 type yang:zero-based-counter32;
248 "Number of sent unsolicited Neighbor Advertisements.";
257 augment "/frr-interface:lib/frr-interface:interface" {