2019-12-11 06:57:37 +01:00
|
|
|
module frr-routing {
|
|
|
|
yang-version "1.1";
|
|
|
|
namespace "http://frrouting.org/yang/routing";
|
|
|
|
prefix "rt";
|
|
|
|
|
|
|
|
import ietf-yang-types {
|
|
|
|
prefix "yang";
|
|
|
|
}
|
|
|
|
|
|
|
|
import frr-vrf {
|
|
|
|
prefix frr-vrf;
|
|
|
|
}
|
|
|
|
|
|
|
|
organization
|
2020-04-22 18:45:37 +02:00
|
|
|
"FRRouting";
|
2019-12-11 06:57:37 +01:00
|
|
|
|
|
|
|
contact
|
|
|
|
"FRR Users List: <mailto:frog@lists.frrouting.org>
|
|
|
|
FRR Development List: <mailto:dev@lists.frrouting.org>";
|
|
|
|
|
|
|
|
description
|
|
|
|
"This YANG module defines essential components for the management
|
|
|
|
of a routing subsystem.";
|
|
|
|
|
|
|
|
revision 2019-08-15 {
|
|
|
|
description
|
|
|
|
"Initial revision.";
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Identities */
|
|
|
|
|
|
|
|
identity address-family {
|
|
|
|
description
|
|
|
|
"Base identity from which identities describing address
|
|
|
|
families are derived.";
|
|
|
|
}
|
|
|
|
|
|
|
|
identity ipv4 {
|
|
|
|
base address-family;
|
|
|
|
description
|
|
|
|
"This identity represents an IPv4 address family.";
|
|
|
|
}
|
|
|
|
|
|
|
|
identity ipv6 {
|
|
|
|
base address-family;
|
|
|
|
description
|
|
|
|
"This identity represents an IPv6 address family.";
|
|
|
|
}
|
|
|
|
|
|
|
|
identity control-plane-protocol {
|
|
|
|
description
|
|
|
|
"Base identity from which control-plane protocol identities are
|
|
|
|
derived.";
|
|
|
|
}
|
|
|
|
|
|
|
|
identity routing-protocol {
|
|
|
|
base control-plane-protocol;
|
|
|
|
description
|
|
|
|
"Identity from which Layer 3 routing protocol identities are
|
|
|
|
derived.";
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Type Definitions */
|
|
|
|
|
|
|
|
typedef administrative-distance {
|
|
|
|
type uint8 {
|
|
|
|
range "1..255";
|
|
|
|
}
|
|
|
|
description
|
|
|
|
"Admin distance associated with the route.";
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Groupings */
|
|
|
|
|
|
|
|
grouping address-family {
|
|
|
|
description
|
|
|
|
"This grouping provides a leaf identifying an address
|
|
|
|
family.";
|
|
|
|
leaf address-family {
|
|
|
|
type identityref {
|
|
|
|
base address-family;
|
|
|
|
}
|
|
|
|
mandatory true;
|
|
|
|
description
|
|
|
|
"Address family.";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
grouping router-id {
|
|
|
|
description
|
|
|
|
"This grouping provides a router ID.";
|
|
|
|
leaf router-id {
|
|
|
|
type yang:dotted-quad;
|
|
|
|
description
|
|
|
|
"A 32-bit number in the form of a dotted quad that is used by
|
|
|
|
some routing protocols identifying a router.";
|
|
|
|
reference
|
|
|
|
"RFC 2328: OSPF Version 2";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Data nodes */
|
|
|
|
|
|
|
|
container routing {
|
|
|
|
description
|
|
|
|
"Configuration parameters for the routing subsystem.";
|
|
|
|
container control-plane-protocols {
|
|
|
|
description
|
|
|
|
"Support for control-plane protocol instances.";
|
|
|
|
list control-plane-protocol {
|
|
|
|
key "type name vrf";
|
|
|
|
description
|
|
|
|
"Each entry contains a control-plane protocol instance.";
|
|
|
|
leaf type {
|
|
|
|
type identityref {
|
|
|
|
base control-plane-protocol;
|
|
|
|
}
|
|
|
|
description
|
|
|
|
"Type of the control-plane protocol";
|
|
|
|
}
|
|
|
|
leaf name {
|
|
|
|
type string;
|
|
|
|
description
|
|
|
|
"An arbitrary name of the control-plane protocol
|
|
|
|
instance.";
|
|
|
|
}
|
|
|
|
leaf vrf {
|
|
|
|
type frr-vrf:vrf-ref;
|
|
|
|
description
|
|
|
|
"vrf for control-plane protocol";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|