[email protected] Maven / Gradle / Ivy
// 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";
}
}
}
}