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 * Routing instance configuration.
42 "RIP routing instance.";
53 "Allow equal-cost multi-path.";
55 leaf default-information-originate {
59 "Control distribution of default route.";
67 "Default metric of redistributed routes.";
71 "Administrative distance.";
78 "Default administrative distance.";
83 "Custom administrative distance per IP prefix.";
85 type inet:ipv4-prefix;
95 "Administrative distance.";
104 leaf-list explicit-neighbor {
105 type inet:ipv4-address;
107 "Specifies the RIP neighbors. Useful for a
108 non-broadcast multiple access (NBMA) network.";
111 type inet:ipv4-prefix;
113 "Enable RIP on the specified IP network.";
115 leaf-list interface {
120 "Enable RIP on the specified interface.";
123 key "interface direction";
125 "Offset-list to modify route metric.";
129 "Interface to match. Use '*' to match all interfaces.";
145 "Incoming or outgoing updates.";
162 leaf passive-default {
166 "Control whether interfaces are in the passive mode
169 leaf-list passive-interface {
170 when "../passive-default = 'false'";
175 "A list of interfaces where the sending of RIP packets
178 leaf-list non-passive-interface {
179 when "../passive-default = 'true'";
184 "A list of interfaces where the sending of RIP packets
190 "Redistributes routes learned from other routing protocols.";
192 type frr-route-types:frr-route-types-v4;
202 "Applies the conditions of the specified route-map to
203 routes that are redistributed into the RIP routing
211 "Metric used for the redistributed route. If a metric is
212 not specified, the metric configured with the
213 default-metric attribute in RIP router configuration is
214 used. If the default-metric attribute has not been
215 configured, the default metric for redistributed routes
219 leaf-list static-route {
220 type inet:ipv4-prefix;
222 "RIP static routes.";
226 "Settings of basic timers";
227 leaf flush-interval {
229 range "5..2147483647";
234 "Interval before a route is flushed from the routing
237 leaf holddown-interval {
239 range "5..2147483647";
244 "Interval before better routes are released.";
246 leaf update-interval {
248 range "5..2147483647";
253 "Interval at which RIP updates are sent.";
262 "Accept RIPv1 updates only.";
267 "Accept RIPv2 updates only.";
272 "Accept both RIPv1 and RIPv2 updates.";
277 "Advertisement reception - Version control.";
284 "Send RIPv1 updates only.";
289 "Send RIPv2 updates only.";
294 "Advertisement transmission - Version control.";
297 '(./receive = "1" and ./send = "1") or ' +
298 '(./receive = "2" and ./send = "2") or ' +
299 '(./receive = "1-2" and ./send = "2")';
310 container neighbors {
312 "Neighbor information.";
318 type inet:ipv4-address;
320 "IP address that a RIP neighbor is using as its
324 type yang:date-and-time;
326 "The time when the most recent RIP update was
327 received from this neighbor.";
329 leaf bad-packets-rcvd {
332 "The number of RIP invalid packets received from
333 this neighbor which were subsequently discarded
334 for any reason (e.g. a version 0 packet, or an
335 unknown command type).";
337 leaf bad-routes-rcvd {
340 "The number of routes received from this neighbor,
341 in valid RIP packets, which were ignored for any
342 reason (e.g. unknown address family, or invalid
349 "Route information.";
355 type inet:ipv4-prefix;
357 "IP address (in the form A.B.C.D) and prefix length,
358 separated by the slash (/) character. The range of
359 values for the prefix-length is 0 to 32.";
362 type inet:ipv4-address;
364 "Next hop IPv4 address.";
369 "The interface that the route uses.";
385 * Per-interface configuration data
387 augment "/frr-interface:lib/frr-interface:interface" {
390 "RIP interface parameters.";
396 "Disables split-horizon processing.";
401 "Enables simple split-horizon processing.";
403 enum "poison-reverse" {
406 "Enables split-horizon processing with poison
412 "Controls RIP split-horizon processing on the specified
419 "Send IP broadcast v2 update.";
421 leaf version-receive {
426 "Inherit configuration from the routing instance.";
431 "Accept RIPv1 updates only.";
436 "Accept RIPv2 updates only.";
441 "Accept both RIPv1 and RIPv2 updates.";
446 "Do not accept neither RIPv1 nor RIPv2 updates.";
449 default "unspecified";
451 "Advertisement reception - Version control.";
458 "Inherit configuration from the routing instance.";
463 "Send RIPv1 updates only.";
468 "Send RIPv2 updates only.";
473 "Send both RIPv1 and RIPv2 updates.";
478 "Do not send neither RIPv1 nor RIPv2 updates.";
481 default "unspecified";
483 "Advertisement transmission - Version control.";
485 container authentication-scheme {
487 "Specify the authentication scheme for the RIP interface";
493 "No authentication.";
498 "Plain-text authentication.";
503 "MD5 authentication.";
508 "Specify the authentication mode.";
510 leaf md5-auth-length {
511 when "../mode = 'md5'";
521 "Old ripd compatible.";
526 "MD5 authentication data length.";
529 choice authentication-data {
531 "Choose whether to use a simple password or a key-chain.";
532 leaf authentication-password {
537 "Authentication string.";
539 leaf authentication-key-chain {
551 rpc clear-rip-route {
553 "Clears RIP routes from the IP routing table and routes
554 redistributed into the RIP protocol.";
560 "VRF name identifying a specific RIP instance.
561 This leaf is optional for the rpc.
562 If it is specified, the rpc will clear all routes in the
563 specified RIP instance;
564 if it is not specified, the rpc will clear all routes in
573 notification authentication-type-failure {
575 "This notification is sent when the system
576 receives a PDU with the wrong authentication type
578 leaf interface-name {
581 "Describes the name of the RIP interface.";
589 notification authentication-failure {
591 "This notification is sent when the system
592 receives a PDU with the wrong authentication
594 leaf interface-name {
597 "Describes the name of the RIP interface.";