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.";
29 "Changed interface references to use
30 frr-interface:interface-ref typedef";
36 "RFC 1058: Routing Information Protocol.
37 RFC 2453: RIP Version 2.";
42 * Routing instance configuration.
47 "RIP routing instance.";
58 "Allow equal-cost multi-path.";
60 leaf default-information-originate {
64 "Control distribution of default route.";
72 "Default metric of redistributed routes.";
76 "Administrative distance.";
83 "Default administrative distance.";
88 "Custom administrative distance per IP prefix.";
90 type inet:ipv4-prefix;
100 "Administrative distance.";
109 leaf-list explicit-neighbor {
110 type inet:ipv4-address;
112 "Specifies the RIP neighbors. Useful for a
113 non-broadcast multiple access (NBMA) network.";
116 type inet:ipv4-prefix;
118 "Enable RIP on the specified IP network.";
120 leaf-list interface {
121 type frr-interface:interface-ref;
123 "Enable RIP on the specified interface.";
126 key "interface direction";
128 "Offset-list to modify route metric.";
131 type frr-interface:interface-ref;
135 "Match all interfaces.";
140 "Interface to match. Use '*' to match all interfaces.";
156 "Incoming or outgoing updates.";
173 leaf passive-default {
177 "Control whether interfaces are in the passive mode
180 leaf-list passive-interface {
181 when "../passive-default = 'false'";
182 type frr-interface:interface-ref;
184 "A list of interfaces where the sending of RIP packets
187 leaf-list non-passive-interface {
188 when "../passive-default = 'true'";
189 type frr-interface:interface-ref;
191 "A list of interfaces where the sending of RIP packets
197 "Redistributes routes learned from other routing protocols.";
199 type frr-route-types:frr-route-types-v4;
209 "Applies the conditions of the specified route-map to
210 routes that are redistributed into the RIP routing
218 "Metric used for the redistributed route. If a metric is
219 not specified, the metric configured with the
220 default-metric attribute in RIP router configuration is
221 used. If the default-metric attribute has not been
222 configured, the default metric for redistributed routes
226 leaf-list static-route {
227 type inet:ipv4-prefix;
229 "RIP static routes.";
233 "Settings of basic timers";
234 leaf flush-interval {
236 range "5..2147483647";
241 "Interval before a route is flushed from the routing
244 leaf holddown-interval {
246 range "5..2147483647";
251 "Interval before better routes are released.";
253 leaf update-interval {
255 range "5..2147483647";
260 "Interval at which RIP updates are sent.";
269 "Accept RIPv1 updates only.";
274 "Accept RIPv2 updates only.";
279 "Accept both RIPv1 and RIPv2 updates.";
284 "Advertisement reception - Version control.";
291 "Send RIPv1 updates only.";
296 "Send RIPv2 updates only.";
301 "Advertisement transmission - Version control.";
304 '(./receive = "1" and ./send = "1") or ' +
305 '(./receive = "2" and ./send = "2") or ' +
306 '(./receive = "1-2" and ./send = "2")';
317 container neighbors {
319 "Neighbor information.";
325 type inet:ipv4-address;
327 "IP address that a RIP neighbor is using as its
331 type yang:date-and-time;
333 "The time when the most recent RIP update was
334 received from this neighbor.";
336 leaf bad-packets-rcvd {
339 "The number of RIP invalid packets received from
340 this neighbor which were subsequently discarded
341 for any reason (e.g. a version 0 packet, or an
342 unknown command type).";
344 leaf bad-routes-rcvd {
347 "The number of routes received from this neighbor,
348 in valid RIP packets, which were ignored for any
349 reason (e.g. unknown address family, or invalid
356 "Route information.";
362 type inet:ipv4-prefix;
364 "IP address (in the form A.B.C.D) and prefix length,
365 separated by the slash (/) character. The range of
366 values for the prefix-length is 0 to 32.";
369 type inet:ipv4-address;
371 "Next hop IPv4 address.";
376 "The interface that the route uses.";
392 * Per-interface configuration data
394 augment "/frr-interface:lib/frr-interface:interface" {
397 "RIP interface parameters.";
403 "Disables split-horizon processing.";
408 "Enables simple split-horizon processing.";
410 enum "poison-reverse" {
413 "Enables split-horizon processing with poison
419 "Controls RIP split-horizon processing on the specified
426 "Send IP broadcast v2 update.";
428 leaf version-receive {
433 "Inherit configuration from the routing instance.";
438 "Accept RIPv1 updates only.";
443 "Accept RIPv2 updates only.";
448 "Accept both RIPv1 and RIPv2 updates.";
453 "Do not accept neither RIPv1 nor RIPv2 updates.";
456 default "unspecified";
458 "Advertisement reception - Version control.";
465 "Inherit configuration from the routing instance.";
470 "Send RIPv1 updates only.";
475 "Send RIPv2 updates only.";
480 "Send both RIPv1 and RIPv2 updates.";
485 "Do not send neither RIPv1 nor RIPv2 updates.";
488 default "unspecified";
490 "Advertisement transmission - Version control.";
492 container authentication-scheme {
494 "Specify the authentication scheme for the RIP interface";
500 "No authentication.";
505 "Plain-text authentication.";
510 "MD5 authentication.";
515 "Specify the authentication mode.";
517 leaf md5-auth-length {
518 when "../mode = 'md5'";
528 "Old ripd compatible.";
533 "MD5 authentication data length.";
536 choice authentication-data {
538 "Choose whether to use a simple password or a key-chain.";
539 leaf authentication-password {
544 "Authentication string.";
546 leaf authentication-key-chain {
558 rpc clear-rip-route {
560 "Clears RIP routes from the IP routing table and routes
561 redistributed into the RIP protocol.";
567 "VRF name identifying a specific RIP instance.
568 This leaf is optional for the rpc.
569 If it is specified, the rpc will clear all routes in the
570 specified RIP instance;
571 if it is not specified, the rpc will clear all routes in
580 notification authentication-type-failure {
582 "This notification is sent when the system
583 receives a PDU with the wrong authentication type
585 leaf interface-name {
588 "Describes the name of the RIP interface.";
596 notification authentication-failure {
598 "This notification is sent when the system
599 receives a PDU with the wrong authentication
601 leaf interface-name {
604 "Describes the name of the RIP interface.";