| ietf-interface-protection@2018-11-28.yang | ietf-interface-protection@2018-11-28-formatted.yang | |||
|---|---|---|---|---|
| module ietf-interface-protection { | module ietf-interface-protection { | |||
| yang-version 1.1; | yang-version 1.1; | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-interface-protection"; | namespace "urn:ietf:params:xml:ns:yang:ietf-interface-protection"; | |||
| prefix ifprot; | prefix ifprot; | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix if; | |||
| reference "RFC 8343"; | reference | |||
| "RFC 8343"; | ||||
| } | } | |||
| organization | organization | |||
| "Internet Engineering Task Force (IETF) CCAMP WG"; | "Internet Engineering Task Force (IETF) CCAMP WG"; | |||
| contact | contact | |||
| "WG List: <mailto:ccamp@ietf.org> | "WG List: <mailto:ccamp@ietf.org> | |||
| Editors: | Editors: | |||
| Jonas Ahlberg (jonas.ahlberg@ericsson.com) | Jonas Ahlberg (jonas.ahlberg@ericsson.com) | |||
| Min Ye (amy.yemin@huawei.com) | Min Ye (amy.yemin@huawei.com) | |||
| skipping to change at line 22 ¶ | skipping to change at line 23 ¶ | |||
| "Internet Engineering Task Force (IETF) CCAMP WG"; | "Internet Engineering Task Force (IETF) CCAMP WG"; | |||
| contact | contact | |||
| "WG List: <mailto:ccamp@ietf.org> | "WG List: <mailto:ccamp@ietf.org> | |||
| Editors: | Editors: | |||
| Jonas Ahlberg (jonas.ahlberg@ericsson.com) | Jonas Ahlberg (jonas.ahlberg@ericsson.com) | |||
| Min Ye (amy.yemin@huawei.com) | Min Ye (amy.yemin@huawei.com) | |||
| Xi Li (Xi.Li@neclab.eu) | Xi Li (Xi.Li@neclab.eu) | |||
| Daniela Spreafico (daniela.spreafico@nokia.com) | Daniela Spreafico (daniela.spreafico@nokia.com) | |||
| Marko Vaupotic (Marko.Vaupotic@aviatnet.com)"; | Marko Vaupotic (Marko.Vaupotic@aviatnet.com)"; | |||
| description | description | |||
| "This is a module for the entities in | "This is a module for the entities in | |||
| a generic interface protection mechanism. | a generic interface protection mechanism. | |||
| Copyright (c) 2019 IETF Trust and the persons identified as | Copyright (c) 2019 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject | without modification, is permitted pursuant to, and subject | |||
| to the license terms contained in, the Simplified BSD License | to the license terms contained in, the Simplified BSD License | |||
| set forth in Section 4.c of the IETF Trust's Legal Provisions | set forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC 8561; see | This version of this YANG module is part of RFC 8561; see | |||
| the RFC itself for full legal notices."; | the RFC itself for full legal notices."; | |||
| revision 2018-11-28 { | revision 2018-11-28 { | |||
| description "Initial revision."; | description | |||
| reference "RFC 8561: A YANG Data Model for Microwave Radio Link"; | "Initial revision."; | |||
| reference | ||||
| "RFC 8561: A YANG Data Model for Microwave Radio Link"; | ||||
| } | } | |||
| /* | /* | |||
| * Protection architecture type identities | * Protection architecture type identities | |||
| */ | */ | |||
| identity protection-architecture-type { | identity protection-architecture-type { | |||
| description | description | |||
| "protection architecture type"; | "protection architecture type"; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| identity one-plus-one-type { | identity one-plus-one-type { | |||
| base protection-architecture-type; | base protection-architecture-type; | |||
| description | description | |||
| "1+1; one interface protects | "1+1; one interface protects | |||
| another one interface."; | another one interface."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| identity one-to-n-type { | identity one-to-n-type { | |||
| base protection-architecture-type; | base protection-architecture-type; | |||
| description | description | |||
| "1:N; one interface protects | "1:N; one interface protects | |||
| n other interfaces."; | n other interfaces."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| /* | /* | |||
| * Protection states identities | * Protection states identities | |||
| */ | */ | |||
| identity protection-states { | identity protection-states { | |||
| description | description | |||
| "Identities describing the status of the protection | "Identities describing the status of the protection | |||
| in a group of interfaces configured in | in a group of interfaces configured in | |||
| a protection mode."; | a protection mode."; | |||
| } | } | |||
| identity unprotected { | identity unprotected { | |||
| base protection-states; | base protection-states; | |||
| description "Not protected."; | description | |||
| "Not protected."; | ||||
| } | } | |||
| identity protected { | identity protected { | |||
| base protection-states; | base protection-states; | |||
| description "Protected."; | description | |||
| "Protected."; | ||||
| } | } | |||
| identity unable-to-protect { | identity unable-to-protect { | |||
| base protection-states; | base protection-states; | |||
| description "Unable to protect."; | description | |||
| "Unable to protect."; | ||||
| } | } | |||
| /* | /* | |||
| * Protection Groups | * Protection Groups | |||
| */ | */ | |||
| grouping protection-groups { | grouping protection-groups { | |||
| description | description | |||
| "Configuration of protected groups (1+1) of interfaces | "Configuration of protected groups (1+1) of interfaces | |||
| providing protection for each other. More than one | providing protection for each other. More than one | |||
| protected group per higher-layer interface is allowed."; | protected group per higher-layer interface is allowed."; | |||
| list protection-group { | list protection-group { | |||
| key "name"; | key "name"; | |||
| description | description | |||
| "List of protected groups of interfaces | "List of protected groups of interfaces | |||
| in a higher-layer interface."; | in a higher-layer interface."; | |||
| leaf name { | leaf name { | |||
| type string; | type string; | |||
| description | description | |||
| "Name used for identification of the protection group."; | "Name used for identification of the protection group."; | |||
| } | } | |||
| leaf protection-architecture-type { | leaf protection-architecture-type { | |||
| type identityref { | type identityref { | |||
| base protection-architecture-type; | base protection-architecture-type; | |||
| } | } | |||
| default "ifprot:one-plus-one-type"; | default "ifprot:one-plus-one-type"; | |||
| description | description | |||
| "The type of protection architecture used, e.g., one | "The type of protection architecture used, e.g., one | |||
| interface protecting one or several other interfaces."; | interface protecting one or several other interfaces."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| leaf-list members { | leaf-list members { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| min-elements 2; | min-elements 2; | |||
| description | description | |||
| "Association to a group of interfaces configured for | "Association to a group of interfaces configured for | |||
| protection and used by a higher-layer interface."; | protection and used by a higher-layer interface."; | |||
| } | } | |||
| leaf operation-type { | leaf operation-type { | |||
| type enumeration { | type enumeration { | |||
| enum "non-revertive" { | enum non-revertive { | |||
| description | description | |||
| "In non-revertive operation, the traffic does not | "In non-revertive operation, the traffic does not | |||
| return to the working interface if the switch requests | return to the working interface if the switch requests | |||
| are terminated."; | are terminated."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| enum "revertive" { | enum revertive { | |||
| description | description | |||
| "In revertive operation, the traffic always | "In revertive operation, the traffic always | |||
| returns to (or remains on) the working interface | returns to (or remains on) the working interface | |||
| if the switch requests are terminated."; | if the switch requests are terminated."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| } | } | |||
| default "non-revertive"; | default "non-revertive"; | |||
| description | description | |||
| "The type of protection operation, i.e., revertive | "The type of protection operation, i.e., revertive | |||
| or non-revertive operation."; | or non-revertive operation."; | |||
| } | } | |||
| leaf-list working-entity { | leaf-list working-entity { | |||
| when "../operation-type = 'revertive'"; | when "../operation-type = 'revertive'"; | |||
| type if:interface-ref; | type if:interface-ref; | |||
| min-elements 1; | min-elements 1; | |||
| description | description | |||
| "The interfaces that the traffic normally should | "The interfaces that the traffic normally should | |||
| be transported over when there is no need to use the | be transported over when there is no need to use the | |||
| protecting interface."; | protecting interface."; | |||
| } | } | |||
| leaf revertive-wait-to-restore { | leaf revertive-wait-to-restore { | |||
| when "../operation-type = 'revertive'"; | when "../operation-type = 'revertive'"; | |||
| type uint16; | type uint16; | |||
| units "seconds"; | units "seconds"; | |||
| default "0"; | default "0"; | |||
| description | description | |||
| "The time to wait before switching back to the working | "The time to wait before switching back to the working | |||
| interface if operation-type is revertive."; | interface if operation-type is revertive."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| leaf hold-off-timer { | leaf hold-off-timer { | |||
| type uint16; | type uint16; | |||
| units "milliseconds"; | units "milliseconds"; | |||
| default "0"; | default "0"; | |||
| description | description | |||
| "Time interval after the detection of a fault and its | "Time interval after the detection of a fault and its | |||
| confirmation as a condition requiring the protection- | confirmation as a condition requiring the protection- | |||
| switching procedure."; | switching procedure."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| leaf status { | leaf status { | |||
| type identityref { | type identityref { | |||
| base protection-states; | base protection-states; | |||
| } | } | |||
| config false; | config false; | |||
| description | description | |||
| "Status of the protection in a group of interfaces | "Status of the protection in a group of interfaces | |||
| configured in a protection mode."; | configured in a protection mode."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action manual-switch-working { | action manual-switch-working { | |||
| description | description | |||
| "A switch action initiated by an operator command. | "A switch action initiated by an operator command. | |||
| It switches a normal traffic signal to the working | It switches a normal traffic signal to the working | |||
| transport entity."; | transport entity."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action manual-switch-protection { | action manual-switch-protection { | |||
| description | description | |||
| "A switch action initiated by an operator command. | "A switch action initiated by an operator command. | |||
| It switches a normal traffic signal to the protection | It switches a normal traffic signal to the protection | |||
| transport entity."; | transport entity."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action forced-switch { | action forced-switch { | |||
| description | description | |||
| "A switch action initiated by an operator command. | "A switch action initiated by an operator command. | |||
| It switches a normal traffic signal to the protection | It switches a normal traffic signal to the protection | |||
| transport entity and forces it to remain on that | transport entity and forces it to remain on that | |||
| entity even when criteria for switching back to | entity even when criteria for switching back to | |||
| the original entity are fulfilled."; | the original entity are fulfilled."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action lockout-of-protection { | action lockout-of-protection { | |||
| description | description | |||
| "A switch action temporarily disables access to the | "A switch action temporarily disables access to the | |||
| protection transport entity for all signals."; | protection transport entity for all signals."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action freeze { | action freeze { | |||
| description | description | |||
| "A switch action temporarily prevents any switch action | "A switch action temporarily prevents any switch action | |||
| to be taken and, as such, freezes the current state. | to be taken and, as such, freezes the current state. | |||
| Until the freeze is cleared, additional near-end external | Until the freeze is cleared, additional near-end external | |||
| commands are rejected, and fault condition changes and | commands are rejected, and fault condition changes and | |||
| received Automatic Protection-Switching (APS) messages | received Automatic Protection-Switching (APS) messages | |||
| are ignored."; | are ignored."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action exercise { | action exercise { | |||
| description | description | |||
| "A switch action to test if the APS communication is | "A switch action to test if the APS communication is | |||
| operating correctly. It is lower priority than any 'real' | operating correctly. It is lower priority than any 'real' | |||
| switch request."; | switch request."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| action clear { | action clear { | |||
| description | description | |||
| "An action clears all switch commands."; | "An action clears all switch commands."; | |||
| reference "ITU-T G.808.1"; | reference | |||
| "ITU-T G.808.1"; | ||||
| } | } | |||
| } | } | |||
| } | } | |||
| } | } | |||
| End of changes. 47 change blocks. | ||||
| 68 lines changed or deleted | 73 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||