3 namespace "http://frrouting.org/yang/ripd";
6 import ietf-inet-types {
9 import ietf-yang-types {
12 import frr-interface {
15 import frr-route-types {
16 prefix frr-route-types;
22 "FRR Users List: <mailto:frog@lists.frrouting.org>
23 FRR Development List: <mailto:dev@lists.frrouting.org>";
25 "This module defines a model for managing FRR ripd daemon.";
31 "RFC 1058: Routing Information Protocol.
32 RFC 2453: RIP Version 2.";
37 * Global configuration data
40 presence "Present if the RIP protocol is enabled.";
42 "RIP routing instance.";
48 "Allow equal-cost multi-path.";
50 leaf default-information-originate {
54 "Control distribution of default route.";
62 "Default metric of redistributed routes.";
66 "Administrative distance.";
73 "Default administrative distance.";
78 "Custom administrative distance per IP prefix.";
80 type inet:ipv4-prefix;
90 "Administrative distance.";
99 leaf-list explicit-neighbor {
100 type inet:ipv4-address;
102 "Specifies the RIP neighbors. Useful for a
103 non-broadcast multiple access (NBMA) network.";
106 type inet:ipv4-prefix;
108 "Enable RIP on the specified IP network.";
110 leaf-list interface {
115 "Enable RIP on the specified interface.";
118 key "interface direction";
120 "Offset-list to modify route metric.";
124 "Interface to match. Use '*' to match all interfaces.";
140 "Incoming or outgoing updates.";
157 leaf passive-default {
161 "Control whether interfaces are in the passive mode
164 leaf-list passive-interface {
165 when "../passive-default = 'false'";
170 "A list of interfaces where the sending of RIP packets
173 leaf-list non-passive-interface {
174 when "../passive-default = 'true'";
179 "A list of interfaces where the sending of RIP packets
185 "Redistributes routes learned from other routing protocols.";
187 type frr-route-types:frr-route-types-v4;
197 "Applies the conditions of the specified route-map to
198 routes that are redistributed into the RIP routing
206 "Metric used for the redistributed route. If a metric is
207 not specified, the metric configured with the
208 default-metric attribute in RIP router configuration is
209 used. If the default-metric attribute has not been
210 configured, the default metric for redistributed routes
214 leaf-list static-route {
215 type inet:ipv4-prefix;
217 "RIP static routes.";
221 "Settings of basic timers";
222 leaf flush-interval {
224 range "5..2147483647";
229 "Interval before a route is flushed from the routing
232 leaf holddown-interval {
234 range "5..2147483647";
239 "Interval before better routes are released.";
241 leaf update-interval {
243 range "5..2147483647";
248 "Interval at which RIP updates are sent.";
257 "Accept RIPv1 updates only.";
262 "Accept RIPv2 updates only.";
267 "Accept both RIPv1 and RIPv2 updates.";
272 "Advertisement reception - Version control.";
279 "Send RIPv1 updates only.";
284 "Send RIPv2 updates only.";
289 "Advertisement transmission - Version control.";
292 '(./receive = "1" and ./send = "1") or ' +
293 '(./receive = "2" and ./send = "2") or ' +
294 '(./receive = "1-2" and ./send = "2")';
306 container neighbors {
308 "Neighbor information.";
314 type inet:ipv4-address;
316 "IP address that a RIP neighbor is using as its
320 type yang:date-and-time;
322 "The time when the most recent RIP update was
323 received from this neighbor.";
325 leaf bad-packets-rcvd {
328 "The number of RIP invalid packets received from
329 this neighbor which were subsequently discarded
330 for any reason (e.g. a version 0 packet, or an
331 unknown command type).";
333 leaf bad-routes-rcvd {
336 "The number of routes received from this neighbor,
337 in valid RIP packets, which were ignored for any
338 reason (e.g. unknown address family, or invalid
345 "Route information.";
351 type inet:ipv4-prefix;
353 "IP address (in the form A.B.C.D) and prefix length,
354 separated by the slash (/) character. The range of
355 values for the prefix-length is 0 to 32.";
358 type inet:ipv4-address;
360 "Next hop IPv4 address.";
365 "The interface that the route uses.";
380 * Per-interface configuration data
382 augment "/frr-interface:lib/frr-interface:interface" {
385 "RIP interface parameters.";
391 "Disables split-horizon processing.";
396 "Enables simple split-horizon processing.";
398 enum "poison-reverse" {
401 "Enables split-horizon processing with poison
407 "Controls RIP split-horizon processing on the specified
414 "Send IP broadcast v2 update.";
416 leaf version-receive {
421 "Inherit configuration from the routing instance.";
426 "Accept RIPv1 updates only.";
431 "Accept RIPv2 updates only.";
436 "Accept both RIPv1 and RIPv2 updates.";
441 "Do not accept neither RIPv1 nor RIPv2 updates.";
444 default "unspecified";
446 "Advertisement reception - Version control.";
453 "Inherit configuration from the routing instance.";
458 "Send RIPv1 updates only.";
463 "Send RIPv2 updates only.";
468 "Send both RIPv1 and RIPv2 updates.";
473 "Do not send neither RIPv1 nor RIPv2 updates.";
476 default "unspecified";
478 "Advertisement transmission - Version control.";
480 container authentication-scheme {
482 "Specify the authentication scheme for the RIP interface";
488 "No authentication.";
493 "Plain-text authentication.";
498 "MD5 authentication.";
503 "Specify the authentication mode.";
505 leaf md5-auth-length {
506 when "../mode = 'md5'";
516 "Old ripd compatible.";
521 "MD5 authentication data length.";
524 choice authentication-data {
526 "Choose whether to use a simple password or a key-chain.";
527 leaf authentication-password {
532 "Authentication string.";
534 leaf authentication-key-chain {
546 rpc clear-rip-route {
548 "Clears RIP routes from the IP routing table and routes
549 redistributed into the RIP protocol.";
555 notification authentication-type-failure {
557 "This notification is sent when the system
558 receives a PDU with the wrong authentication type
560 leaf interface-name {
563 "Describes the name of the RIP interface.";
571 notification authentication-failure {
573 "This notification is sent when the system
574 receives a PDU with the wrong authentication
576 leaf interface-name {
579 "Describes the name of the RIP interface.";