1 // SPDX-License-Identifier: BSD-2-Clause
4 namespace "http://frrouting.org/yang/ripngd";
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;
29 "FRR Users List: <mailto:frog@lists.frrouting.org>
30 FRR Development List: <mailto:dev@lists.frrouting.org>";
32 "This module defines a model for managing FRR ripngd daemon.
34 Copyright 2020 FRRouting
36 Redistribution and use in source and binary forms, with or without
37 modification, are permitted provided that the following conditions
40 1. Redistributions of source code must retain the above copyright notice,
41 this list of conditions and the following disclaimer.
43 2. Redistributions in binary form must reproduce the above copyright
44 notice, this list of conditions and the following disclaimer in the
45 documentation and/or other materials provided with the distribution.
47 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
48 \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
49 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
50 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
51 HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
52 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
53 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
54 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
55 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
56 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
57 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.";
61 "Changed interface references to use
62 frr-interface:interface-ref typedef";
68 "RFC 2080: RIPng for IPv6.";
73 * Routing instance configuration.
78 "RIPng routing instance.";
89 "Allow equal-cost multi-path.";
91 leaf default-information-originate {
95 "Control distribution of default route.";
103 "Default metric of redistributed routes.";
106 type inet:ipv6-prefix;
108 "Enable RIPng on the specified IPv6 network.";
110 leaf-list interface {
111 type frr-interface:interface-ref;
113 "Enable RIPng on the specified interface.";
116 key "interface direction";
118 "Offset-list to modify route metric.";
121 type frr-interface:interface-ref;
125 "Match all interfaces.";
130 "Interface to match. Use '*' to match all interfaces.";
146 "Incoming or outgoing updates.";
163 leaf-list passive-interface {
164 type frr-interface:interface-ref;
166 "A list of interfaces where the sending of RIPng packets
172 "Redistributes routes learned from other routing protocols.";
174 type frr-route-types:frr-route-types-v6;
180 type frr-route-map:route-map-ref;
182 "Applies the conditions of the specified route-map to
183 routes that are redistributed into the RIPng routing
191 "Metric used for the redistributed route. If a metric is
192 not specified, the metric configured with the
193 default-metric attribute in RIPng router configuration is
194 used. If the default-metric attribute has not been
195 configured, the default metric for redistributed routes
199 leaf-list static-route {
200 type inet:ipv6-prefix;
202 "RIPng static routes.";
204 leaf-list aggregate-address {
205 type inet:ipv6-prefix;
207 "RIPng aggregate route announcement.";
211 "Settings of basic timers";
212 leaf flush-interval {
219 "Interval before a route is flushed from the routing
222 leaf holddown-interval {
229 "Interval before better routes are released.";
231 leaf update-interval {
238 "Interval at which RIPng updates are sent.";
250 container neighbors {
252 "Neighbor information.";
258 type inet:ipv6-address;
260 "IPv6 address that a RIPng neighbor is using as its
264 type yang:date-and-time;
266 "The time when the most recent RIPng update was
267 received from this neighbor.";
269 leaf bad-packets-rcvd {
272 "The number of RIPng invalid packets received from
273 this neighbor which were subsequently discarded
274 for any reason (e.g. a version 0 packet, or an
275 unknown command type).";
277 leaf bad-routes-rcvd {
280 "The number of routes received from this neighbor,
281 in valid RIPng packets, which were ignored for any
282 reason (e.g. unknown address family, or invalid
289 "Route information.";
293 "A RIPng IPv6 route.";
295 type inet:ipv6-prefix;
297 "IPv6 address and prefix length, in the format
298 specified in RFC6991.";
301 type inet:ipv6-address;
303 "Next hop IPv6 address.";
306 type frr-interface:interface-ref;
308 "The interface that the route uses.";
324 * Per-interface configuration data
326 augment "/frr-interface:lib/frr-interface:interface" {
329 "RIPng interface parameters.";
335 "Disables split-horizon processing.";
340 "Enables simple split-horizon processing.";
342 enum "poison-reverse" {
345 "Enables split-horizon processing with poison
351 "Controls RIPng split-horizon processing on the specified
360 rpc clear-ripng-route {
362 "Clears RIPng routes from the IPv6 routing table and routes
363 redistributed into the RIPng protocol.";
367 type frr-vrf:vrf-ref;
369 "VRF name identifying a specific RIPng instance.
370 This leaf is optional for the rpc.
371 If it is specified, the rpc will clear all routes in the
372 specified RIPng instance;
373 if it is not specified, the rpc will clear all routes in
374 all RIPng instances.";