3 namespace "http://frrouting.org/yang/ripngd";
6 import ietf-inet-types {
9 import ietf-yang-types {
12 import frr-interface {
18 import frr-route-map {
21 import frr-route-types {
22 prefix frr-route-types;
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 ripngd 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";
67 "RFC 2080: RIPng for IPv6.";
72 * Routing instance configuration.
77 "RIPng routing instance.";
88 "Allow equal-cost multi-path.";
90 leaf default-information-originate {
94 "Control distribution of default route.";
102 "Default metric of redistributed routes.";
105 type inet:ipv6-prefix;
107 "Enable RIPng on the specified IPv6 network.";
109 leaf-list interface {
110 type frr-interface:interface-ref;
112 "Enable RIPng on the specified interface.";
115 key "interface direction";
117 "Offset-list to modify route metric.";
120 type frr-interface:interface-ref;
124 "Match all interfaces.";
129 "Interface to match. Use '*' to match all interfaces.";
145 "Incoming or outgoing updates.";
162 leaf-list passive-interface {
163 type frr-interface:interface-ref;
165 "A list of interfaces where the sending of RIPng packets
171 "Redistributes routes learned from other routing protocols.";
173 type frr-route-types:frr-route-types-v6;
179 type frr-route-map:route-map-ref;
181 "Applies the conditions of the specified route-map to
182 routes that are redistributed into the RIPng routing
190 "Metric used for the redistributed route. If a metric is
191 not specified, the metric configured with the
192 default-metric attribute in RIPng router configuration is
193 used. If the default-metric attribute has not been
194 configured, the default metric for redistributed routes
198 leaf-list static-route {
199 type inet:ipv6-prefix;
201 "RIPng static routes.";
203 leaf-list aggregate-address {
204 type inet:ipv6-prefix;
206 "RIPng aggregate route announcement.";
210 "Settings of basic timers";
211 leaf flush-interval {
218 "Interval before a route is flushed from the routing
221 leaf holddown-interval {
228 "Interval before better routes are released.";
230 leaf update-interval {
237 "Interval at which RIPng updates are sent.";
249 container neighbors {
251 "Neighbor information.";
257 type inet:ipv6-address;
259 "IPv6 address that a RIPng neighbor is using as its
263 type yang:date-and-time;
265 "The time when the most recent RIPng update was
266 received from this neighbor.";
268 leaf bad-packets-rcvd {
271 "The number of RIPng invalid packets received from
272 this neighbor which were subsequently discarded
273 for any reason (e.g. a version 0 packet, or an
274 unknown command type).";
276 leaf bad-routes-rcvd {
279 "The number of routes received from this neighbor,
280 in valid RIPng packets, which were ignored for any
281 reason (e.g. unknown address family, or invalid
288 "Route information.";
292 "A RIPng IPv6 route.";
294 type inet:ipv6-prefix;
296 "IPv6 address and prefix length, in the format
297 specified in RFC6991.";
300 type inet:ipv6-address;
302 "Next hop IPv6 address.";
305 type frr-interface:interface-ref;
307 "The interface that the route uses.";
323 * Per-interface configuration data
325 augment "/frr-interface:lib/frr-interface:interface" {
328 "RIPng interface parameters.";
334 "Disables split-horizon processing.";
339 "Enables simple split-horizon processing.";
341 enum "poison-reverse" {
344 "Enables split-horizon processing with poison
350 "Controls RIPng split-horizon processing on the specified
359 rpc clear-ripng-route {
361 "Clears RIPng routes from the IPv6 routing table and routes
362 redistributed into the RIPng protocol.";
366 type frr-vrf:vrf-ref;
368 "VRF name identifying a specific RIPng instance.
369 This leaf is optional for the rpc.
370 If it is specified, the rpc will clear all routes in the
371 specified RIPng instance;
372 if it is not specified, the rpc will clear all routes in
373 all RIPng instances.";