diff options
author | gaurav <gaurav.agrawal@huawei.com> | 2018-10-05 10:08:34 +0530 |
---|---|---|
committer | gaurav <gaurav.agrawal@huawei.com> | 2018-10-05 10:08:34 +0530 |
commit | 2b5c534429df9abf2d6435959a17c9deaab8de7a (patch) | |
tree | 7f20af9fcfe8bb1db69af219684854837570bec6 /platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang | |
parent | 9c6b8f607007cd5236b5e4904647d1f9ea454df3 (diff) |
Allow YANG sub directories
Allow grouping of related YANG in a sub directory. This will ease out
the maintainability and enable compiling of speific YANG for a feature.
Change-Id: Ic07fdd16c73e8dddd0eca2d0d100d96c42e7e696
Issue-ID: SDNC-350
Signed-off-by: Gaurav Agrawal <gaurav.agrawal@huawei.com>
Former-commit-id: 5bda05da77cf2df0858c34c7942e92f95552c23a
Diffstat (limited to 'platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang')
-rw-r--r-- | platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang | 572 |
1 files changed, 0 insertions, 572 deletions
diff --git a/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang b/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang deleted file mode 100644 index cb7c8f05..00000000 --- a/platform-logic/restconfapi-yang/src/main/yang/ietf-eth-tran-service@2018-03-01.yang +++ /dev/null @@ -1,572 +0,0 @@ -module ietf-eth-tran-service { - - namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-service"; - - prefix "ethtsvc"; - - import ietf-yang-types { - prefix "yang"; - } - - import ietf-te-types { - prefix "te-types"; - } - - import ietf-eth-tran-types { - prefix "etht-types"; - } - - organization - "Internet Engineering Task Force (IETF) CCAMP WG"; - contact - " - WG List: <mailto:ccamp@ietf.org> - ID-draft editor: - Haomian Zheng (zhenghaomian@huawei.com); - Italo Busi (italo.busi@huawei.com); - Aihua Guo (aihuaguo@huawei.com); - Yunbin Xu (xuyunbin@ritt.cn); - Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (Xufeng_Liu@jabil.com); - Giuseppe Fioccola (giuseppe.fioccola@telecomitalia.it); - "; - - description - "This module defines a YANG data model for describing - the Ethernet transport services."; - - revision 2018-03-01 { - description - "Initial revision"; - reference - "draft-zheng-ccamp-client-signal-yang"; - } - - /* - Groupings - */ - - grouping vlan-classification { - description - "A grouping which represents classification on an 802.1Q VLAN tag."; - - leaf tag-type { - type etht-types:eth-tag-classify; - description - "The tag type used for VLAN classification."; - } - choice individual-bundling-vlan { - description - "VLAN based classification can be individual - or bundling."; - case individual-vlan { - leaf vlan-value { - type etht-types:vlanid; - description - "VLAN ID value."; - } - } - - case vlan-bundling { - leaf vlan-range { - type etht-types:vid-range-type; - description - "List of VLAN ID values."; - } - } - } - } - - grouping vlan-write { - description - "A grouping which represents push/pop operations - of an 802.1Q VLAN tag."; - - leaf tag-type { - type etht-types:eth-tag-type; - description - "The VLAN tag type to push/swap."; - } - leaf vlan-value { - type etht-types:vlanid; - description - "The VLAN ID value to push/swap."; - } - } - - grouping vlan-operations { - description - "A grouping which represents VLAN operations."; - - leaf pop-tags { - type uint8 { - range "1..2"; - } - description - "The number of VLAN tags to pop (or swap if used in - conjunction with push-tags)"; - } - container push-tags { - description - "The VLAN tags to push (or swap if used in - conjunction with pop-tags)"; - - container outer-tag { - presence - "Indicates existence of the outermost VLAN tag to - push/swap"; - - description - "The outermost VLAN tag to push/swap."; - - uses vlan-write; - } - container second-tag { - must - '../outer-tag/tag-type = "s-vlan-tag-type" and ' + - 'tag-type = "c-vlan-tag-type"' - { - - error-message - " - When pushing/swapping two tags, the outermost tag must - be specified and of S-VLAN type and the second - outermost tag must be of C-VLAN tag type. - "; - description - " - For IEEE 802.1Q interoperability, when pushing/swapping - two tags, it is required that the outermost tag exists - and is an S-VLAN, and the second outermost tag is a - C-VLAN. - "; - } - - presence - "Indicates existence of a second outermost VLAN tag to - push/swap"; - - description - "The second outermost VLAN tag to push/swap."; - - uses vlan-write; - } - } - } - - grouping bandwidth-profiles { - description - "A grouping which represent bandwidth profile configuration."; - - choice direction { - description - "Whether the bandwidth profiles are symmetrical or - asymmetrical"; - case symmetrical { - description - "The same bandwidth profile is used to describe the ingress - and the egress bandwidth profile."; - - leaf ingress-egress-bandwidth-profile-name { - type "string"; - description - "Name of the bandwidth profile."; - } - } - case asymmetrical { - description - "Ingress and egress bandwidth profiles can be specified."; - leaf ingress-bandwidth-profile-name { - type "string"; - description - "Name of the bandwidth profile used in - the ingress direction."; - } - leaf egress-bandwidth-profile-name { - type "string"; - description - "Name of the bandwidth profile used in - the egress direction."; - } - } - } - } - - grouping etht-svc-access-parameters { - description - "ETH transport services access parameters"; - - leaf access-node-id { - type te-types:te-node-id; - description - "The identifier of the access node in - the ETH transport topology."; - } - leaf access-ltp-id { - type te-types:te-tp-id; - description - "The TE link termination point identifier, used - together with access-node-id to identify the - access LTP."; - } - leaf service-classification-type { - type identityref { - base etht-types:service-classification-type; - } - description - "Service classification type."; - } - - choice service-classification { - description - "Access classification can be port-based or - VLAN based."; - - case port-classification { - /* no additional information */ - } - - case vlan-classification { - container outer-tag { - presence "The outermost VLAN tag exists"; - description - "Classifies traffic using the outermost VLAN tag."; - - uses vlan-classification; - } - container second-tag { - must - '../outer-tag/tag-type = "classify-s-vlan" and ' + - 'tag-type = "classify-c-vlan"' - { - - error-message - " - When matching two tags, the outermost tag must be - specified and of S-VLAN type and the second - outermost tag must be of C-VLAN tag type. - "; - description - " - For IEEE 802.1Q interoperability, when matching two - tags, it is required that the outermost tag exists - and is an S-VLAN, and the second outermost tag is a - C-VLAN. - "; - } - presence "The second outermost VLAN tag exists"; - - description - "Classifies traffic using the second outermost VLAN tag."; - - uses vlan-classification; - } - } - } - -/* - Open issue: can we constraints it to be used only with mp services? -*/ - leaf split-horizon-group { - type string; - description "Identify a split horizon group"; - } - - uses bandwidth-profiles; - - container vlan-operations { - description - "include parameters for vlan-operation"; - choice direction { - description - "Whether the VLAN operations are symmetrical or - asymmetrical"; - case symmetrical { - container symmetrical-operation { - uses vlan-operations; - description - "Symmetrical operations. - Expressed in the ingress direction, but - the reverse operation is applied to egress traffic"; - } - } - case asymmetrical { - container asymmetrical-operation { - description "Asymmetrical operations"; - container ingress { - uses vlan-operations; - description "Ingress operations"; - } - container egress { - uses vlan-operations; - description "Egress operations"; - } - } - } - } - } - } - - grouping etht-svc-tunnel-parameters { - description - "ETH transport services tunnel parameters"; - - leaf tunnel-name { - type string; - description - "TE service tunnel instance name."; - } - choice svc-multiplexing-tag { - description - "Service multiplexing is optional and flexible."; - - case other { - /* - placeholder to support proprietary multiplexing - (for further discussion) - */ - } - - case none { - /* no additional information is needed */ - } - - case vlan-tag { - /* - No additional information is needed - The C-Tag or S-Tag used for service mulitplexing is defined - by the VLAN classification and operations configured in the - etht-svc-access-parameters grouping - */ - } - - case pw { - /* to be completed (for further discussion) */ - } - } - -/* - Open issue: can we constraints it to be used only with mp services? -*/ - leaf src-split-horizon-group { - type string; - description "Identify a split horizon group at the Tunnel source TTP"; - } - leaf dst-split-horizon-group { - type string; - description "Identify a split horizon group at the Tunnel destination TTP"; - } - } - - grouping te-topology-identifier { - description - "An identifier to uniquely identify the TE topology."; - leaf access-provider-id { - type te-types:te-global-id; - description - "An identifier to uniquely identify a provider."; - } - leaf access-client-id { - type te-types:te-global-id; - description - "An identifier to uniquely identify a client."; - } - leaf access-topology-id { - type te-types:te-topology-id; - description - "Identifies the topology the - service access ports belong to."; - } - } - - grouping etht-svc-pm-threshold_config { - description - "Configuraiton parameters for Ethernet service PM thresholds."; - - leaf sending-rate-high { - type uint64; - description - "High threshold of packet sending rate in kbps."; - } - leaf sending-rate-low { - type uint64; - description - "Low threshold of packet sending rate in kbps."; - } - leaf receiving-rate-high { - type uint64; - description - "High threshold of packet receiving rate in kbps."; - } - leaf receiving-rate-low { - type uint64; - description - "Low threshold of packet receiving rate in kbps."; - } - } - - grouping etht-svc-pm-stats { - description - "Ethernet service PM statistics."; - - leaf sending-rate-too-high { - type uint32; - description - "Counter that indicates the number of times the sending rate is above the high threshold"; - } - leaf sending-rate-too-low { - type uint32; - description - "Counter that indicates the number of times the sending rate is below the low threshold"; - } - leaf receiving-rate-too-high { - type uint32; - description - "Counter that indicates the number of times the receiving rate is above the high threshold"; - } - leaf receiving-rate-too-low { - type uint32; - description - "Counter that indicates the number of times the receiving rate is below the low threshold"; - } - } - - grouping etht-svc-instance_config { - description - "Configuraiton parameters for Ethernet services."; - - leaf etht-svc-name { - type string; - description - "Name of the p2p ETH transport service."; - } - - leaf etht-svc-descr { - type string; - description - "Description of the ETH transport service."; - } - - leaf etht-svc-type { - type etht-types:service-type; - description - "Type of Ethernet service (p2p, mp2mp or rmp)."; - /* Add default as p2p */ - } - - uses te-topology-identifier; - - list etht-svc-access-ports { - key access-port-id; - min-elements "1"; -/* - Open Issue: - Is it possible to limit the max-elements only for p2p services? - max-elements "2"; -*/ - description - "List of the ETH trasport services access port instances."; - - leaf access-port-id { - type uint16; - description - "ID of the service access port instance"; - } - uses etht-svc-access-parameters; - } - list etht-svc-tunnels { - key tunnel-name; - description - "List of the TE Tunnels supporting the ETH - transport service."; - - uses etht-svc-tunnel-parameters; - } - container pm-config { - description - "ETH service performance monitoring"; - - leaf pm-enable { - type boolean; - description - "Boolean value indicating whether PM is enabled."; - } - uses etht-svc-pm-threshold_config; - } - leaf admin-status { - type identityref { - base te-types:tunnel-state-type; - } - default te-types:tunnel-state-up; - description "ETH service administrative state."; - } - } - - grouping etht-svc-instance_state { - description - "State parameters for Ethernet services."; - - leaf operational-state { - type identityref { - base te-types:tunnel-state-type; - } - default te-types:tunnel-state-up; - description "ETH service operational state."; - } - leaf provisioning-state { - type identityref { - base te-types:lsp-state-type; - } - description "ETH service provisioning state."; - } - leaf creation-time { - type yang:date-and-time; - description - "Time of ETH service creation."; - } - leaf last-updated-time { - type yang:date-and-time; - description - "Time of ETH service last update."; - } - uses etht-svc-pm-stats; - } - - /* - Data nodes - */ - - container etht-svc { - description - "ETH transport services."; - - container globals { - description - "ETH profile information."; - list etht-svc-bandwidth-profiles { - key bandwidth-profile-name; - description - "List of bandwidth profile templates used by - Ethernet services."; - - uses etht-types:etht-bandwidth-profiles; - } - } - - list etht-svc-instances { - key etht-svc-name; - description - "The list of p2p ETH transport service instances"; - - uses etht-svc-instance_config; - - container state { - config false; - description - "Ethernet Service states."; - - uses etht-svc-instance_state; - } - } - } -}
\ No newline at end of file |