netconfcentral logo

org-openroadm-routing@2020-05-29



  module org-openroadm-routing {

    yang-version 1;

    namespace "http://org/openroadm/routing";

    prefix org-openroadm-routing;

    import ietf-yang-types {
      prefix yang;
      revision-date "2013-07-15";
    }
    import org-openroadm-device {
      prefix org-openroadm-device;
      revision-date "2020-05-29";
    }

    organization "Open ROADM MSA";

    contact "OpenROADM.org";

    description
      "This model defines Yang model for routing.

This model reuses data items defined in the IETF YANG model for
interfaces described by RFC 8022.

Some attributes which are not required in Open ROADM MSA are removed.
Yang file included are changed to fit into Open ROADM MSA yang structure.

IETF code is subject to the following copyright and license:
Copyright (c) IETF Trust and the persons identified as authors of
the code.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, is permitted pursuant to, and subject to the license
terms contained in, the Simplified BSD License set forth in
Section 4.c of the IETF Trust's Legal Provisions Relating
to IETF Documents (http://trustee.ietf.org/license-info).";

    revision "2020-05-29" {
      description "Version 7.1.0";
    }

    revision "2020-03-27" {
      description "Version 7.0.0";
    }

    revision "2019-11-29" {
      description "Version 6.1.0";
    }

    revision "2019-09-27" {
      description "Version 6.0.0";
    }

    revision "2019-05-31" {
      description "Version 5.1.0";
    }

    revision "2019-03-29" {
      description "Version 5.0.0";
    }

    revision "2015-05-25" {
      description "Initial revision.";
      reference
        "RFC XXXX: A YANG Data Model for Routing Management";

    }


    feature multiple-ribs {
      description
        "This feature indicates that the server supports user-defined
RIBs.

Servers that do not advertise this feature SHOULD provide
exactly one system-controlled RIB per routing-instance and
supported address family and make them also the default RIBs.
These RIBs then appear as entries of the list
/routing-state/routing-instance/ribs/rib.";
    }

    feature router-id {
      description
        "This feature indicates that the server supports configuration
of an explicit 32-bit router ID that is used by some routing
protocols.

Servers that do not advertise this feature set a router ID
algorithmically, usually to one of configured IPv4 addresses.
However, this algorithm is implementation-specific.";
    }

    identity address-family {
      base 
      description
        "Base identity from which identities describing address
families are derived.";
    }

    identity ipv4 {
      base address-family;
      description
        "This identity represents IPv4 address family.";
    }

    identity ipv6 {
      base address-family;
      description
        "This identity represents IPv6 address family.";
    }

    identity routing-instance {
      base 
      description
        "Base identity from which identities describing routing
instance types are derived.";
    }

    identity default-routing-instance {
      base routing-instance;
      description
        "This identity represents either a default routing instance, or
the only routing instance on systems that do not support
multiple instances.";
    }

    identity vrf-routing-instance {
      base routing-instance;
      description
        "This identity represents a VRF routing instance. The type is
distinct from the default-routing-instance. There may be
multiple vrf-routing-interfaces.";
    }

    identity routing-protocol {
      base 
      description
        "Base identity from which routing protocol identities are
derived.";
    }

    identity direct {
      base routing-protocol;
      description
        "Routing pseudo-protocol that provides routes to directly
connected networks.";
    }

    identity static {
      base routing-protocol;
      description
        "Static routing pseudo-protocol.";
    }

    typedef routing-instance-ref {
      type leafref {
        path "/org-openroadm-device:org-openroadm-device/org-openroadm-routing:routing/org-openroadm-routing:routing-instance/org-openroadm-routing:name";
      }
      description
        "This type is used for leafs that reference a routing instance
configuration.";
    }

    typedef routing-instance-state-ref {
      type leafref {
        path "/org-openroadm-device:org-openroadm-device/org-openroadm-routing:routing-state/org-openroadm-routing:routing-instance/org-openroadm-routing:name";
      }
      description
        "This type is used for leafs that reference state data of a
routing instance.";
    }

    typedef route-preference {
      type uint32;
      description
        "This type is used for route preferences.";
    }
  }  // module org-openroadm-routing