1 // SPDX-License-Identifier: BSD-2-Clause
4 namespace "http://frrouting.org/yang/eigrpd";
7 import ietf-inet-types {
10 import ietf-yang-types {
13 import frr-interface {
19 import frr-route-map {
22 import frr-route-types {
23 prefix frr-route-types;
26 organization "FRRouting";
28 "FRR Users List: <mailto:frog@lists.frrouting.org>
29 FRR Development List: <mailto:dev@lists.frrouting.org>";
31 "This module defines a model for managing FRR eigrpd daemon.
33 Copyright 2020 FRRouting
35 Redistribution and use in source and binary forms, with or without
36 modification, are permitted provided that the following conditions
39 1. Redistributions of source code must retain the above copyright notice,
40 this list of conditions and the following disclaimer.
42 2. Redistributions in binary form must reproduce the above copyright
43 notice, this list of conditions and the following disclaimer in the
44 documentation and/or other materials provided with the distribution.
46 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
47 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
48 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
49 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
50 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
53 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
54 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
55 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
56 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
60 "Changed interface references to use
61 frr-interface:interface-ref typedef";
64 description "Initial revision.";
66 "RFC 7868: Cisco's Enhanced Interior Gateway Routing Protocol (EIGRP).";
70 * Types specification.
72 typedef autonomous-system {
73 description "Administrative domain identification for a network";
79 typedef authentication-type {
80 description "Authentication types";
83 description "Don't authenticate";
88 description "User defined text";
93 description "MD5 algorithm";
98 description "HMAC SHA256 algorithm";
105 * EIGRP operational data.
110 description "EIGRP autonomous system instance";
113 description "Autonomous System Number";
114 type autonomous-system;
118 description "Virtual Routing Domain name";
119 type frr-vrf:vrf-ref;
126 description "Router identification";
127 type inet:ipv4-address;
130 leaf-list passive-interface {
131 description "List of suppressed interfaces";
132 type frr-interface:interface-ref;
136 description "ACTIVE time limit in seconds (0 disables limit)";
145 description "Control load balance variance";
152 description "Most number of paths to forward packets to";
158 container metric-weights {
160 "Metrics and parameters for advertisement.
162 EIGRP calculates the composite metric with the following formula:
164 metric = 256 * ({(K1*BW) + [(K2*BW)/(256-LOAD)] + (K3*DELAY)} *
167 Composite calculation:
169 metric =[(K1*Net-Throughput) + Latency)+(K6*ExtAttr)] * ------
172 RFC 7868 Sections 5.5 and 5.6.2.5.";
175 description "Bandwidth coefficient.";
182 description "Bandwidth on load coefficient.";
189 description "Delay or latency-based coefficient.";
196 description "Link quality coefficient.";
203 description "Packet loss coefficient.";
210 description "Jitter coefficient.";
218 description "Enable EIGRP on the specific network";
219 type inet:ipv4-prefix;
223 description "Specific EIGRP neighbor";
224 type inet:ipv4-address;
228 description "Redistribute routes learned from other routing protocols";
233 description "Routing protocol";
234 type frr-route-types:frr-route-types-v4;
240 "Applies the conditions of the specified route-map to
241 routes that are redistributed into the EIGRP routing
243 type frr-route-map:route-map-ref;
247 description "Metric for the redistributed routes";
250 description "Bandwidth metric in Kbits per second";
252 range "1..4294967295";
257 description "Delay metric";
260 range "0..4294967295";
265 description "Reliability metric";
272 description "Effective bandwidth usage";
279 description "Path Maximum Transmission Unit";
290 * EIGRP interface configurations.
292 augment "/frr-interface:lib/frr-interface:interface" {
294 description "EIGRP interface parameters";
297 description "Throughput delay";
305 description "Interface bandwidth value";
312 leaf hello-interval {
313 description "Hello packet interval";
322 description "Timeout amount to consider neighbor down";
331 description "Perform split horizon loop preventing technique";
337 * Per AS configuration.
340 description "Autonomous System specific configuration";
345 description "Autonomous System Number";
346 type autonomous-system;
349 leaf-list summarize-addresses {
350 description "Peform address summarization";
351 type inet:ipv4-prefix;
354 leaf authentication {
355 description "Authentication digest algorithm";
356 type authentication-type;
361 description "FRR key chain name to use with authentication";