// 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"; } } } }