3 namespace "http://frrouting.org/yang/vrrpd";
6 import ietf-inet-types {
10 import ietf-yang-types {
14 import frr-interface {
23 grouping ip-vrrp-tracking-config {
25 "Configuration data for tracking interfaces
27 leaf-list track-interface {
28 type frr-interface:interface-ref;
30 "Sets a list of one or more interfaces that should
31 be tracked for up/down events to dynamically change the
32 priority state of the VRRP group, and potentially
33 change the mastership if the tracked interface going
34 down lowers the priority sufficiently. Any of the tracked
35 interfaces going down will cause the priority to be lowered.
36 Some implementations may only support a single
40 leaf priority-decrement {
46 "Set the value to subtract from priority when
47 the tracked interface goes down";
51 grouping ip-vrrp-tracking-state {
53 "Operational state data for tracking interfaces in a VRRP
57 grouping ip-vrrp-tracking-top {
59 "Top-level grouping for VRRP interface tracking";
60 container interface-tracking {
62 "Top-level container for VRRP interface tracking";
65 "Configuration data for VRRP interface tracking";
66 uses ip-vrrp-tracking-config;
72 "Operational state data for VRRP interface tracking";
73 uses ip-vrrp-tracking-config;
75 uses ip-vrrp-tracking-state;
80 grouping ip-vrrp-config {
82 "Configuration data for VRRP on IP interfaces";
83 leaf virtual-router-id {
88 "Set the virtual router id for use by the VRRP group. This
89 usually also determines the virtual MAC address that is
90 generated for the VRRP group";
115 "Specifies the sending VRRP interface's priority
116 for the virtual router. Higher values equal higher
124 "When set to true, enables preemption by a higher
125 priority backup router of a lower priority master router";
132 "Configure whether packets destined for
133 virtual addresses are accepted even when the virtual
134 address is not owned by the router interface";
137 leaf advertisement-interval {
141 units "centiseconds";
144 "Sets the interval between successive VRRP
145 advertisements -- RFC 5798 defines this as a 12-bit
146 value expressed as 0.1 seconds, with default 100, i.e.,
147 1 second. Several implementation express this in units of
155 "Administrative shutdown for this VRRP group.";
159 grouping ip-vrrp-state {
161 "Grouping for operational state data for a virtual router";
162 leaf current-priority {
166 "Operational value of the priority for the
167 interface in the VRRP group.";
170 leaf vrrp-interface {
171 type frr-interface:interface-ref;
174 "The interface used to transmit VRRP traffic.";
177 leaf source-address {
178 type inet:ip-address;
181 "The source IP address used for VRRP advertisements.";
188 "State when virtual router is waiting for a Startup event.";
192 "State when virtual router is functioning as the forwarding router
193 for the virtual addresses.";
197 "State when virtual router is monitoring the availability and state
198 of the Master router.";
204 leaf master-advertisement-interval {
210 "Advertisement interval contained in advertisements received from the Master, in milliseconds.";
217 "Time to skew Master_Down_Interval, in milliseconds.";
222 leaf state-transition {
223 type yang:zero-based-counter32;
225 "Number of state transitions the virtual router has experienced.";
230 type yang:zero-based-counter32;
232 "Number of sent VRRP advertisements.";
238 type yang:zero-based-counter32;
240 "Number of received VRRP advertisements.";
246 grouping ip-vrrp-top {
248 "Top-level grouping for Virtual Router Redundancy Protocol";
251 "Enclosing container for VRRP groups handled by this
254 "RFC 5798 - Virtual Router Redundancy Protocol
255 (VRRP) Version 3 for IPv4 and IPv6";
257 key "virtual-router-id";
259 "List of VRRP groups, keyed by virtual router id";
263 leaf-list virtual-address {
264 type inet:ipv4-address;
266 "Configure one or more IPv4 virtual addresses for the
271 augment "./counter/tx" {
272 leaf gratuitous-arp {
273 type yang:zero-based-counter32;
275 "Number of sent gratuitous ARP requests.";
282 when "../version = 3";
283 leaf-list virtual-address {
284 type inet:ipv6-address;
286 "Configure one or more IPv6 virtual addresses for the
291 augment "./counter/tx" {
292 leaf neighbor-advertisement {
293 type yang:zero-based-counter32;
295 "Number of sent unsolicited Neighbor Advertisements.";
304 augment "/frr-interface:lib/frr-interface:interface" {