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.4
Show newest version
// vi: set smarttab et sw=4 tabstop=4:
module pcep-config {
    yang-version 1;
    namespace "urn:opendaylight:params:xml:ns:yang:pcep:config";
    prefix pd-config;

    import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
    import rfc2385 { prefix rfc2385; revision-date 2016-03-24; }

    organization "AT&T Services, Inc.";
    contact "Claudio D. Gasparini ";

    description
        "This module contains the base YANG definitions for
         PCEP Dispatcher service config.
         Copyright (c)2017 AT&T Services, Inc. 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 2023-01-12 {
        description
            "Updates timer definitions to uint8 and split them off into
             pcep-session-timers grouping.

             Introduces pcep-session-error-policy to configure things like
             max-unknown-messages.

             Introduces pcep-session-tls to hold TLS-related configuration.";
    }

    revision 2022-03-28 {
        description "Add ted-name key";
    }

    revision 2020-01-20 {
        description "Update to use -no-zone-adresses";
    }

    revision "2017-10-25" {
        description
            "Initial revision.";
    }

    grouping pcep-session-error-policy {
        leaf max-unknown-messages {
            type uint16 {
                range "1..max";
            }
            default 5;
        }
    }

    grouping pcep-session-timers {
        leaf dead-timer-value {
            type uint8;
            default 120;
            units seconds;
        }

        leaf keep-alive-timer-value {
            type uint8;
            default 30;
            units seconds;
        }
    }

    grouping pcep-session-tls {
        typedef path-type {
            type enumeration {
                enum PATH;
                enum CLASSPATH;
            }
        }

        typedef store-type {
            type enumeration {
                enum JKS;
                enum PKCS12;
            }
        }

        leaf keystore {
            description "keystore location";
            type string;
            mandatory true;
        }
        leaf keystore-type {
            description "keystore type (JKS or PKCS12)";
            type store-type;
            mandatory true;
        }
        leaf keystore-path-type {
            description "keystore path type (CLASSPATH or PATH)";
            type path-type;
            mandatory true;
        }
        leaf keystore-password {
            description "password protecting keystore";
            type string;
            mandatory true;
        }
        leaf certificate-password {
            description "password protecting certificate";
            type string;
            mandatory true;
        }
        leaf truststore {
            description "truststore location";
            type string;
            mandatory true;
        }
        leaf truststore-type {
            description "truststore type (JKS or PKCS12)";
            type store-type;
            mandatory true;
        }
        leaf truststore-path-type {
            description "truststore path type (CLASSPATH or PATH)";
            type path-type;
            mandatory true;
        }
        leaf truststore-password {
            description "password protecting truststore";
            type string;
            mandatory true;
        }
    }

    grouping pcep-config {
        container session-config {
            description "PCEP topology config";

            leaf rpc-timeout {
                type int16;
                default 30;
                units seconds;
            }

            leaf listen-address {
                type inet:ip-address-no-zone;
                default "0.0.0.0";
            }

            leaf listen-port {
                type inet:port-number;
                default 4189;
            }

            uses pcep-session-error-policy;
            uses pcep-session-timers;

            container tls {
                presence "Indicates TLS-enabled (PCEPS) operation";
                uses pcep-session-tls;
            }
        }
    }

    grouping pcep-node-config {
        description "PCEP node config";

        container session-config {
            leaf password {
                type rfc2385:rfc2385-key;
                description "RFC2385 shared secret";
            }
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy