All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.22.6
Show newest version
module pcep-server {
    yang-version 1;
    namespace "urn:opendaylight:params:xml:ns:yang:pcep:server";
    prefix "server";

    import network-topology { prefix nt; revision-date 2013-10-21; }
    import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
    import path-computation { prefix algo; revision-date 2022-03-24; }
    import network-topology-pcep { prefix topo; revision-date 2022-07-30; }
    import yang-ext { prefix ext; revision-date 2013-07-09; }

    organization "Orange";
    contact "Olivier Dugeon ";

    description
        "This module contains the model of the Managed Path which
         allows the tunnels management by the PCE server.

        Copyright (c)2021 Orange. All rights reserved.

        This program and the accompanying materials are made available
        under the terms of the Eclipse Public License v1.0 which
        accompanies this distribution, and is available at
        http://www.eclipse.org/legal/epl-v10.html";

    revision "2022-03-21" {
        description
            "Del LSP routing method and path type. Add computed path metric.";
        reference "";
    }

    revision "2021-07-20" {
        description
             "Initial revision.";
        reference "";
    }

    typedef path-type {
        description "Type of Path";
        type enumeration {
            enum stateless {
                description "Path is not managed";
                value 0;
            }
            enum pcc {
                description "Path is managed by the PCC";
                value 1;
            }
            enum delegated {
                description "Path management is delegated to PCE";
                value 2;
            }
            enum initiated {
                description "Path is fully managed by the PCE";
                value 3;
            }
        }
    }

    typedef path-status {
        description "Status of the TE Path";
        type enumeration {
            enum reported {
                description "TE Path is reported by the PCC";
                value 0;
            }
            enum configured {
                description "TE Path is configured but not setup";
                value 1;
            }
            enum updated {
                description "TE Path has been updated and need to be synchronized";
                value 2;
            }
            enum sync {
                description "TE Path is setup and synchronized";
                value 3;
            }
            enum failed {
                description "Attempt to configure TE Path on PCC failed";
                value 4;
            }
        }
        default "reported";
    }

    grouping pcc-configured-lsp {
        description "Configured LSP per PCC node";
        list configured-lsp {
            description "List of Configured LSP per PCC";
            key "name";
            leaf "name" {
                type string;
                mandatory true;
            }
            leaf path-status {
                description "Status of TE Path";
                type path-status;
                config false;
            }
            container intended-path {
                description "Intended Path constraints";
                leaf source {
                    type inet:ip-address;
                }
                leaf destination {
                    type inet:ip-address;
                }
                container constraints {
                    uses algo:path-constraints;
                }
            }
            container computed-path {
                uses algo:path-descriptions;
                leaf computed-metric {
                    type uint32;
                }
                leaf computation-status {
                    type algo:computation-status;
                }
                config false;
            }
        }
    }

    /* Add Configured LSP to the Operational PCEP Network Topology */
    augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client" {
        uses pcc-configured-lsp;
    }

    /* Add Configured LSP to the Configuration PCEP Network Topology */
    augment "/nt:network-topology/nt:topology/nt:node" {
        when "../nt:topology-types/topo:topology-pcep";
        ext:augment-identifier pcep-node-config;
        description "Augment Pcep topology node with Configured LSP config";

        uses pcc-configured-lsp;
    }
}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy