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 "FRRouting"; contact "FRR Users List: FRR Development List: "; 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"; } } } } }