module odl-pcep-sync-optimizations { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:controller:pcep:sync:optimizations"; prefix "sync-optimizations"; import pcep-types { prefix pcep; revision-date 2018-11-09; } import pcep-message { prefix msg; revision-date 2018-11-09; } import network-topology { prefix nt; revision-date 2013-10-21; } import network-topology-pcep { prefix topo; revision-date 2022-07-30; } import odl-pcep-ietf-stateful { prefix stateful; revision-date 2020-07-20; } import yang-ext { prefix ext; } organization "Pantheon Technologies"; contact "Iveta Halanova "; description "This module contains the data model of PCEP extensions defined in RFC8232: 'Optimizations of Label Switched Path State Synchronization Procedures for a Stateful PCE'. Copyright (c)2015 Cisco Systems, 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 "2020-07-20" { description "Update to Path State Synchronization Procedures RFC"; reference "RFC8232: https://tools.ietf.org/html/rfc8232"; } revision "2018-11-09" { description "P2MP extension."; reference "RFC8306"; } revision 2017-10-25 { description "Update network-topology-pcep revision"; } revision "2015-07-14" { description "Initial revision."; reference "https://tools.ietf.org/html/draft-ietf-pce-stateful-sync-optimizations-02"; } grouping sync-optimizations-capability-tlv { reference "http://tools.ietf.org/html/rfc8232#section-4.1"; leaf triggered-initial-sync { type boolean; default false; } leaf delta-lsp-sync-capability { type boolean; default false; } leaf triggered-resync { type boolean; default false; } leaf include-db-version { type boolean; default false; } } grouping lsp-db-version-tlv { container lsp-db-version { uses pcep:tlv; leaf lsp-db-version-value { type uint64; } } } grouping speaker-entity-id { leaf speaker-entity-id-value { type binary; } } grouping speaker-entity-id-tlv { container speaker-entity-id { uses pcep:tlv; uses speaker-entity-id; } } augment "/msg:open/msg:open-message/msg:open/msg:tlvs/stateful:stateful" { uses sync-optimizations-capability-tlv; } augment "/msg:open/msg:open-message/msg:open/msg:tlvs" { ext:augment-identifier tlvs3; uses lsp-db-version-tlv; uses speaker-entity-id-tlv; } augment "/msg:pcerr/msg:pcerr-message/msg:error-type/msg:session-case/msg:session/msg:open/msg:tlvs" { ext:augment-identifier tlvs4; uses lsp-db-version-tlv; uses speaker-entity-id-tlv; } augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client" { uses lsp-db-version-tlv; } augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:reported-lsp/topo:path/stateful:lsp/stateful:tlvs" { ext:augment-identifier tlvs2; uses lsp-db-version-tlv; } augment "/nt:network-topology/nt:topology/nt:node/topo:path-computation-client/topo:stateful-tlv/stateful:stateful" { uses sync-optimizations-capability-tlv; } augment "/stateful:pcrpt/stateful:pcrpt-message/stateful:reports/stateful:lsp/stateful:tlvs" { ext:augment-identifier tlvs5; uses lsp-db-version-tlv; } augment "/stateful:pcupd/stateful:pcupd-message/stateful:updates/stateful:lsp/stateful:tlvs" { ext:augment-identifier tlvs6; uses lsp-db-version-tlv; } augment "/topo:add-lsp/topo:input/topo:arguments/stateful:lsp/stateful:tlvs" { ext:augment-identifier tlvs1; uses lsp-db-version-tlv; } augment "/topo:update-lsp/topo:input/topo:arguments/stateful:lsp/stateful:tlvs" { ext:augment-identifier tlvs7; uses lsp-db-version-tlv; } }