module ietf-interface-protection { yang-version 1.1; namespace "urn:ietf:params:xml:ns:yang:ietf-interface-protection"; prefix ifprot; import ietf-interfaces { prefix if; } organization "Internet Engineering Task Force (IETF) CCAMP WG"; contact "WG List: ID-draft authors: Jonas Ahlberg (jonas.ahlberg@ericsson.com); Min Ye (amy.yemin@huawei.com); Xi Li (Xi.Li@neclab.eu); Koji Kawada (k-kawada@ah.jp.nec.com) Carlos J. Bernardos (cjbc@it.uc3m.es) Daniela Spreafico (daniela.spreafico@nokia.com) Marko Vaupotic (Marko.Vaupotic@aviatnet.com)"; description "This is a module for the entities in a generic interface protection mechanism."; revision 2017-10-19 { description "Draft revision."; reference ""; } /* * Protection architecture type identities */ identity protection-architecture-type { description "protection architecture type"; reference "ITU-T Rec. G.808.1"; } identity one-plus-one-type { base protection-architecture-type; description "1+1, One interface protects another one interface."; reference "ITU-T Rec. G.808.1"; } identity one-to-n-type { base protection-architecture-type; description "1:N, One interface protects n other interfaces."; reference "ITU-T Rec. G.808.1"; } /* * Protection states identities */ identity protection-states { description "Identities describing the status of the protection, in a group of interfaces configured in a protection mode."; } identity unprotected { base protection-states; description "Not protected"; } identity protected { base protection-states; description "Protected"; } identity unable-to-protect { base protection-states; description "Unable to protect"; } /* * protection-external-commands identities */ identity protection-external-commands{ description "Protection external commands for trouble shooting purpose."; reference "ITU-T Rec. G.808.1"; } identity manual-switch-working{ base protection-external-commands; description "A switch action initiated by an operator command. It switches normal traffic signal to the working transport entity."; reference "ITU-T Rec. G.808.1"; } identity manual-switch-protection{ base protection-external-commands; description "A switch action initiated by an operator command. It switches normal traffic signal to the protection transport entity."; reference "ITU-T Rec. G.808.1"; } identity forced-switch{ base protection-external-commands; description "A switch action initiated by an operator command. It switches normal traffic signal to the protection transport entity and forces it to remain on that entity even when criteria for switching back to the orignal entity are fulfilled."; reference "ITU-T Rec. G.808.1"; } identity lockout-of-protection{ base protection-external-commands; description "A switch action temporarily disables access to the protection transport entity for all signals."; reference "ITU-T Rec. G.808.1"; } identity freeze{ base protection-external-commands; description "A switch action temporarily prevents any switch action to be taken and, as such, freezes the current state. Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.."; reference "ITU-T Rec. G.808.1"; } identity exercise{ base protection-external-commands; description "A switch action to test if the APS communication is operating correctly. It is lower priority than any 'real' switch request.."; reference "ITU-T Rec. G.808.1"; } identity clear{ base protection-external-commands; description "A action clears all switch commands."; reference "ITU-T Rec. G.808.1"; } /* * Protection Groups */ grouping protection-groups { description "Configuration of protected groups (1+1) of interfaces providing protection for each other. More than one protected group per higher-layer-interface is allowed."; list protection-group { key "name"; description "List of protected groups of interfaces in a higher-layer-interface."; leaf name { type string; description "Name used for identification of the protection group"; } leaf protection-architecture-type { type identityref{ base protection-architecture-type; } default "one-plus-one-type"; description "The type of protection architecture used, e.g. one interface protecting one or several other interfaces."; reference "ITU-T Rec. G.808.1"; } leaf-list protection-members { type if:interface-ref; min-elements 2; description "Association to a group of interfaces configured for protection and used by a higher-layer-interface."; } leaf protection-operation-type { type enumeration { enum "non-revertive" { description "In non revertive operation, the traffic does not return to the working interface if the switch requests are terminated."; reference "ITU-T Rec. G.808.1"; } enum "revertive" { description "In revertive operation, the traffic always returns to (or remains on) the working interface if the switch requests are terminated."; reference "ITU-T Rec. G.808.1"; } } default "non-revertive"; description "The type of protection operation, i.e. revertive or non-revertive operation."; } leaf-list working-entity { when "../protection-operation-type = 'revertive'"; type if:interface-ref; min-elements 1; description "The interfaces over which the traffic normally should be transported over when there is no need to use the protecting interface."; } leaf revertive-wait-to-restore { when "../protection-operation-type = 'revertive'"; type uint16; units "seconds"; default "0"; description "The time to wait before switching back to the working interface if protection-operation-type is revertive."; reference "ITU-T Rec. G.808.1"; } leaf hold-off-timer { type uint16; units "milliseconds"; default "0"; description "Time interval after the detection of a fault and its confirmation as a condition requiring the protection switching procedure."; reference "ITU-T Rec. G.808.1"; } leaf protection-status { type identityref { base protection-states; } description "Status of the protection, in a group of interfaces configured in a protection mode."; reference "ITU-T Rec. G.808.1"; } action protection-external-commands { input { leaf protection-external-command { type identityref { base protection-external-commands; } description "Execution of protection external commands for trouble shooting purpose."; } } } } } }