diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/NetworkTypeEnum.py b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/NetworkTypeEnum.py deleted file mode 100644 index 96fe4dff1452458479b4b04f98e12be63343e022..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/NetworkTypeEnum.py +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from enum import Enum -from typing import Optional - -class NetworkTypeEnum(Enum): - TE_OTN_TOPOLOGY = 'otn' - TE_ETH_TRAN_TOPOLOGY = 'eth-tran' - -def get_network_topology_type(topology_id : str) -> Optional[NetworkTypeEnum]: - return NetworkTypeEnum._value2member_map_.get(topology_id) diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/Networks.py b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/Networks.py index 4a11eaf08b86ed0d35ff6c777c75fc7d953f393c..260fa5e04fb43de2f363f8fac1e89c3791034f43 100644 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/Networks.py +++ b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/Networks.py @@ -22,13 +22,11 @@ from context.client.ContextClient import ContextClient from nbi.service.rest_server.nbi_plugins.tools.Authentication import HTTP_AUTH from nbi.service.rest_server.nbi_plugins.tools.HttpStatusCodes import HTTP_OK, HTTP_SERVERERROR from .YangHandler import YangHandler -from .ManualFixes import manual_fixes LOGGER = logging.getLogger(__name__) TE_TOPOLOGY_NAMES = [ 'providerId-10-clientId-0-topologyId-1', - 'providerId-10-clientId-0-topologyId-2' ] class Networks(Resource): @@ -38,13 +36,8 @@ class Networks(Resource): topology_id = '' try: context_client = ContextClient() - #target = get_slice_by_uuid(context_client, vpn_id, rw_copy=True) - #if target is None: - # raise Exception('VPN({:s}) not found in database'.format(str(vpn_id))) - topology_details = get_topology_details( - context_client, DEFAULT_TOPOLOGY_NAME, context_uuid=DEFAULT_CONTEXT_NAME, #rw_copy=True - ) + context_client, DEFAULT_TOPOLOGY_NAME) if topology_details is None: MSG = 'Topology({:s}/{:s}) not found' raise Exception(MSG.format(DEFAULT_CONTEXT_NAME, DEFAULT_TOPOLOGY_NAME)) @@ -55,11 +48,8 @@ class Networks(Resource): network_reply = yang_handler.compose_network(te_topology_name, topology_details) network_list_reply.append(network_reply) - # TODO: improve these workarounds to enhance performance yang_handler.destroy() response = jsonify(network_list_reply) - # Workaround; pyangbind does not allow to set otn_topology / eth-tran-topology - manual_fixes(response) response.status_code = HTTP_OK except Exception as e: # pylint: disable=broad-except diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/YangHandler.py b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/YangHandler.py index 50db6d33bd246c4b16348fbd781a78d82903ee83..0472a2e34d6a0d73265f15ff97bf502114b34fff 100644 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/YangHandler.py +++ b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/YangHandler.py @@ -12,184 +12,113 @@ # See the License for the specific language governing permissions and # limitations under the License. -import json, libyang, logging, os, re +import json +import libyang, logging, os from typing import Any -from common.DeviceTypes import DeviceTypeEnum -from common.proto.context_pb2 import TopologyDetails, Device, Link, EndPoint +from common.proto.context_pb2 import TopologyDetails, Device, Link from .NameMapping import NameMappings -from .NetworkTypeEnum import NetworkTypeEnum, get_network_topology_type - +from context.client.ContextClient import ContextClient +from common.tools.object_factory.Device import json_device_id +from common.proto.context_pb2 import DeviceId LOGGER = logging.getLogger(__name__) YANG_DIR = os.path.join(os.path.dirname(__file__), 'yang') YANG_MODULES = [ 'ietf-network', - 'ietf-network-topology' + 'ietf-network-topology', + 'ietf-l3-unicast-topology' ] -MAPPINGS_TE_NODE_NAME = { - '10.0.10.1' : 'OA', - '10.0.20.1' : 'P', - '10.0.30.1' : 'OE', - '10.0.40.1' : 'P', - - '128.32.10.1': 'ONT1', - '128.32.20.1': 'ONT2', - '128.32.33.5': 'OLT', -} - -IGNORE_ENDPOINT_NAMES = {'mgmt', 'eth1'} - -IGNORE_DEVICE_TYPES = { - DeviceTypeEnum.CLIENT.value, - DeviceTypeEnum.DATACENTER.value, - DeviceTypeEnum.EMULATED_CLIENT.value, - DeviceTypeEnum.EMULATED_DATACENTER.value, - DeviceTypeEnum.EMULATED_IP_SDN_CONTROLLER, - DeviceTypeEnum.EMULATED_MICROWAVE_RADIO_SYSTEM.value, - DeviceTypeEnum.EMULATED_OPEN_LINE_SYSTEM.value, - DeviceTypeEnum.EMULATED_XR_CONSTELLATION.value, - DeviceTypeEnum.IP_SDN_CONTROLLER, - DeviceTypeEnum.MICROWAVE_RADIO_SYSTEM.value, - DeviceTypeEnum.NETWORK.value, - DeviceTypeEnum.OPEN_LINE_SYSTEM.value, - DeviceTypeEnum.XR_CONSTELLATION.value, -} - -IGNORE_DEVICE_NAMES = { - NetworkTypeEnum.TE_OTN_TOPOLOGY: { - 'nce-t', '128.32.10.1', '128.32.33.5', '128.32.20.5', '128.32.20.1', '128.32.10.5', - }, - NetworkTypeEnum.TE_ETH_TRAN_TOPOLOGY: { - 'nce-t', - }, -} - -TE_TOPOLOGY_NAME = 'Huawei-Network' - class YangHandler: def __init__(self) -> None: self._yang_context = libyang.Context(YANG_DIR) for yang_module_name in YANG_MODULES: LOGGER.info('Loading module: {:s}'.format(str(yang_module_name))) self._yang_context.load_module(yang_module_name).feature_enable_all() - + + def get_endpoint_name(self, device: str) -> None: + context_client = ContextClient() + device = context_client.GetDevice(DeviceId(**json_device_id(device))) + def compose_network(self, te_topology_name : str, topology_details : TopologyDetails) -> None: networks = self._yang_context.create_data_path('/ietf-network:networks') - network = networks.create_path('network[network-id="{:s}"]'.format(te_topology_name)) - network.create_path('network-id', te_topology_name) - network_types = network.create_path('network-types') #augmentation, mirar RFC8346 - network_types.create_path('ietf-l3-unicast-topology:l3-unicast-topology') #no se si es asi - network.create_path('supporting-network', ) #lista de networks-id, NO SE COMO VERLO - attributes = network.create_path('ietf-l3-unicast-topology:l3-topology-attributes') - #NO SE QUE ATRIBUTOS, CASO ESPECIAL OSPF? - attributes.create_path('name',) - attributes.create_path('flag',) + network_types = network.create_path('network-types') + network_types.create_path('ietf-l3-unicast-topology:l3-unicast-topology') - ''' NO SEEEEEE SI HACE FALTA - # TODO: resolve setting of otn_topology/eth_tran_topology network type; not working in bindings. - # See "../ManualFixes.py". - topology_id = ietf_network_obj.te_topology_identifier.topology_id - topology_id = { - '1': NetworkTypeEnum.TE_OTN_TOPOLOGY.value, - '2': NetworkTypeEnum.TE_ETH_TRAN_TOPOLOGY.value, - }.get(topology_id, topology_id) - network_type = get_network_topology_type(topology_id) - if network_type == NetworkTypeEnum.TE_OTN_TOPOLOGY: - #ietf_network_obj.network_types.te_topology.otn_topology._set_present() - pass - elif network_type == NetworkTypeEnum.TE_ETH_TRAN_TOPOLOGY: - #ietf_network_obj.network_types.te_topology.eth_tran_topology._set_present() - pass - else: - raise Exception('Unsupported TopologyId({:s})'.format(str(topology_id))) - ''' name_mappings = NameMappings() - ignore_device_uuids = set() - - - for device in topology_details.devices: - device_uuid = device.device_id.device_uuid.uuid - - device_type = device.device_type - if device_type in IGNORE_DEVICE_TYPES: - ignore_device_uuids.add(device_uuid) - continue - - device_name = device.name - if device_name in IGNORE_DEVICE_NAMES.get(network_type, set()): #NETWORK_TYPE? - ignore_device_uuids.add(device_uuid) - continue - + for device in topology_details.devices: self.compose_node(device, name_mappings, network) for link in topology_details.links: - link_device_uuids = { - endpoint_id.device_id.device_uuid.uuid - for endpoint_id in link.link_endpoint_ids - } - if len(ignore_device_uuids.intersection(link_device_uuids)) > 0: - continue - link_name = link.name - - self.compose_link(link_name, link, name_mappings, network) - + self.compose_link(link, name_mappings, network) + return json.loads(networks.print_mem('json')) - def compose_node(self, device : Device, name_mappings : NameMappings, network : Any - ) -> None: - device_name = device.name - - name_mappings.store_device_name(device) - - node = network.create_path('node[node-id="{:s}"]'.format(device_name)) - node.create_path('node-id', device_name) - #supporting node (nw-ref, node-ref)? - node_attributes = node.create_path('ietf-l3-unicast-topology:l3-node-attributes') - #no se que va en cada atributo - node_attributes.create_path('name',) - node_attributes.create_path('flag',) - node_attributes.create_path('router-id',) - prefix = node_attributes.create_path('prefix[prefix="{:s}"]'.format()) - prefix.create_path('prefix',) - prefix.create_path('metric',) - prefix.create_path('flag',) + def compose_node(self, dev: Device, name_mappings: NameMappings, network: Any) -> None: + device_name = dev.name + name_mappings.store_device_name(dev) + node = network.create_path(f'node[node-id="{device_name}"]') + node.create_path('node-id', device_name) + node_attributes = node.create_path('ietf-l3-unicast-topology:l3-node-attributes') + node_attributes.create_path('name', device_name) - for endpoint in device.device_endpoints: - endpoint_name = endpoint.name - if endpoint_name in IGNORE_ENDPOINT_NAMES: continue + context_client = ContextClient() + device = context_client.GetDevice(DeviceId(**json_device_id(device_name))) - tp = node.create_path('ietf-network-topology:termination-point[tp-id="{:s}"]'.format(endpoint_name)) - tp.create_path('tp-id', endpoint_name) - #supporting termination point? - tp_attributes = tp.create_path('ietf-l3-unicast-topology:l3-termination-point-attributes') - tp_attributes.create_path('termination-point-type',endpoint.endpoint_type) - - def compose_link(self, link_name : Any, link_specs : Link, name_mappings : NameMappings, network : Any + for endpoint in device.device_endpoints: + name_mappings.store_endpoint_name(dev,endpoint) + + for config in device.device_config.config_rules: + if config.WhichOneof('config_rule') != 'custom' or '/interface[' not in config.custom.resource_key: + continue + + for endpoint in device.device_endpoints: + endpoint_name = endpoint.name + if f'/interface[{endpoint_name}]' in config.custom.resource_key or f'/interface[{endpoint_name}.' in config.custom.resource_key: + interface_name = config.custom.resource_key.split('interface[')[1].split(']')[0] + + ip_addresses = [] + resource_value = json.loads(config.custom.resource_value) + if 'address_ip' in resource_value: + ip_addresses.append(resource_value['address_ip']) + if 'address_ipv6' in resource_value: + ip_addresses.append(resource_value['address_ipv6']) + + if ip_addresses: + tp = node.create_path(f'ietf-network-topology:termination-point[tp-id="{interface_name}"]') + tp.create_path('tp-id', interface_name) + tp_attributes = tp.create_path('ietf-l3-unicast-topology:l3-termination-point-attributes') + + for ip in ip_addresses: + tp_attributes.create_path('ip-address', ip) + tp_attributes.create_path('interface-name', endpoint_name) + + def compose_link(self, link_specs : Link, name_mappings : NameMappings, network : Any ) -> None: + link_name = link_specs.name links = network.create_path('ietf-network-topology:link[link-id="{:s}"]'.format(link_name)) links.create_path('link-id', link_name) src_endpoint_id = link_specs.link_endpoint_ids[0] + LOGGER.info('SRC: {:s}'.format(str(src_endpoint_id))) source = links.create_path('source') - source.create_path('source_node', name_mappings.get_device_name(src_endpoint_id.device_id)) - source.create_path('source_tp', name_mappings.get_endpoint_name(src_endpoint_id)) + source.create_path('source-node', name_mappings.get_device_name(src_endpoint_id.device_id)) + source.create_path('source-tp', name_mappings.get_endpoint_name(src_endpoint_id)) dst_endpoint_id = link_specs.link_endpoint_ids[-1] + LOGGER.info('DST: {:s}'.format(str(dst_endpoint_id))) destination = links.create_path('destination') - destination.create_path('dest_node', name_mappings.get_device_name(dst_endpoint_id.device_id)) - destination.create_path('dest_tp', name_mappings.get_endpoint_name(dst_endpoint_id)) + destination.create_path('dest-node', name_mappings.get_device_name(dst_endpoint_id.device_id)) + destination.create_path('dest-tp', name_mappings.get_endpoint_name(dst_endpoint_id)) - #supporting-link??? - - link_attributes = links.create_path('ietf-l3-unicast-topology:l3-link-attributes') - #no se que atributos poner - link_attributes.create_path('name',) - link_attributes.create_path('flag',) - link_attributes.create_path('metric',) + # link_attributes = links.create_path('ietf-l3-unicast-topology:l3-link-attributes') + # link_attributes.create_path('name', link_name) + def destroy(self) -> None: + self._yang_context.destroy() + \ No newline at end of file diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-te-topology@2023-09-28.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-te-topology@2023-09-28.yang deleted file mode 100644 index b182f7f5a323d1a50c1ab53715b96e02758ea327..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-te-topology@2023-09-28.yang +++ /dev/null @@ -1,2275 +0,0 @@ - module ietf-eth-te-topology { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-eth-te-topology"; - prefix "etht"; - - import ietf-network { - prefix "nw"; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - - import ietf-network-topology { - prefix "nt"; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - - import ietf-te-topology { - prefix "tet"; - reference - "RFC 8795: YANG Data Model for Traffic Engineering - (TE) Topologies"; - } - - import ietf-yang-types { - prefix "yang"; - reference - "RFC 6991: Common YANG Data Types"; - } - - import ietf-eth-tran-types { - prefix "etht-types"; - reference - "RFC YYYY: A YANG Data Model for Transport Network Client - Signals"; - } - // RFC Ed.: replace YYYY with actual RFC number, update date - // information and remove this note - - organization - "IETF CCAMP Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/ccamp/> - WG List: <mailto:ccamp@ietf.org> - - Editor: Haomian Zheng - <mailto:zhenghaomian@huawei.com> - - Editor: Italo Busi - <mailto:italo.busi@huawei.com> - - Editor: Aihua Guo - <mailto:aihuaguo.ietf@gmail.com> - - Editor: Yunbin Xu - <mailto:xuyunbin@caict.ac.cn> - - Editor: Yang Zhao - <mailto:zhaoyangyjy@chinamobile.com> - - Editor: Xufeng Liu - <mailto:xufeng.liu.ietf@gmail.com>"; - - description - "This module defines a YANG data model for describing - layer-2 Ethernet transport topologies. The model fully - conforms to the Network Management Datastore - Architecture (NMDA). - - Copyright (c) 2023 IETF Trust and the persons identified - as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Revised BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices. - - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL - NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', - 'MAY', and 'OPTIONAL' in this document are to be interpreted as - described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - they appear in all capitals, as shown here."; - - revision 2023-09-28 { - description - "Initial Revision"; - reference - "RFC XXXX: A YANG Data Model for Ethernet TE Topology"; - // RFC Ed.: replace XXXX with actual RFC number, update date - // information and remove this note - } - - /* - * Groupings - */ - - grouping label-range-info { - description - "Ethernet technology-specific label range related - information with a presence container indicating that the - label range is an Ethernet technology-specific label range. - - This grouping SHOULD be used together with the - eth-label and eth-label-step groupings to provide Ethernet - technology-specific label information to the models which - use the label-restriction-info grouping defined in the module - ietf-te-types."; - - container ethernet-label-range { - presence - "Indicates the label range is an Ethernet label range. - - This container must not be present if there are other - presence containers or attributes indicating another type - of label range."; - description - "Ethernet-specific label range related information."; - - uses etht-types:eth-label-restriction; - } - } - - grouping eth-tran-topology-type { - description - "Identifies the Ethernet Transport topology type"; - - container eth-tran-topology { - presence "indicates a topology type of - Ethernet Transport Network."; - description "Eth transport topology type"; - } - } - - grouping ltp-bandwidth-profiles { - description - "A grouping which represents the bandwidth profile(s) - for the ETH LTP."; - - 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."; - - container ingress-egress-bandwidth-profile { - description - "The bandwith profile used in the ingress and egress - direction."; - uses etht-types:etht-bandwidth-profiles; - } - } - case asymmetrical { - description - "Different ingress and egress bandwidth profiles - can be specified."; - container ingress-bandwidth-profile { - description - "The bandwidth profile used in the ingress direction."; - uses etht-types:etht-bandwidth-profiles; - } - container egress-bandwidth-profile { - description - "The bandwidth profile used in the egress direction."; - uses etht-types:etht-bandwidth-profiles; - } - } - } - } - grouping eth-ltp-attributes { - description - "Ethernet transport Link Termination Point (LTP) attributes"; - - leaf ltp-mac-address { - type yang:mac-address; - description - "The MAC address of the Ethernet LTP."; - } - leaf port-vlan-id { - type etht-types:vlanid; - description - "The Port VLAN ID of the Ethernet LTP."; - reference - "IEEE 802.1Q: Virtual Bridged Local Area Networks"; - } - leaf maximum-frame-size { - type uint16 { - range "64 .. 65535"; - } - description - "Maximum frame size"; - reference - "IEEE 802.1Q: Virtual Bridged Local Area Networks"; - } - uses ltp-bandwidth-profiles; - } - - grouping svc-vlan-classification { - description - "Grouping defining the capabilities for VLAN classification."; - - leaf-list supported-tag-types { - type etht-types:eth-tag-classify; - description - "List of VLAN tag types that can be used for the VLAN - classification. In case VLAN classification is not - supported, the list is empty."; - } - leaf vlan-bundling { - type boolean; - description - "In case VLAN classification is supported, indicates whether - VLAN bundling classification is also supported."; - reference - "MEF 10.3: Ethernet Services Attributes Phase 3"; - } - leaf vlan-range { - type etht-types:vid-range-type; - description - "In case VLAN classification is supported, indicates the - of available VLAN ID values."; - } - } - - grouping svc-vlan-push { - description - "Grouping defining the capabilities for VLAN push or swap - operations."; - - leaf-list supported-tag-types { - type etht-types:eth-tag-type; - description - "List of VLAN tag types that can be used to push or swap a - VLAN tag. In case VLAN push/swap is not supported, the list - is empty."; - reference - "IEEE 802.1Q: Virtual Bridged Local Area Networks"; - } - leaf vlan-range { - type etht-types:vid-range-type; - description - "In case VLAN push/swap operation is supported, the range - of available VLAN ID values."; - } - } - - grouping eth-svc-attributes { - description - "Ethernet Link Termination Point (LTP) service attributes."; - - container supported-classification { - description - "Service classification capability supported by the - Ethernet Link Termination Point (LTP)."; - - leaf port-classification { - type boolean; - description - "Indicates that the ETH LTP support port-based service - classification."; - } - container vlan-classification { - description - "Service classification capabilities based on the VLAN - tag(s) supported by the ETH LTP."; - leaf vlan-tag-classification { - type boolean; - description - "Indicates that the ETH LTP supports VLAN service - classification."; - } - container outer-tag { - description - "Service classification capabilities based on the outer - VLAN tag, supported by the ETH LTP."; - uses svc-vlan-classification; - } - container second-tag { - description - "Service classification capabilities based on the second - VLAN tag, supported by the ETH LTP."; - leaf second-tag-classification { - type boolean; - must ". = 'false' or " - + "../../vlan-tag-classification = 'true'" { - description - "VLAN service classification based on the second - VLAN tag can be supported only when VLAN service - classification"; - } - description - "Indicates that the ETH LTP support VLAN service - classification based on the second VLAN tag."; - } - uses svc-vlan-classification; - } - } - } - - container supported-vlan-operations { - description - "Reports the VLAN operations supported by the ETH LTP."; - - leaf asymmetrical-operations { - type boolean; - description - "Indicates whether the ETH LTP supports also asymmetrical - VLAN operations.It is assumed that symmetrical VLAN - operations are alwyas supported."; - } - leaf transparent-vlan-operations { - type boolean; - description - "Indicates that the ETH LTP supports transparent - operations."; - } - container vlan-pop { - description - "Indicates VLAN pop or swap operations capabilities."; - - leaf vlan-pop-operations { - type boolean; - description - "Indicates that the ETH LTP supports VLAN pop or - swap operations."; - } - leaf max-pop-tags { - type uint8 { - range "1..2"; - } - description - "Indicates the maximum number of tags that can be - popped/swapped."; - } - } - container vlan-push { - description - "Indicates VLAN push or swap operations capabilities."; - - leaf vlan-push-operation { - type boolean; - description - "Indicates that the ETH LTP supports VLAN push or - swap operations."; - } - container outer-tag { - description - "Indicates the supported VLAN operation capabilities - on the outer VLAN tag."; - uses svc-vlan-push; - } - container second-tag { - description - "Indicates the supported VLAN operation capabilities - on the second VLAN tag."; - leaf push-second-tag { - type boolean; - description - "Indicates that the ETH LTP supports VLAN push or swap - operations for the second VLAN tag."; - } - uses svc-vlan-push; - } - } - } - } - - /* - * Data nodes - */ - - augment "/nw:networks/nw:network/nw:network-types/" - + "tet:te-topology" { - description - "Augment network types to include ETH transport newtork"; - - uses eth-tran-topology-type; - } - - augment "/nw:networks/nw:network/nw:node/tet:te" - + "/tet:te-node-attributes" { - when "../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description "Augment only for Ethernet transport network."; - } - description "Augment TE node attributes."; - container eth-node { - presence "The TE node is an Ethernet node."; - description - "Presence container used only to indicate that the TE node - is an Ethernet node."; - } - } - - augment "/nw:networks/nw:network/nt:link" { - when "../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description "Augment only for Ethernet transport network."; - } - description "Augment link configuration"; - - container eth-svc { - presence - "When present, indicates that the Link supports Ethernet - client signals."; - description - "Presence container used only to indicate that the link - supports Ethernet client signals."; - } - } - - augment "/nw:networks/nw:network/nw:node/nt:termination-point" { - when "../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description "Augment only for Ethernet transport network."; - } - description - "Augment ETH LTP attributes"; - - container eth-svc { - presence - "When present, indicates that the Link Termination Point - (LTP) supports Ethernet client signals."; - description - "ETH LTP Service attributes."; - - uses eth-svc-attributes; - } - container eth-link-tp { - description - "Attributes of the Ethernet Link Termination Point (LTP)."; - uses eth-ltp-attributes; - } - } - - /* - * Augment TE bandwidth - */ - - augment "/nw:networks/nw:network/nw:node/nt:termination-point/" - + "tet:te/" - + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum LSP TE bandwidth for the link termination - point (LTP)."; - case eth { - uses etht-types:eth-bandwidth; - } - } - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints of the TE node - connectivity matrices."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints of the - connectivity matrix entry."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints of the TE node - connectivity matrices information source."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints of the - connectivity matrix entry information source"; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:client-layer-adaptation/tet:switching-capability/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment client TE bandwidth of the tunnel termination point - (TTP)"; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/tet:path-constraints/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints for the TTP - Local Link Connectivities."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/tet:path-constraints/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE bandwidth path constraints for the TTP - Local Link Connectivity entry."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum LSP TE bandwidth for the TE link."; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum TE bandwidth for the TE link"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum reservable TE bandwidth for the TE link"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment unreserved TE bandwidth for the TE Link"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:interface-switching-capability/" - + "tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum LSP TE bandwidth for the TE link - information source"; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum TE bandwidth for the TE link - information source"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment maximum reservable TE bandwidth for the TE link - information-source"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment unreserved TE bandwidth of the TE link - information source"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:interface-switching-capability/" - + "tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - description - "Augment maximum LSP TE bandwidth of the TE link - template"; - case eth { - uses etht-types:eth-bandwidth; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment maximum TE bandwidth the TE link template"; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment maximum reservable TE bandwidth for the TE link - template."; - uses etht-types:eth-bandwidth; - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment unreserved TE bandwidth the TE link template"; - uses etht-types:eth-bandwidth; - } - - /* - * Augment TE label range information - */ - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TE node - connectivity matrices."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the source LTP - of the connectivity matrix entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the destination LTP - of the connectivity matrix entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TE node - connectivity matrices information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the source LTP - of the connectivity matrix entry information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the destination LTP - of the connectivity matrix entry information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TTP - Local Link Connectivities."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TTP - Local Link Connectivity entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TE link."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range information for the TE link - information source."; - uses label-range-info; - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction" { - description - "Augment TE label range information for the TE link template."; - uses label-range-info; - } - - /* - * Augment TE label. - */ - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TE node - connectivity matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/" - + "tet:label-restriction/tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TE node - connectivity matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/" - + "tet:label-restriction/tet:label-step/" - + "tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TE node - connectivity matrices"; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:underlay/tet:primary-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path of the - TE node connectivity matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:underlay/tet:backup-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path of the - TE node connectivity matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TE node connectivity - matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TE node connectivity - matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TE node connectivity matrices"; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the source LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the source LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the source LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the destination LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the destination LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the destination LTP - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:primary-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:backup-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:optimizations/" - + "tet:algorithm/tet:metric/tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:optimizations/" - + "tet:algorithm/tet:metric/tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the connectivity matrix entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TE node connectivity - matrices information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TE node connectivity - matrices information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TE node connectivity - matrices information source."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TE node connectivity matrices of the information - source entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TE node connectivity matrices of the information - source entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TE node connectivity matrices - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TE node connectivity matrices - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TE node connectivity matrices information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the source LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the source LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the source LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the destination LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the destination LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the destination LTP - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the connectivity matrix entry - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the connectivity matrix entry - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the connectivity matrix entry information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TTP - Local Link Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology"{ - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TTP - Local Link Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology"{ - when "../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TTP - Local Link Connectivities."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TTP Local Link Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TTP Local Link Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TTP Local Link - Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TTP Local Link - Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TTP Local Link Connectivities."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TTP - Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TTP - Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TTP - Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TTP Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TTP Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TTP Local Link - Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TTP Local Link - Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TTP Local Link Connectivity entry."; - case eth { - uses etht-types:eth-label; - } - } - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TE link."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TE link."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TE link."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TE link."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TE link."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range start for the TE link - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range end for the TE link - information source."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "etht:eth-tran-topology" { - description - "Augmentation parameters apply only for networks with - Ethernet topology type."; - } - description - "Augment TE label range step for the TE link - information source."; - case eth { - uses etht-types:eth-label-step; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - description - "Augment TE label hop for the underlay primary path - of the TE link template."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - description - "Augment TE label hop for the underlay backup path - of the TE link template."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - description - "Augment TE label range start for the TE link template."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - description - "Augment TE label range end for the TE link template."; - case eth { - uses etht-types:eth-label; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - description - "Augment TE label range step for the TE link template."; - case eth { - uses etht-types:eth-label-step; - } - } - - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-service@2023-10-23.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-service@2023-10-23.yang deleted file mode 100644 index 222066adf0e1ece5f964fbabb170edf92d57b21e..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-service@2023-10-23.yang +++ /dev/null @@ -1,1004 +0,0 @@ - module ietf-eth-tran-service { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-eth-tran-service"; - - prefix "ethtsvc"; - import ietf-yang-types { - prefix "yang"; - reference "RFC 6991 - Common YANG Data Types"; - } - - import ietf-network { - prefix "nw"; - reference "RFC8345 - A YANG Data Model for Network Topologies"; - } - - import ietf-network-topology { - prefix "nt"; - reference "RFC8345 - A YANG Data Model for Network Topologies"; - } - - import ietf-te-types { - prefix "te-types"; - reference "RFC 8776 - Traffic Engineering Common YANG Types"; - } - - import ietf-eth-tran-types { - prefix "etht-types"; - reference "RFC XXXX - A YANG Data Model for Transport - Network Client Signals"; - } - - import ietf-routing-types { - prefix "rt-types"; - reference "RFC 8294 - Common YANG Data Types for the - Routing Area"; - - } - - import ietf-te { - prefix "te"; - reference "RFC YYYY - A YANG Data Model for Traffic - Engineering Tunnels and Interfaces"; - } - - 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.ietf@gmail.com); - Anton Snitser (antons@sedonasys.com);0 - Francesco Lazzeri (francesco.lazzeri@ericsson.com); - Yunbin Xu (xuyunbin@caict.ac.cn); - Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (xufeng.liu.ietf@gmail.com); - Giuseppe Fioccola (giuseppe.fioccola@huawei.com); - Chaode Yu (yuchaode@huawei.com) - "; - - description - "This module defines a YANG data model for describing - the Ethernet services. The model fully conforms to the - Network Management Datastore Architecture (NMDA). - - Copyright (c) 2021 IETF Trust and the persons - identified as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices."; - - revision 2023-10-23 { - description - "version -04 as an WG document"; - reference - "draft-ietf-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."; - } - /* - * To be added: this attribute is used when: - * a) the ETH service has only one CoS (as in current version) - * b) as a default when a mapping between a given CoS value - * and the PCP value is not defined (in future versions) - */ - leaf default-pcp { - type uint8 { - range "0..7"; - } - description - "The default Priority Code Point (PCP) 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 = "etht-types:s-vlan-tag-type" and ' + - 'tag-type = "etht-types: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 named-or-value-bandwidth-profile { - description - "A grouping to configure a bandwdith profile either by - referencing a named bandwidth profile or by - configuring the values of the bandwidth profile attributes."; - choice style { - description - "Whether the bandwidth profile is named or defined by value"; - - case named { - description - "Named bandwidth profile."; - leaf bandwidth-profile-name { - type leafref { - path "/ethtsvc:etht-svc/ethtsvc:globals/" - + "ethtsvc:named-bandwidth-profiles/" - + "ethtsvc:bandwidth-profile-name"; - } - description - "Name of the bandwidth profile."; - } - } - case value { - description - "Bandwidth profile configured by value."; - uses etht-types:etht-bandwidth-profiles; - } - } - } - - 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 both - the ingress and the egress bandwidth profile."; - container ingress-egress-bandwidth-profile { - description - "The bandwdith profile used in both directions."; - uses named-or-value-bandwidth-profile; - } - } - case asymmetrical { - description - "Ingress and egress bandwidth profiles can be specified."; - container ingress-bandwidth-profile { - description - "The bandwdith profile used in the ingress direction."; - uses named-or-value-bandwidth-profile; - } - container egress-bandwidth-profile { - description - "The bandwdith profile used in the egress direction."; - uses named-or-value-bandwidth-profile; - } - } - } - } - - grouping etht-svc-access-parameters { - description - "ETH services access parameters"; - - leaf access-node-id { - type te-types:te-node-id; - description - "The identifier of the access node in - the ETH TE topology."; - } - - leaf access-node-uri { - type nw:node-id; - description - "The identifier of the access node in the network."; - } - - 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 access-ltp-uri { - type nt:tp-id; - description - "The link termination point identifier in network topology, - used together with access-node-uri to identify the - access LTP."; - } - - leaf access-role { - type identityref { - base etht-types:access-role; - } - description - "Indicate the role of access, e.g., working or protection. "; - } - - container pm-config { - uses pm-config-grouping; - description - "This grouping is used to set the threshold value for - performance monitoring. "; - } - - container state { - config false; - description - "The state is used to monitor the status of service. "; - leaf operational-state { - type identityref { - base te-types:tunnel-state-type; - } - description - "Indicating the operational state of client signal. "; - } - leaf provisioning-state { - type identityref { - base te-types:lsp-state-type; - } - description - "Indicating the provisional state of client signal, - especially when there is a change, i.e., revise, create. "; - } - } - - leaf performance { - type identityref { - base etht-types:performance; - } - config false; - description - "Performance Monitoring for the service. "; - } - - } - - grouping etht-svc-tunnel-parameters { - description - "ETH services tunnel parameters."; - choice technology { - description - "Service multiplexing is optional and flexible."; - - case native-ethernet { - /* - placeholder to support proprietary multiplexing - (for further discussion) - */ - list eth-tunnels { - key name; - description - "ETH Tunnel list in native Ethernet scenario."; - uses tunnels-grouping; - } - } - - case frame-base { - list otn-tunnels { - key name; - description - "OTN Tunnel list in Frame-based scenario."; - uses tunnels-grouping; - } - } - - case mpls-tp { - container pw { - description - "Pseudowire information for Ethernet over MPLS-TP."; - uses pw-segment-grouping; - } - } - } - - /* - * 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 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 ETH service."; - } - - leaf etht-svc-title { - type string; - description - "The Identifier of the ETH service."; - } - - leaf user-label { - type string; - description - "Alias of the ETH service."; - } - - leaf etht-svc-descr { - type string; - description - "Description of the ETH service."; - } - - leaf etht-svc-customer { - type string; - description - "Customer of the ETH service."; - } - - leaf etht-svc-type { - type etht-types:service-type; - description - "Type of ETH service (p2p, mp2mp or rmp)."; - /* Add default as p2p */ - } - - leaf etht-svc-lifecycle { - type etht-types:lifecycle-status; - description - "Lifecycle state of ETH service."; - /* Add default as installed */ - } - uses te-types:te-topology-identifier; - - uses resilience-grouping; - list etht-svc-end-points { - key etht-svc-end-point-name; - description - "The logical end point for the ETH service. "; - uses etht-svc-end-point-grouping; - } - - container alarm-shreshold { - description "threshold configuration for the E2E client signal"; - uses alarm-shreshold-grouping; - } - - container underlay { - description - "The unterlay tunnel information that carrying the - ETH service. "; - uses etht-svc-tunnel-parameters; - } - - leaf admin-status { - type identityref { - base te-types:tunnel-admin-state-type; - } - default te-types:tunnel-admin-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."; - } - - leaf created-by { - type string; - description - "The client signal is created by whom, - can be a system or staff ID."; - } - leaf last-updated-by { - type string; - description - "The client signal is last updated by whom, - can be a system or staff ID."; - } - leaf owned-by { - type string; - description - "The client signal is last updated by whom, - can be a system ID."; - } - container pm-state { - description - "PM data of E2E Ethernet service"; - uses pm-state-grouping; - } - container error-info { - description "error messages of configuration"; - uses error-info-grouping; - } - } - - grouping pm-state-grouping { - leaf latency { - description - "latency value of the E2E Ethernet service"; - type uint32; - units microsecond; - } - } - - grouping error-info-grouping { - leaf error-code { - description "error code"; - type uint16; - } - - leaf error-description { - description "detail message of error"; - type string; - } - - leaf error-timestamp { - description "the date and time error is happened"; - type yang:date-and-time; - } - } - - grouping alarm-shreshold-grouping { - leaf latency-threshold { - description "a threshold for the E2E client signal service's - latency. Once the latency value exceed this threshold, an alarm - should be triggered."; - type uint32; - units microsecond; - } - } - - /* - * Data nodes - */ - - container etht-svc { - description - "ETH services."; - - container globals { - description - "Globals Ethernet configuration data container"; - list named-bandwidth-profiles { - key bandwidth-profile-name; - description - "List of named bandwidth profiles used by - Ethernet services."; - - leaf bandwidth-profile-name { - type string; - description - "Name of the bandwidth profile."; - } - uses etht-types:etht-bandwidth-profiles; - } - } - list etht-svc-instances { - key etht-svc-name; - description - "The list of p2p ETH service instances"; - - uses etht-svc-instance-config; - - container state { - config false; - description - "Ethernet Service states."; - - uses etht-svc-instance-state; - } - } - } - - grouping resilience-grouping { - description - "Grouping for resilience configuration. "; - container resilience { - description - "To configure the data plane protection parameters, - currently a placeholder only, future candidate attributes - include, Revert, WTR, Hold-off Timer, ..."; - uses te:protection-restoration-properties; - } - } - - grouping etht-svc-end-point-grouping { - description - "Grouping for the end point configuration."; - leaf etht-svc-end-point-name { - type string; - description - "The name of the logical end point of ETH service. "; - } - - leaf etht-svc-end-point-id { - type string; - description - "The identifier of the logical end point of ETH service."; - } - - leaf etht-svc-end-point-descr { - type string; - description - "The description of the logical end point of ETH service. "; - } - - leaf topology-role { - type identityref { - base etht-types:topology-role; - } - description - "Indicating the underlay topology role, - e.g., hub,spoke, any-to-any "; - } - - container resilience { - description - "Placeholder for resilience configuration, for future study. "; - } - - list etht-svc-access-points { - key access-point-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 point instances."; - - leaf access-point-id { - type string; - description - "ID of the service access point instance"; - } - uses etht-svc-access-parameters; - } - - 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 = "etht-types:classify-s-vlan" and ' + - 'tag-type = "etht-types: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 - "Configuration of VLAN operations."; - 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 pm-config-grouping { - description - "Grouping used for Performance Monitoring Configuration. "; - leaf pm-enable { - type boolean; - description - "Whether to enable the performance monitoring."; - } - - leaf sending-rate-high { - type uint64; - description - "The upperbound of sending rate."; - } - - leaf sending-rate-low { - type uint64; - description - "The lowerbound of sending rate."; - } - - leaf receiving-rate-high { - type uint64; - description - "The upperbound of receiving rate."; - } - - leaf receiving-rate-low { - type uint64; - description - "The lowerbound of receiving rate."; - } - } - - grouping pw-segment-grouping { - description - "Grouping used for PW configuration. "; - leaf pw-id { - type string; - description - "The Identifier information of pseudowire. "; - } - - leaf pw-name { - type string; - description - "The name information of pseudowire."; - } - - leaf transmit-label { - type rt-types:mpls-label; - description - "Transmit label information in PW. "; - } - - leaf receive-label { - type rt-types:mpls-label; - description - "Receive label information in PW. "; - } - leaf encapsulation-type { - type identityref { - base etht-types:encapsulation-type; - } - description - "The encapsulation type, raw or tag. "; - } - - leaf oper-status { - type identityref { - base te-types:tunnel-state-type; - } - config false; - description - "The operational state of the PW segment. "; - } - - container ingress-bandwidth-profile { - description - "Bandwidth Profile for ingress. "; - uses pw-segment-named-or-value-bandwidth-profile; - } - - list pw-paths { - key path-id; - description - "A list of pw paths. "; - - leaf path-id { - type uint8; - description - "The identifier of pw paths. "; - - } - - list tp-tunnels { - key name; - description - "Names of TP Tunnel underlay"; - leaf name { - type string; - description - "Names of TP Tunnel underlay"; - } - } - } - - } - grouping pw-segment-named-or-value-bandwidth-profile { - description - "A grouping to configure a bandwdith profile either by - referencing a named bandwidth profile or by - configuring the values of the bandwidth profile attributes."; - choice style { - description - "Whether the bandwidth profile is named or defined by value"; - case named { - description - "Named bandwidth profile."; - leaf bandwidth-profile-name { - type leafref { - path "/ethtsvc:etht-svc/ethtsvc:globals/" - + "ethtsvc:named-bandwidth-profiles/" - + "ethtsvc:bandwidth-profile-name"; - } - description - "Name of the bandwidth profile."; - } - } - case value { - description - "Bandwidth profile configured by value."; - uses etht-types:pw-segement-bandwidth-profile-grouping; - } - } - } - - grouping tunnels-grouping { - description - "A group of tunnels. "; - leaf name { - type leafref { - path "/te:te/te:tunnels/te:tunnel/te:name"; - require-instance false; - } - description "Dependency tunnel name"; - } - leaf encoding { - type identityref { - base te-types:lsp-encoding-types; - } - description "LSP encoding type"; - reference "RFC3945"; - } - leaf switching-type { - type identityref { - base te-types:switching-capabilities; - } - description "LSP switching type"; - reference "RFC3945"; - } - } - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-types@2023-10-23.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-types@2023-10-23.yang deleted file mode 100644 index f46908b34f3cc30a0b19359c032a7cd8856b1b08..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-eth-tran-types@2023-10-23.yang +++ /dev/null @@ -1,457 +0,0 @@ - module ietf-eth-tran-types { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang: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.ietf@gmail.com); - Anton Snitser (antons@sedonasys.com); - Francesco Lazzeri (francesco.lazzeri@ericsson.com); - Yunbin Xu (xuyunbin@caict.ac.cn); - Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (xufeng.liu.ietf@gmail.com); - Giuseppe Fioccola (giuseppe.fioccola@huawei.com); - Chaode Yu (yuchaode@huawei.com) - "; - - description - "This module defines the ETH types. - The model fully conforms to the Network Management - Datastore Architecture (NMDA). - - Copyright (c) 2019 IETF Trust and the persons - identified as authors of the code. All rights reserved. - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices."; - - revision 2023-10-23 { - description - "version -05 as a WG draft"; - reference - "draft-ietf-ccamp-client-signal-yang"; - } - - /* - * Identities - */ - - identity eth-vlan-tag-type { - description - "ETH VLAN tag type."; - } - - identity c-vlan-tag-type { - base eth-vlan-tag-type; - description - "802.1Q Customer VLAN"; - } - - identity s-vlan-tag-type { - base eth-vlan-tag-type; - description - "802.1Q Service VLAN (QinQ)"; - } - - identity service-classification-type { - description - "Service classification."; - } - - identity port-classification { - base service-classification-type; - description - "Port classification."; - } - identity vlan-classification { - base service-classification-type; - description - "VLAN classification."; - } - - identity eth-vlan-tag-classify { - description - "VLAN tag classification."; - } - - identity classify-c-vlan { - base eth-vlan-tag-classify; - description - "Classify 802.1Q Customer VLAN tag. - Only C-tag type is accepted"; - } - - identity classify-s-vlan { - base eth-vlan-tag-classify; - description - "Classify 802.1Q Service VLAN (QinQ) tag. - Only S-tag type is accepted"; - } - - identity classify-s-or-c-vlan { - base eth-vlan-tag-classify; - description - "Classify S-VLAN or C-VLAN tag-classify. - Either tag is accepted"; - } - - identity bandwidth-profile-type-ir { - description - "Bandwidth Profile Types"; - } - - identity mef-10-bwp { - base bandwidth-profile-type-ir; - description - "MEF 10 Bandwidth Profile"; - } - - identity rfc-2697-bwp { - base bandwidth-profile-type-ir; - description - "RFC 2697 Bandwidth Profile"; - } - identity rfc-2698-bwp { - base bandwidth-profile-type-ir; - description - "RFC 2698 Bandwidth Profile"; - } - - identity rfc-4115-bwp { - base bandwidth-profile-type-ir; - description - "RFC 4115 Bandwidth Profile"; - } - - identity service-type-ir { - description - "Type of Ethernet service."; - } - - identity p2p-svc { - base service-type-ir; - description - "Ethernet point-to-point service (EPL, EVPL)."; - } - - identity rmp-svc { - base service-type-ir; - description - "Ethernet rooted-multitpoint service (E-TREE, EP-TREE)."; - } - - identity mp2mp-svc { - base service-type-ir; - description - "Ethernet multipoint-to-multitpoint service (E-LAN, EP-LAN)."; - } - - identity lifecycle-status-ir { - description - "Lifecycle Status."; - } - - identity installed { - base lifecycle-status-ir; - description - "Installed."; - } - - identity planned { - base lifecycle-status-ir; - description - "Planned."; - } - - identity pending-removal { - base lifecycle-status-ir; - description - "Pending Removal."; - } - - /* - * Type Definitions - */ - - typedef eth-tag-type { - type identityref { - base eth-vlan-tag-type; - } - description - "Identifies a specific ETH VLAN tag type."; - } - - typedef eth-tag-classify { - type identityref { - base eth-vlan-tag-classify; - } - description - "Identifies a specific VLAN tag classification."; - } - - typedef vlanid { - type uint16 { - range "1..4094"; - } - description - "The 12-bit VLAN-ID used in the VLAN Tag header."; - } - - typedef vid-range-type { - type string { - pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + - "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; - } - description - "A list of VLAN Ids, or non overlapping VLAN ranges, in - ascending order, between 1 and 4094. - This type is used to match an ordered list of VLAN Ids, or - contiguous ranges of VLAN Ids. Valid VLAN Ids must be in the - range 1 to 4094, and included in the list in non overlapping - ascending order. - - For example: 1,10-100,50,500-1000"; - } - - typedef bandwidth-profile-type { - type identityref { - base bandwidth-profile-type-ir; - } - description - "Identifies a specific Bandwidth Profile type."; - } - - typedef service-type { - type identityref { - base service-type-ir; - } - description - "Identifies the type of Ethernet service."; - } - - typedef lifecycle-status { - type identityref { - base lifecycle-status-ir; - } - description - "Identifies the lLifecycle Status ."; - } - - /* - * Grouping Definitions - */ - - grouping etht-bandwidth-profiles { - description - "Bandwidth profile configuration paramters."; - - leaf bandwidth-profile-type { - type etht-types:bandwidth-profile-type; - description - "The type of bandwidth profile."; - } - leaf CIR { - type uint64; - description - "Committed Information Rate in Kbps"; - } - leaf CBS { - type uint64; - description - "Committed Burst Size in in KBytes"; - } - leaf EIR { - type uint64; - /* Need to indicate that EIR is not supported by RFC 2697 - - must - '../bw-profile-type = "mef-10-bwp" or ' + - '../bw-profile-type = "rfc-2698-bwp" or ' + - '../bw-profile-type = "rfc-4115-bwp"' - - must - '../bw-profile-type != "rfc-2697-bwp"' - */ - description - "Excess Information Rate in Kbps - In case of RFC 2698, PIR = CIR + EIR"; - } - leaf EBS { - type uint64; - description - "Excess Burst Size in KBytes. - In case of RFC 2698, PBS = CBS + EBS"; - } - leaf color-aware { - type boolean; - description - "Indicates weather the color-mode is - color-aware or color-blind."; - } - leaf coupling-flag { - type boolean; - /* Need to indicate that Coupling Flag is defined only for MEF 10 - - must - '../bw-profile-type = "mef-10-bwp"' - */ - description - "Coupling Flag."; - } - } - - identity topology-role { - description - "The role of underlay topology: e.g., hub, spoke, - any-to-any."; - } - - identity resilience { - description - "Placeholder for resilience information in data plane, - for future study. "; - } - - identity access-role { - description - "Indicating whether the access is a working or protection access."; - } - - identity root-primary { - base access-role; - description - "Designates the primary root UNI of an E-Tree service, and may also - designates the UNI access role of E-LINE and E-LAN service."; - } - - identity root-backup { - base access-role; - description - "Designates the backup root UNI of an E-Tree service."; - } - - identity leaf-access { - base access-role; - description - "Designates the leaf UNI of an E-Tree service."; - } - - identity leaf-edge { - base access-role; - description ""; - } - - identity performance { - description - "Placeholder for performance information, for future study."; - } - - identity encapsulation-type { - description - "Indicating how the service is encapsulated (to PW), e.g, raw or tag. "; - } - grouping pw-segement-bandwidth-profile-grouping { - description - "bandwidth profile grouping for PW segment. "; - leaf bandwidth-profile-type { - type etht-types:bandwidth-profile-type; - description - "The type of bandwidth profile."; - } - leaf CIR { - type uint64; - description - "Committed Information Rate in Kbps"; - } - leaf CBS { - type uint64; - description - "Committed Burst Size in in KBytes"; - } - leaf EIR { - type uint64; - /* Need to indicate that EIR is not supported by RFC 2697 - - must - '../bw-profile-type = "mef-10-bwp" or ' + - '../bw-profile-type = "rfc-2698-bwp" or ' + - '../bw-profile-type = "rfc-4115-bwp"' - - must - '../bw-profile-type != "rfc-2697-bwp"' - */ - description - "Excess Information Rate in Kbps - In case of RFC 2698, PIR = CIR + EIR"; - } - leaf EBS { - type uint64; - description - "Excess Burst Size in KBytes. - In case of RFC 2698, PBS = CBS + EBS"; - } - } - grouping eth-bandwidth { - description - "Available bandwith for ethernet."; - leaf eth-bandwidth { - type uint64{ - range "0..10000000000"; - } - units "Kbps"; - description - "Available bandwith value expressed in kilobits per second"; - } - } - - grouping eth-label-restriction { - description - "Label Restriction for ethernet."; - leaf tag-type { - type etht-types:eth-tag-type; - description "VLAN tag type."; - } - leaf priority { - type uint8; - description "priority."; - } - } - grouping eth-label { - description - "Label for ethernet."; - leaf vlanid { - type etht-types:vlanid; - description - "VLAN tag id."; - } - } - - grouping eth-label-step { - description "Label step for Ethernet VLAN"; - leaf eth-step { - type uint16 { - range "1..4095"; - } - default 1; - description - "Label step which represent possible increments for - an Ethernet VLAN tag."; - reference - "IEEE 802.1ad: Provider Bridges."; - } - } - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-l3-unicast-topology@2018-02-26.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-l3-unicast-topology@2018-02-26.yang new file mode 100644 index 0000000000000000000000000000000000000000..39fcebd767bf7ea687de523b0dd0ba731d3c80e7 --- /dev/null +++ b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-l3-unicast-topology@2018-02-26.yang @@ -0,0 +1,359 @@ +module ietf-l3-unicast-topology { + yang-version 1.1; + namespace + "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology"; + prefix "l3t"; + import ietf-network { + prefix "nw"; + } + import ietf-network-topology { + prefix "nt"; + } + import ietf-inet-types { + prefix "inet"; + } + import ietf-routing-types { + prefix "rt-types"; + } + organization + "IETF I2RS (Interface to the Routing System) Working Group"; + contact + "WG Web: <https://datatracker.ietf.org/wg/i2rs/> + WG List: <mailto:i2rs@ietf.org> + Editor: Alexander Clemm + <mailto:ludwig@clemm.org> + Editor: Jan Medved + <mailto:jmedved@cisco.com> + Editor: Robert Varga + <mailto:robert.varga@pantheon.tech> + Editor: Xufeng Liu + <mailto:xufeng.liu.ietf@gmail.com> + Editor: Nitin Bahadur + <mailto:nitin_bahadur@yahoo.com> + Editor: Hariharan Ananthakrishnan + <mailto:hari@packetdesign.com>"; + description + "This module defines a model for Layer 3 Unicast + topologies. + + Copyright (c) 2018 IETF Trust and the persons identified as + authors of the code. All rights reserved. + + Redistribution and use in source and binary forms, with or + without modification, is permitted pursuant to, and subject + to the license terms contained in, the Simplified BSD License + set forth in Section 4.c of the IETF Trust's Legal Provisions + Relating to IETF Documents + (https://trustee.ietf.org/license-info). + + This version of this YANG module is part of + RFC 8346; see the RFC itself for full legal notices."; + revision "2018-02-26" { + description + "Initial revision."; + reference + "RFC 8346: A YANG Data Model for Layer 3 Topologies"; + } + + identity flag-identity { + description "Base type for flags"; + } + + typedef l3-event-type { + type enumeration { + enum "add" { + description + "A Layer 3 node, link, prefix, or termination point has + been added"; + } + enum "remove" { + description + "A Layer 3 node, link, prefix, or termination point has + been removed"; + } + enum "update" { + description + "A Layer 3 node, link, prefix, or termination point has + been updated"; + } + } + description "Layer 3 event type for notifications"; + } + + typedef prefix-flag-type { + type identityref { + base "flag-identity"; + } + description "Prefix flag attributes"; + } + + typedef node-flag-type { + type identityref { + base "flag-identity"; + } + description "Node flag attributes"; + } + + typedef link-flag-type { + type identityref { + base "flag-identity"; + } + description "Link flag attributes"; + } + + typedef l3-flag-type { + type identityref { + base "flag-identity"; + } + description "L3 flag attributes"; + } + + grouping l3-prefix-attributes { + description + "L3 prefix attributes"; + leaf prefix { + type inet:ip-prefix; + description + "IP prefix value"; + } + leaf metric { + type uint32; + description + "Prefix metric"; + } + leaf-list flag { + type prefix-flag-type; + description + "Prefix flags"; + } + } + grouping l3-unicast-topology-type { + description "Identifies the topology type to be L3 Unicast."; + container l3-unicast-topology { + presence "indicates L3 Unicast topology"; + description + "The presence of the container node indicates L3 Unicast + topology"; + } + } + grouping l3-topology-attributes { + description "Topology scope attributes"; + container l3-topology-attributes { + description "Contains topology attributes"; + leaf name { + type string; + description + "Name of the topology"; + } + leaf-list flag { + type l3-flag-type; + description + "Topology flags"; + } + } + } + grouping l3-node-attributes { + description "L3 node scope attributes"; + container l3-node-attributes { + description + "Contains node attributes"; + leaf name { + type inet:domain-name; + description + "Node name"; + } + leaf-list flag { + type node-flag-type; + description + "Node flags"; + } + leaf-list router-id { + type rt-types:router-id; + description + "Router-id for the node"; + } + list prefix { + key "prefix"; + description + "A list of prefixes along with their attributes"; + uses l3-prefix-attributes; + } + } + } + grouping l3-link-attributes { + description + "L3 link scope attributes"; + container l3-link-attributes { + description + "Contains link attributes"; + leaf name { + type string; + description + "Link Name"; + } + leaf-list flag { + type link-flag-type; + description + "Link flags"; + } + leaf metric1 { + type uint64; + description + "Link Metric 1"; + } + leaf metric2 { + type uint64; + description + "Link Metric 2"; + } + } + } + grouping l3-termination-point-attributes { + description "L3 termination point scope attributes"; + container l3-termination-point-attributes { + description + "Contains termination point attributes"; + choice termination-point-type { + description + "Indicates the termination point type"; + case ip { + leaf-list ip-address { + type inet:ip-address; + description + "IPv4 or IPv6 address."; + } + } + case unnumbered { + leaf unnumbered-id { + type uint32; + description + "Unnumbered interface identifier. + The identifier will correspond to the ifIndex value + of the interface, i.e., the ifIndex value of the + ifEntry that represents the interface in + implementations where the Interfaces Group MIB + (RFC 2863) is supported."; + reference + "RFC 2863: The Interfaces Group MIB"; + } + } + case interface-name { + leaf interface-name { + type string; + description + "Name of the interface. The name can (but does not + have to) correspond to an interface reference of a + containing node's interface, i.e., the path name of a + corresponding interface data node on the containing + node reminiscent of data type interface-ref defined + in RFC 8343. It should be noted that data type + interface-ref of RFC 8343 cannot be used directly, + + as this data type is used to reference an interface + in a datastore of a single node in the network, not + to uniquely reference interfaces across a network."; + reference + "RFC 8343: A YANG Data Model for Interface Management"; + } + } + } + } + } + augment "/nw:networks/nw:network/nw:network-types" { + description + "Introduces new network type for L3 Unicast topology"; + uses l3-unicast-topology-type; + } + augment "/nw:networks/nw:network" { + when "nw:network-types/l3t:l3-unicast-topology" { + description + "Augmentation parameters apply only for networks with + L3 Unicast topology"; + } + description + "L3 Unicast for the network as a whole"; + uses l3-topology-attributes; + } + augment "/nw:networks/nw:network/nw:node" { + when "../nw:network-types/l3t:l3-unicast-topology" { + description + "Augmentation parameters apply only for networks with + L3 Unicast topology"; + } + description + "L3 Unicast node-level attributes "; + uses l3-node-attributes; + } + augment "/nw:networks/nw:network/nt:link" { + when "../nw:network-types/l3t:l3-unicast-topology" { + description + "Augmentation parameters apply only for networks with + L3 Unicast topology"; + } + description + "Augments topology link attributes"; + uses l3-link-attributes; + } + augment "/nw:networks/nw:network/nw:node/" + +"nt:termination-point" { + when "../../nw:network-types/l3t:l3-unicast-topology" { + description + "Augmentation parameters apply only for networks with + L3 Unicast topology"; + } + description "Augments topology termination point configuration"; + uses l3-termination-point-attributes; + } + notification l3-node-event { + description + "Notification event for L3 node"; + leaf l3-event-type { + type l3-event-type; + description + "Event type"; + } + uses nw:node-ref; + uses l3-unicast-topology-type; + uses l3-node-attributes; + } + notification l3-link-event { + description + "Notification event for L3 link"; + leaf l3-event-type { + type l3-event-type; + description + "Event type"; + } + uses nt:link-ref; + uses l3-unicast-topology-type; + uses l3-link-attributes; + } + notification l3-prefix-event { + description + "Notification event for L3 prefix"; + leaf l3-event-type { + type l3-event-type; + description + "Event type"; + } + uses nw:node-ref; + uses l3-unicast-topology-type; + container prefix { + description + "Contains L3 prefix attributes"; + uses l3-prefix-attributes; + } + } + notification termination-point-event { + description + "Notification event for L3 termination point"; + leaf l3-event-type { + type l3-event-type; + description + "Event type"; + } + uses nt:tp-ref; + uses l3-unicast-topology-type; + uses l3-termination-point-attributes; + } +} diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-layer1-types@2022-10-14.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-layer1-types@2022-10-14.yang deleted file mode 100644 index 188336931c36000b287bad5258550e7d3fa7016b..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-layer1-types@2022-10-14.yang +++ /dev/null @@ -1,1414 +0,0 @@ - module ietf-layer1-types { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-layer1-types"; - prefix "l1-types"; - - import ietf-routing-types { - prefix rt-types; - reference - "RFC 8294: Common YANG Data Types for the Routing Area"; - } - - organization - "IETF CCAMP Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/ccamp/> - WG List: <mailto:ccamp@ietf.org> - - Editor: Haomian Zheng - <mailto:zhenghaomian@huawei.com> - - Editor: Italo Busi - <mailto:Italo.Busi@huawei.com>"; - - description - "This module defines Layer 1 types. The model fully conforms - to the Network Management Datastore Architecture (NMDA). - - Copyright (c) 2022 IETF Trust and the persons - identified as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Revised BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices. - - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL - NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', - 'MAY', and 'OPTIONAL' in this document are to be interpreted as - described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - - - - - they appear in all capitals, as shown here."; - - revision "2022-10-14" { - description - "Initial Version"; - reference - "RFC XXXX: A YANG Data Model for Layer 1 Types"; - // RFC Editor: replace XXXX with actual RFC number, update date - // information and remove this note - } - - /* - * Identities - */ - - identity tributary-slot-granularity { - description - "Tributary Slot Granularity (TSG)"; - reference - "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity tsg-1.25G { - base tributary-slot-granularity; - description - "1.25G tributary slot granularity"; - } - - identity tsg-2.5G { - base tributary-slot-granularity; - description - "2.5G tributary slot granularity"; - } - - identity tsg-5G { - base tributary-slot-granularity; - description - "5G tributary slot granularity"; - } - - identity odu-type { - description - "Base identity from which specific Optical Data Unit (ODU) - type is derived."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - - - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU0 { - base odu-type; - description - "ODU0 type (1.24Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU1 { - base odu-type; - description - "ODU1 type (2.49Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU2 { - base odu-type; - description - "ODU2 type (10.03Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU2e { - base odu-type; - description - "ODU2e type (10.39Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - - - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU3 { - base odu-type; - description - "ODU3 type (40.31Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODU4 { - base odu-type; - description - "ODU4 type (104.79Gb/s)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODUflex { - base odu-type; - description - "ODUflex type (flexible bit rate, not resizable). - - It could be used for any type of ODUflex, including - ODUflex(CBR), ODUflex(GFP), ODUflex(GFP,n,k), ODUflex(IMP,s), - ODUflex(IMP) and ODUflex(FlexE-aware)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ODUflex-resizable { - base odu-type; - description - "ODUflex protocol (flexible bit rate, resizable). - - - - - It could be used only for ODUflex(GFP,n,k)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity protocol { - description - "Base identity from which specific protocol is derived."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity Ethernet { - base protocol; - description - "Ethernet protocol."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity Fibre-Channel { - base protocol; - description - "Fibre-Channel (FC) protocol."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity SDH { - base protocol; - description - "SDH protocol."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity SONET { - base protocol; - description - "SONET protocol."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - - - - identity client-signal { - description - "Base identity from which specific Constant Bit Rate (CBR) - client signal is derived"; - } - - identity coding-func { - description - "Base identity from which specific coding function - is derived."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ETH-1Gb { - base client-signal; - description - "Client signal type of 1GbE"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ETH-10Gb-LAN { - base client-signal; - description - "Client signal type of ETH-10Gb-LAN (10.3 Gb/s)"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - IEEE 802.3-2018, Clause 49: IEEE Standard for Ethernet"; - } - - identity ETH-10Gb-WAN { - base client-signal; - description - "Client signal type of ETH-10Gb-WAN (9.95 Gb/s)"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - - - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - IEEE 802.3-2018, Clause 50: IEEE Standard for Ethernet"; - } - - identity ETH-40Gb { - base client-signal; - description - "Client signal type of 40GbE"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ETH-100Gb { - base client-signal; - description - "Client signal type of 100GbE"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity STM-1 { - base client-signal; - base coding-func; - description - "Client signal type of STM-1; - STM-1 G.707 (N=1) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity STM-4 { - base client-signal; - - - - - base coding-func; - description - "Client signal type of STM-4; - STM-4 G.707 (N=4) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity STM-16 { - base client-signal; - base coding-func; - description - "Client signal type of STM-16; - STM-16 G.707 (N=16) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity STM-64 { - base client-signal; - base coding-func; - description - "Client signal type of STM-64; - STM-64 G.707 (N=64) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity STM-256 { - base client-signal; - - - - - base coding-func; - description - "Client signal type of STM-256; - STM-256 G.707 (N=256) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity OC-3 { - base client-signal; - base coding-func; - description - "Client signal type of OC3; - OC-3 GR-253-CORE (N=3) coding function."; - reference - "ANSI T1.105-1995: Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, - and Formats - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity OC-12 { - base client-signal; - base coding-func; - description - "Client signal type of OC12; - OC-12 GR-253-CORE (N=12) coding function."; - reference - "ANSI T1.105-1995: Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, - and Formats - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity OC-48 { - base client-signal; - base coding-func; - description - "Client signal type of OC48; - OC-48 GR-253-CORE (N=48) coding function."; - - - - - reference - "ANSI T1.105-1995: Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, - and Formats - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity OC-192 { - base client-signal; - base coding-func; - description - "Client signal type of OC192; - OC-192 GR-253-CORE (N=192) coding function."; - reference - "ANSI T1.105-1995: Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, - and Formats - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity OC-768 { - base client-signal; - base coding-func; - description - "Client signal type of OC768; - OC-768 GR-253-CORE (N=768) coding function."; - reference - "ANSI T1.105-1995: Synchronous Optical Network (SONET) - Basic Description including Multiplex Structure, Rates, - and Formats - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-100 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-100; - FC-100 FC-FS-2 (1.0625 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - - - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-200 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-200; - FC-200 FC-FS-2 (2.125 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-400 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-400; - FC-400 FC-FS-2 (4.250 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-800 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-800; - FC-800 FC-FS-2 (8.500 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - - - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-1200 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-1200; - FC-1200 FC-10GFC (10.51875 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-1600 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-1600; - FC-1600 FC-FS-3 (14.025 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FC-3200 { - base client-signal; - base coding-func; - description - "Client signal type of Fibre Channel FC-3200; - FC-3200 FC-FS-4 (28.05 Gb/s) coding function."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN) - - - - - MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FICON-4G { - base client-signal; - description - "Client signal type of Fibre Connection 4G"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity FICON-8G { - base client-signal; - description - "Client signal type of Fibre Connection 8G"; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks - - ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - - identity ETH-1000X { - base coding-func; - description - "1000BASE-X PCS clause 36 coding function."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ETH-10GW { - base coding-func; - description - "10GBASE-W (WAN PHY) PCS clause 49 and WIS clause 50 - coding function."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ETH-10GR { - base coding-func; - description - "10GBASE-R (LAN PHY) PCS clause 49 coding function."; - - - - - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ETH-40GR { - base coding-func; - description - "40GBASE-R PCS clause 82 coding function."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ETH-100GR { - base coding-func; - description - "100GBASE-R PCS clause 82 coding function."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity optical-interface-func { - description - "Base identity from which optical-interface-function - is derived."; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity SX-PMD-1000 { - base optical-interface-func; - description - "SX-PMD-clause-38 Optical Interface function for - 1000BASE-X PCS-36"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LX-PMD-1000 { - base optical-interface-func; - description - "LX-PMD-clause-38 Optical Interface function for - 1000BASE-X PCS-36"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LX10-PMD-1000 { - base optical-interface-func; - - - - - description - "LX10-PMD-clause-59 Optical Interface function for - 1000BASE-X PCS-36"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity BX10-PMD-1000 { - base optical-interface-func; - description - "BX10-PMD-clause-59 Optical Interface function for - 1000BASE-X PCS-36"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LW-PMD-10G { - base optical-interface-func; - description - "LW-PMD-clause-52 Optical Interface function for - 10GBASE-W PCS-49-WIS-50"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity EW-PMD-10G { - base optical-interface-func; - description - "EW-PMD-clause-52 Optical Interface function for - 10GBASE-W PCS-49-WIS-50"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LR-PMD-10G { - base optical-interface-func; - description - "LR-PMD-clause-52 Optical Interface function for - 10GBASE-R PCS-49"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ER-PMD-10G { - base optical-interface-func; - description - "ER-PMD-clause-52 Optical Interface function for - 10GBASE-R PCS-49"; - - - - - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LR4-PMD-40G { - base optical-interface-func; - description - "LR4-PMD-clause-87 Optical Interface function for - 40GBASE-R PCS-82"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ER4-PMD-40G { - base optical-interface-func; - description - "ER4-PMD-clause-87 Optical Interface function for - 40GBASE-R PCS-82"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity FR-PMD-40G { - base optical-interface-func; - description - "FR-PMD-clause-89 Optical Interface function for - 40GBASE-R PCS-82"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity LR4-PMD-100G { - base optical-interface-func; - description - "LR4-PMD-clause-88 Optical Interface function for - 100GBASE-R PCS-82"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - identity ER4-PMD-100G { - base optical-interface-func; - description - "ER4-PMD-clause-88 Optical Interface function for - 100GBASE-R PCS-82"; - reference - "MEF63: Subscriber Layer 1 Service Attributes"; - } - - - - - /* - * Typedefs - */ - - typedef otn-tpn { - type uint16 { - range "1..4095"; - } - description - "Tributary Port Number (TPN) for OTN. "; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks."; - } - - typedef otn-ts { - type uint16 { - range "1..4095"; - } - description - "Tributary Slot (TS) for OTN."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of Evolving - G.709 Optical Transport Networks."; - } - - typedef otn-label-range-type { - type enumeration { - enum trib-slot { - description - "Defines a range of OTN tributary slots (TS)."; - } - enum trib-port { - description - "Defines a range of OTN tributary ports (TPN)."; - } - } - description - "Defines the type of OTN label range: TS or TPN. "; - } - - typedef gfp-k { - type enumeration { - enum 2 { - description - "The ODU2.ts rate (1,249,177.230 kbit/s) is used - to compute the rate of an ODUflex(GFP,n,2). "; - } - - - - - enum 3 { - description - "The ODU3.ts rate (1,254,470.354 kbit/s) is used - to compute the rate of an ODUflex(GFP,n,3). "; - } - enum 4 { - description - "The ODU4.ts rate (1,301,467.133 kbit/s) is used - to compute the rate of an ODUflex(GFP,n,4). "; - } - } - description - "The ODUk.ts used to compute the rate of an ODUflex(GFP,n,k)"; - reference - "ITU-T G.709 v6.0 (06/2020), Table 7-8 and L.7: Interfaces for - the Optical Transport Network (OTN)"; - } - - typedef flexe-client-rate { - type union { - type uint16; - type enumeration { - enum "10G" { - description - "Represents a 10G FlexE Client signal (s=2)"; - } - enum "40G" { - description - "Represents a 40G FlexE Client signal (s=8)"; - } - } - } - description - "The FlexE Client signal rate (s x 5,156,250.000 kbit/s) - used to compute the rate of an ODUflex(IMP, s). - Valid values for s are s=2 (10G), s=4 (40G) and - s=5 x n (n x 25G). - In the first two cases an enumeration value - (either 10G or 40G) is used, while in the latter case - the value of n is used"; - reference - "ITU-T G.709 v6.0 (06/2020), Table 7-2: Interfaces for the - Optical Transport Network (OTN)"; - } - - typedef odtu-flex-type { - type enumeration { - enum "2" { - - - - - description - "The ODTU2.ts ODTU type."; - } - enum "3" { - description - "The ODTU3.ts ODTU type."; - } - enum "4" { - description - "The ODTU4.ts ODTU type."; - } - enum "Cn" { - description - "The ODTUCn.ts ODTU type."; - } - } - description - "The type of Optical Data Tributary Unit (ODTU), - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by an ODUflex LSP, according to - the (19-1a) and (20-1a) formulas defined in G.709."; - reference - "ITU-T G.709 v6.0 (06/2020), Table 7-7, clause 19.6 and - clause 20.5: Interfaces for the Optical Transport - Network (OTN)"; - } - - typedef bandwidth-scientific-notation { - type string { - pattern - '0(\.0?)?([eE](\+)?0?)?|' - + '[1-9](\.[0-9]{0,6})?[eE](\+)?(9[0-6]|[1-8][0-9]|0?[0-9])?'; - } - units "bps"; - description - "Bandwidth values, expressed using the scientific notation - in bits per second. - - The encoding format is the external decimal-significant - character sequences specified in IEEE 754 and ISO/IEC C99 - for 32-bit decimal floating-point numbers: - (-1)**(S) * 10**(Exponent) * (Significant), - where Significant uses 7 digits. - - An implementation for this representation MAY use decimal32 - or binary32. The range of the Exponent is from -95 to +96 - for decimal32, and from -38 to +38 for binary32. - As a bandwidth value, the format is restricted to be - - - - - normalized, non-negative, and non-fraction: - n.dddddde{+}dd, N.DDDDDDE{+}DD, 0e0 or 0E0, - where 'd' and 'D' are decimal digits; 'n' and 'N' are - non-zero decimal digits; 'e' and 'E' indicate a power of ten. - Some examples are 0e0, 1e10, and 9.953e9."; - reference - "IEEE Std 754-2008: IEEE Standard for Floating-Point - Arithmetic. - ISO/IEC C99: Information technology - Programming - Languages - C."; - } - - /* - * Groupings - */ - - grouping otn-link-bandwidth { - description - "Bandwidth attributes for OTN links"; - container otn { - description - "Bandwidth attributes for OTN links"; - list odulist { - key "odu-type"; - description - "OTN bandwidth definition"; - leaf odu-type { - type identityref { - base odu-type; - } - description "ODU type"; - } - leaf number { - type uint16; - description "Number of ODUs"; - } - leaf ts-number { - when 'derived-from-or-self(../odu-type,"ODUflex") or - derived-from-or-self(../odu-type, - "ODUflex-resizable")' { - description - "Applicable when odu-type is ODUflex or - ODUflex-resizable"; - } - type uint16 { - range "1..4095"; - } - description - - - - - "The number of Tributary Slots (TS) that - could be used by all the ODUflex LSPs."; - } - } - } - } - - grouping otn-path-bandwidth { - description - "Bandwidth attributes for OTN paths."; - container otn { - description - "Bandwidth attributes for OTN paths."; - leaf odu-type { - type identityref { - base odu-type; - } - description "ODU type"; - } - choice oduflex-type { - when 'derived-from-or-self(./odu-type,"ODUflex") or - derived-from-or-self(./odu-type, - "ODUflex-resizable")' { - description - "Applicable when odu-type is ODUflex or - ODUflex-resizable"; - } - description - "Types of ODUflex used to compute the ODUflex - nominal bit rate."; - reference - "ITU-T G.709 v6.0 (06/2020), Table 7-2: Interfaces for the - Optical Transport Network (OTN)"; - case generic { - leaf nominal-bit-rate { - type union { - type l1-types:bandwidth-scientific-notation; - type rt-types:bandwidth-ieee-float32; - } - mandatory true; - description - "Nominal ODUflex bit rate."; - } - } - case cbr { - leaf client-type { - type identityref { - base client-signal; - - - - - } - mandatory true; - description - "The type of Constant Bit Rate (CBR) client signal - of an ODUflex(CBR)."; - } - } - case gfp-n-k { - leaf gfp-n { - type uint8 { - range "1..80"; - } - mandatory true; - description - "The value of n for an ODUflex(GFP,n,k)."; - reference - "ITU-T G.709 v6.0 (06/2020), Tables 7-8 and L.7: - Interfaces for the Optical Transport Network (OTN)"; - } - leaf gfp-k { - type gfp-k; - description - "The value of k for an ODUflex(GFP,n,k). - - If omitted, it is calculated from the value of gfp-n - as described in Table 7-8 of G.709"; - reference - "ITU-T G.709 v6.0 (06/2020), Tables 7-8 and L.7: - Interfaces for the Optical Transport Network (OTN)"; - } - } - case flexe-client { - leaf flexe-client { - type flexe-client-rate; - mandatory true; - description - "The rate of the FlexE-client for an ODUflex(IMP,s)."; - } - } - case flexe-aware { - leaf flexe-aware-n { - type uint16; - mandatory true; - description - "The rate of FlexE-aware client signal - for ODUflex(FlexE-aware)"; - } - } - - - - - case packet { - leaf opuflex-payload-rate { - type union { - type l1-types:bandwidth-scientific-notation; - type rt-types:bandwidth-ieee-float32; - } - mandatory true; - description - "Either the GFP-F encapsulated packet client nominal - bit rate for an ODUflex(GFP) or the 64b/66b encoded - packet client nominal bit rate for an ODUflex(IMP)."; - } - } - } - } - } - - grouping otn-max-path-bandwidth { - description - "Maximum bandwidth attributes for OTN paths."; - container otn { - description - "Maximum bandwidth attributes for OTN paths."; - leaf odu-type { - type identityref { - base odu-type; - } - description "ODU type"; - } - leaf max-ts-number { - when 'derived-from-or-self(../odu-type,"ODUflex") or - derived-from-or-self(../odu-type, - "ODUflex-resizable")' { - description - "Applicable when odu-type is ODUflex or - ODUflex-resizable"; - } - type uint16 { - range "1..4095"; - } - description - "The maximum number of Tributary Slots (TS) that could be - used by an ODUflex LSP."; - } - } - } - - grouping otn-label-range-info { - - - - - description - "Label range information for OTN. - - This grouping SHOULD be used together with the - otn-label-start-end and otn-label-step groupings to provide - OTN technology-specific label information to the models which - use the label-restriction-info grouping defined in the module - ietf-te-types."; - container otn-label-range { - description - "Label range information for OTN."; - leaf range-type { - type otn-label-range-type; - description "The type of range (e.g., TPN or TS) - to which the label range applies"; - } - leaf tsg { - type identityref { - base tributary-slot-granularity; - } - description - "Tributary slot granularity (TSG) to which the label range - applies. - - This leaf MUST be present when the range-type is TS. - - This leaf MAY be omitted when mapping an ODUk over an OTUk - Link. In this case the range-type is tpn, with only one - entry (ODUk), and the tpn range has only one value (1)."; - reference - "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - leaf-list odu-type-list { - type identityref { - base odu-type; - } - description - "List of ODU types to which the label range applies. - - An Empty odu-type-list means that the label range - applies to all the supported ODU types."; - } - leaf priority { - type uint8 { - range 0..7; - } - description - - - - - "Priority in Interface Switching Capability - Descriptor (ISCD)."; - reference - "RFC4203: OSPF Extensions in Support of Generalized - Multi-Protocol Label Switching (GMPLS)"; - } - } - } - - grouping otn-label-start-end { - description - "The OTN label-start or label-end used to specify an OTN label - range. - - This grouping is dependent on the range-type defined in the - otn-label-range-info grouping. - - This grouping SHOULD be used together with the - otn-label-range-info and otn-label-step groupings to provide - OTN technology-specific label information to the models which - use the label-restriction-info grouping defined in the module - ietf-te-types."; - container otn { - description - "Label start or label end for OTN."; - choice range-type { - description - "OTN label range type, either TPN range or TS range"; - case trib-port { - leaf tpn { - when "../../../../otn-label-range/range-type = - 'trib-port'" { - description - "Valid only when range-type represented by - trib-port"; - } - type otn-tpn; - description - "Tributary Port Number (TPN)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks."; - } - } - case trib-slot { - leaf ts { - when "../../../../otn-label-range/range-type = - 'trib-slot'" { - - - - - description - "Valid only when range-type represented by - trib-slot"; - } - type otn-ts; - description - "Tributary Slot (TS) number."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks"; - } - } - } - } - } - - grouping otn-label-hop { - description "OTN Label"; - reference - "RFC7139, section 6: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks"; - container otn { - description - "Label hop for OTN."; - leaf tpn { - type otn-tpn; - description - "Tributary Port Number (TPN)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks."; - } - leaf tsg { - type identityref { - base tributary-slot-granularity; - } - description "Tributary Slot Granularity (TSG)."; - reference - "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - leaf ts-list { - type string { - pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" - + "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; - } - description - "A list of available Tributary Slots (TS) ranging - - - - - between 1 and 4095. If multiple values or - ranges are given, they all MUST be disjoint - and MUST be in ascending order. - For example 1-20,25,50-1000."; - reference - "RFC 7139: GMPLS Signaling Extensions for Control - of Evolving G.709 Optical Transport Networks"; - } - } - } - - grouping otn-label-step { - description - "Label step for OTN. - - This grouping is dependent on the range-type defined in the - otn-label-range-info grouping. - - This grouping SHOULD be used together with the - otn-label-range-info and otn-label-start-end groupings to - provide OTN technology-specific label information to the - models which use the label-restriction-info grouping defined - in the module ietf-te-types."; - container otn { - description - "Label step for OTN"; - choice range-type { - description - "OTN label range type, either TPN range or TS range"; - case trib-port { - leaf tpn { - when "../../../otn-label-range/range-type = - 'trib-port'" { - description - "Valid only when range-type represented by - trib-port"; - } - type otn-tpn; - description - "Label step which represents possible increments for - Tributary Port Number (TPN)."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks."; - } - } - case trib-slot { - leaf ts { - - - - - when "../../../otn-label-range/range-type = - 'trib-slot'" { - description - "Valid only when range-type represented by - trib-slot"; - } - type otn-ts; - description - "Label step which represents possible increments for - Tributary Slot (TS) number."; - reference - "RFC7139: GMPLS Signaling Extensions for Control of - Evolving G.709 Optical Transport Networks."; - } - } - } - } - } - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-otn-topology@2023-07-06.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-otn-topology@2023-07-06.yang deleted file mode 100644 index 587612e8e7acb1f2eedb329b2f13a1a0626f3181..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-otn-topology@2023-07-06.yang +++ /dev/null @@ -1,2405 +0,0 @@ - module ietf-otn-topology { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-otn-topology"; - prefix "otnt"; - - import ietf-network { - prefix "nw"; - reference "RFC 8345: A YANG Data Model for Network Topologies"; - } - - import ietf-network-topology { - prefix "nt"; - reference "RFC 8345: A YANG Data Model for Network Topologies"; - } - - import ietf-te-topology { - prefix "tet"; - reference - "RFC 8795: YANG Data Model for Traffic Engineering - (TE) Topologies"; - } - - import ietf-layer1-types { - prefix "l1-types"; - reference - "I-D.ietf-ccamp-layer1-types: A YANG Data Model - for Layer 1 Types"; - } - - organization - "IETF CCAMP Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/ccamp/> - WG List: <mailto:ccamp@ietf.org> - - Editor: Haomian Zheng - <mailto:zhenghaomian@huawei.com> - - Editor: Italo Busi - <mailto:italo.busi@huawei.com> - - Editor: Xufeng Liu - <mailto:xufeng.liu.ietf@gmail.com> - - Editor: Sergio Belotti - <mailto:sergio.belotti@nokia.com> - - - - - Editor: Oscar Gonzalez de Dios - <mailto:oscar.gonzalezdedios@telefonica.com>"; - - description - "This module defines a protocol independent Layer 1/ODU topology - data model. The model fully conforms - to the Network Management Datastore Architecture (NMDA). - - Copyright (c) 2023 IETF Trust and the persons identified - as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Revised BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices. - - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL - NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', - 'MAY', and 'OPTIONAL' in this document are to be interpreted as - described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - they appear in all capitals, as shown here."; - - revision 2023-07-06 { - description - "Initial Revision"; - reference - "RFC XXXX: A YANG Data Model for Optical Transport Network - Topology"; - // RFC Ed.: replace XXXX with actual RFC number, update date - // information and remove this note - } - - /* - * Groupings - */ - - grouping label-range-info { - description - "OTN technology-specific label range related information with - a presence container indicating that the label range is an - OTN technology-specific label range. - - This grouping SHOULD be used together with the - - - - - otn-label-start-end and otn-label-step groupings to provide - OTN technology-specific label information to the models which - use the label-restriction-info grouping defined in the module - ietf-te-types."; - uses l1-types:otn-label-range-info { - refine otn-label-range { - presence - "Indicates the label range is an OTN label range. - - This container MUST NOT be present if there are other - presence containers or attributes indicating another type - of label range."; - } - } - } - - /* - * Data nodes - */ - - augment "/nw:networks/nw:network/nw:network-types/" - + "tet:te-topology" { - container otn-topology { - presence "indicates a topology type of Optical Transport - Network (OTN)-electrical layer."; - description "OTN topology type"; - } - description "augment network types to include OTN newtork"; - } - - augment "/nw:networks/nw:network/nw:node/tet:te" - + "/tet:te-node-attributes" { - when "../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description "Augment only for OTN network."; - } - description "Augment TE node attributes."; - container otn-node { - presence "The TE node is an OTN node."; - description - "Introduce new TE node type for OTN node."; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes" { - when "../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - - - - - description "Augment only for OTN network."; - } - description "Augment link configuration"; - - container otn-link { - description - "Attributes of the OTN Link."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs set up - on this OTN Link."; - } - leaf tsg { - type identityref { - base l1-types:tributary-slot-granularity; - } - description "Tributary slot granularity."; - reference - "ITU-T G.709 v6.0 (06/2020): Interfaces for the Optical - Transport Network (OTN)"; - } - leaf distance { - type uint32; - description "distance in the unit of kilometers"; - } - } - container client-svc { - presence - "When present, indicates that the Link supports Costant - Bit Rate (CBR) client signals."; - description - "Attributes of the Link supporting CBR client signals."; - leaf-list supported-client-signal { - type identityref { - base l1-types:client-signal; - } - min-elements 1; - description - "List of client signal types supported by the Link."; - } - } - } - - augment "/nw:networks/nw:network/nw:node/nt:termination-point/" - + "tet:te" { - - - - - when "../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description "Augment only for OTN network"; - } - description "OTN TP attributes config in ODU topology."; - - container otn-ltp { - description - "Attributes of the OTN Link Termination Point (LTP)."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs set up - on this OTN Link Termination Point (LTP)."; - } - } - container client-svc { - presence - "When present, indicates that the Link Termination Point - (LTP) supports Costant Bit Rate (CBR) client signals."; - description - "OTN LTP Service attributes."; - leaf-list supported-client-signal { - type identityref { - base l1-types:client-signal; - } - description - "List of client signal types supported by the LTP."; - } - } - } - - /* - * Augment TE bandwidth - */ - - augment "/nw:networks/nw:network/nw:node/nt:termination-point/" - + "tet:te/" - + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - - - - - description - "Augment maximum LSP TE bandwidth for the link termination - point (LTP)."; - case otn { - uses l1-types:otn-max-path-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link Termination - Point (LTP) is used to compute the number of Tributary - Slots (TS) required by the ODUflex LSPs set up on this - OTN LTP."; - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints of the TE node - connectivity matrices."; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay paths of these OTN - connectivity matrices."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - - - - - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints of the - connectivity matrix entry."; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay path of this OTN - connectivity matrix entry."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints of the TE node - connectivity matrices information source."; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - - - - - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay paths of these OTN - connectivity matrices."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-constraints/tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints of the - connectivity matrix entry information source"; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay path of this OTN - connectivity matrix entry."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:client-layer-adaptation/tet:switching-capability/" - + "tet:te-bandwidth/tet:technology" { - - - - - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment client TE bandwidth of the tunnel termination point - (TTP)"; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - terminated on this OTN Tunnel Termination Point - (TTP)."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/tet:path-constraints/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints for the TTP - Local Link Connectivities."; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - - - - - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay paths of these OTN Local - Link Connectivities."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/tet:path-constraints/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE bandwidth path constraints for the TTP - Local Link Connectivity entry."; - case otn { - uses l1-types:otn-link-bandwidth { - augment otn { - description - "Augment OTN link bandwidth information."; - leaf odtu-flex-type { - type l1-types:odtu-flex-type; - description - "The type of Optical Data Tributary Unit (ODTU) - whose nominal bitrate is used to compute the number of - Tributary Slots (TS) required by the ODUflex LSPs - set up along the underlay path of this OTN Local - Link Connectivyt entry."; - } - } - } - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" - - - - - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment maximum LSP TE bandwidth for the TE link."; - case otn { - uses l1-types:otn-max-path-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment maximum TE bandwidth for the TE link"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - - - - - } - description - "Augment maximum reservable TE bandwidth for the TE link"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment unreserved TE bandwidth for the TE Link"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:interface-switching-capability/" - + "tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment maximum LSP TE bandwidth for the TE link - information source"; - case otn { - uses l1-types:otn-max-path-bandwidth { - description - - - - - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment maximum TE bandwidth for the TE link - information source"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment maximum reservable TE bandwidth for the TE link - information-source"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - - - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment unreserved TE bandwidth of the TE link - information source"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on this OTN Link."; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:interface-switching-capability/" - + "tet:max-lsp-bandwidth/" - + "tet:te-bandwidth/tet:technology" { - description - "Augment maximum LSP TE bandwidth of the TE link - template"; - case otn { - uses l1-types:otn-max-path-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on the OTN Link that uses this - Link Template."; - } - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:max-link-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment maximum TE bandwidth the TE link template"; - uses l1-types:otn-link-bandwidth { - description - - - - - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on the OTN Link that uses this - Link Template."; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:max-resv-link-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment maximum reservable TE bandwidth for the TE link - template."; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on the OTN Link that uses this - Link Template."; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:unreserved-bandwidth/" - + "tet:te-bandwidth" { - description - "Augment unreserved TE bandwidth the TE link template"; - uses l1-types:otn-link-bandwidth { - description - "The odtu-flex-type attribute of the OTN Link is used - to compute the number of Tributary Slots (TS) required - by the ODUflex LSPs set up on the OTN Link that uses this - Link Template."; - } - } - - /* - * Augment TE label range information - */ - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - - - - - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the TE node - connectivity matrices."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the source LTP - of the connectivity matrix entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the destination LTP - of the connectivity matrix entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - - - - - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the TE node - connectivity matrices information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the source LTP - of the connectivity matrix entry information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the destination LTP - of the connectivity matrix entry information source."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - - - - - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the TTP - Local Link Connectivities."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the TTP - Local Link Connectivity entry."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range information for the TE link."; - uses label-range-info; - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction" { - when "../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - - - - - } - description - "Augment TE label range information for the TE link - information source."; - uses label-range-info; - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction" { - description - "Augment TE label range information for the TE link template."; - uses label-range-info; - } - - /* - * Augment TE label - */ - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TE node - connectivity matrices"; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/" - + "tet:label-restriction/tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - - - - - } - description - "Augment TE label range end for the TE node - connectivity matrices"; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:label-restrictions/" - + "tet:label-restriction/tet:label-step/" - + "tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the TE node - connectivity matrices"; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:underlay/tet:primary-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path of the - TE node connectivity matrices"; - case otn { - uses l1-types:otn-label-hop; - } - } - - - - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:underlay/tet:backup-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path of the - TE node connectivity matrices"; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TE node connectivity - matrices"; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - - - - - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TE node connectivity - matrices"; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TE node connectivity matrices"; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - - - - - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the source LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the source LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:from/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - - - - - "Augment TE label range step for the source LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the destination LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the destination LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - - - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:to/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the destination LTP - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:primary-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:backup-path/tet:path-element/" - + "tet:type/tet:label/tet:label-hop/" - + "tet:te-label/tet:technology" { - - - - - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:optimizations/" - + "tet:algorithm/tet:metric/tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/tet:optimizations/" - + "tet:algorithm/tet:metric/tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - - - - - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:te-node-attributes/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the connectivity matrix entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TE node connectivity - matrices information source."; - case otn { - - - - - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the TE node connectivity - matrices information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/" - + "tet:connectivity-matrices/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the TE node connectivity - matrices information source."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - - - - - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TE node connectivity matrices of the information - source entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TE node connectivity matrices of the information - source entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - - - - - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TE node connectivity matrices - information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TE node connectivity matrices - information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - - - - - of the TE node connectivity matrices information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the source LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the source LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - - - - - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:from/tet:label-restrictions/" - + "tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the source LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the destination LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - - - - - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the destination LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:to/tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the destination LTP - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the connectivity matrix entry information source."; - case otn { - - - - - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the connectivity matrix entry - information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - - - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the connectivity matrix entry - information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:information-source-entry/tet:connectivity-matrices/" - + "tet:connectivity-matrix/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the connectivity matrix entry information source."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - - - - - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/" - + "tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TTP - Local Link Connectivities."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/" - + "tet:te-label/tet:technology"{ - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the TTP - Local Link Connectivities."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/" - + "tet:technology"{ - when "../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - - - - - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the TTP - Local Link Connectivities."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TTP Local Link Connectivities."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TTP Local Link Connectivities."; - case otn { - - - - - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TTP Local Link - Connectivities."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TTP Local Link - Connectivities."; - case otn { - - - - - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TTP Local Link Connectivities."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TTP - Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - - - - - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the TTP - Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the TTP - Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - - - - - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TTP Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TTP Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-exclude-objects/" - + "tet:route-object-exclude-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - - - - - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects excluded - by the path computation of the TTP Local Link - Connectivity entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:optimizations/tet:algorithm/tet:metric/" - + "tet:optimization-metric/" - + "tet:explicit-route-include-objects/" - + "tet:route-object-include-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the explicit route objects included - by the path computation of the TTP Local Link - Connectivity entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nw:node/tet:te/" - + "tet:tunnel-termination-point/" - + "tet:local-link-connectivities/" - + "tet:local-link-connectivity/" - + "tet:path-properties/tet:path-route-objects/" - + "tet:path-route-object/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - - - - - OTN topology type."; - } - description - "Augment TE label hop for the computed path route objects - of the TTP Local Link Connectivity entry."; - case otn { - uses l1-types:otn-label-hop; - } - } - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay primary path - of the TE link."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - when "../../../../../../../../" - + "nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label hop for the underlay backup path - of the TE link."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - - - - - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TE link."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the TE link."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range step for the TE link."; - case otn { - uses l1-types:otn-label-step; - } - - - - - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range start for the TE link - information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - when "../../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - description - "Augment TE label range end for the TE link - information source."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/nw:network/nt:link/tet:te/" - + "tet:information-source-entry/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - when "../../../../../../nw:network-types/tet:te-topology/" - + "otnt:otn-topology" { - description - "Augmentation parameters apply only for networks with - OTN topology type."; - } - - - - - description - "Augment TE label range step for the TE link - information source."; - case otn { - uses l1-types:otn-label-step; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - description - "Augment TE label hop for the underlay primary path - of the TE link template."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" - + "tet:label/tet:label-hop/tet:te-label/tet:technology" { - description - "Augment TE label hop for the underlay backup path - of the TE link template."; - case otn { - uses l1-types:otn-label-hop; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-start/tet:te-label/tet:technology" { - description - "Augment TE label range start for the TE link template."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-end/tet:te-label/tet:technology" { - description - - - - - "Augment TE label range end for the TE link template."; - case otn { - uses l1-types:otn-label-start-end; - } - } - - augment "/nw:networks/tet:te/tet:templates/" - + "tet:link-template/tet:te-link-attributes/" - + "tet:label-restrictions/tet:label-restriction/" - + "tet:label-step/tet:technology" { - description - "Augment TE label range step for the TE link template."; - case otn { - uses l1-types:otn-label-step; - } - } - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-packet-types@2020-06-10.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-packet-types@2020-06-10.yang deleted file mode 100644 index 8e7d4aafadcc34ec21dbf553d72852dc64624c4a..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-packet-types@2020-06-10.yang +++ /dev/null @@ -1,475 +0,0 @@ -module ietf-te-packet-types { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-te-packet-types"; - prefix te-packet-types; - - /* Import TE generic types */ - - import ietf-te-types { - prefix te-types; - reference - "RFC 8776: Common YANG Data Types for Traffic Engineering"; - } - - organization - "IETF Traffic Engineering Architecture and Signaling (TEAS) - Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/teas/> - WG List: <mailto:teas@ietf.org> - - Editor: Tarek Saad - <mailto:tsaad@juniper.net> - - Editor: Rakesh Gandhi - <mailto:rgandhi@cisco.com> - - Editor: Vishnu Pavan Beeram - <mailto:vbeeram@juniper.net> - - Editor: Xufeng Liu - <mailto:xufeng.liu.ietf@gmail.com> - - Editor: Igor Bryskin - <mailto:i_bryskin@yahoo.com>"; - description - "This YANG module contains a collection of generally useful YANG - data type definitions specific to MPLS TE. The model fully - conforms to the Network Management Datastore Architecture - (NMDA). - - Copyright (c) 2020 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject to - the license terms contained in, the Simplified BSD License set - forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 8776; see the - RFC itself for full legal notices."; - - revision 2020-06-10 { - description - "Latest revision of TE MPLS types."; - reference - "RFC 8776: Common YANG Data Types for Traffic Engineering"; - } - - /** - * Typedefs - */ - - typedef te-bandwidth-requested-type { - type enumeration { - enum specified { - description - "Bandwidth is explicitly specified."; - } - enum auto { - description - "Bandwidth is automatically computed."; - } - } - description - "Enumerated type for specifying whether bandwidth is - explicitly specified or automatically computed."; - } - - typedef te-class-type { - type uint8; - description - "Diffserv-TE Class-Type. Defines a set of Traffic Trunks - crossing a link that is governed by a specific set of - bandwidth constraints. Class-Type is used for the purposes - of link bandwidth allocation, constraint-based routing, and - admission control."; - reference - "RFC 4124: Protocol Extensions for Support of Diffserv-aware - MPLS Traffic Engineering"; - } - - typedef bc-type { - type uint8 { - range "0..7"; - } - description - "Diffserv-TE bandwidth constraints as defined in RFC 4124."; - reference - "RFC 4124: Protocol Extensions for Support of Diffserv-aware - MPLS Traffic Engineering"; - } - - typedef bandwidth-kbps { - type uint64; - units "Kbps"; - description - "Bandwidth values, expressed in kilobits per second."; - } - - typedef bandwidth-mbps { - type uint64; - units "Mbps"; - description - "Bandwidth values, expressed in megabits per second."; - } - - typedef bandwidth-gbps { - type uint64; - units "Gbps"; - description - "Bandwidth values, expressed in gigabits per second."; - } - - identity backup-protection-type { - description - "Base identity for the backup protection type."; - } - - identity backup-protection-link { - base backup-protection-type; - description - "Backup provides link protection only."; - } - - identity backup-protection-node-link { - base backup-protection-type; - description - "Backup offers node (preferred) or link protection."; - } - - identity bc-model-type { - description - "Base identity for the Diffserv-TE Bandwidth Constraints - Model type."; - reference - "RFC 4124: Protocol Extensions for Support of Diffserv-aware - MPLS Traffic Engineering"; - } - - identity bc-model-rdm { - base bc-model-type; - description - "Russian Dolls Bandwidth Constraints Model type."; - reference - "RFC 4127: Russian Dolls Bandwidth Constraints Model for - Diffserv-aware MPLS Traffic Engineering"; - } - - identity bc-model-mam { - base bc-model-type; - description - "Maximum Allocation Bandwidth Constraints Model type."; - reference - "RFC 4125: Maximum Allocation Bandwidth Constraints Model for - Diffserv-aware MPLS Traffic Engineering"; - } - - identity bc-model-mar { - base bc-model-type; - description - "Maximum Allocation with Reservation Bandwidth Constraints - Model type."; - reference - "RFC 4126: Max Allocation with Reservation Bandwidth - Constraints Model for Diffserv-aware MPLS Traffic Engineering - & Performance Comparisons"; - } - - grouping performance-metrics-attributes-packet { - description - "Contains PM attributes."; - uses te-types:performance-metrics-attributes { - augment "performance-metrics-one-way" { - leaf one-way-min-delay { - type uint32 { - range "0..16777215"; - } - description - "One-way minimum delay or latency in microseconds."; - } - leaf one-way-min-delay-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "One-way minimum delay or latency normality."; - } - leaf one-way-max-delay { - type uint32 { - range "0..16777215"; - } - description - "One-way maximum delay or latency in microseconds."; - } - leaf one-way-max-delay-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "One-way maximum delay or latency normality."; - } - leaf one-way-delay-variation { - type uint32 { - range "0..16777215"; - } - description - "One-way delay variation in microseconds."; - reference - "RFC 5481: Packet Delay Variation Applicability - Statement, Section 4.2"; - } - leaf one-way-delay-variation-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "One-way delay variation normality."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric - Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - leaf one-way-packet-loss { - type decimal64 { - fraction-digits 6; - range "0..50.331642"; - } - description - "One-way packet loss as a percentage of the total traffic - sent over a configurable interval. The finest precision - is 0.000003%, where the maximum is 50.331642%."; - reference - "RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions, Section 4.4"; - } - leaf one-way-packet-loss-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Packet loss normality."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric - Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - description - "PM one-way packet-specific augmentation for a generic PM - grouping."; - } - augment "performance-metrics-two-way" { - leaf two-way-min-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way minimum delay or latency in microseconds."; - } - leaf two-way-min-delay-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Two-way minimum delay or latency normality."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric - Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - leaf two-way-max-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way maximum delay or latency in microseconds."; - } - leaf two-way-max-delay-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Two-way maximum delay or latency normality."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric - Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - leaf two-way-delay-variation { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way delay variation in microseconds."; - reference - "RFC 5481: Packet Delay Variation Applicability - Statement, Section 4.2"; - } - leaf two-way-delay-variation-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Two-way delay variation normality."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric - Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - leaf two-way-packet-loss { - type decimal64 { - fraction-digits 6; - range "0..50.331642"; - } - default "0"; - description - "Two-way packet loss as a percentage of the total traffic - sent over a configurable interval. The finest precision - is 0.000003%."; - } - leaf two-way-packet-loss-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Two-way packet loss normality."; - } - description - "PM two-way packet-specific augmentation for a generic PM - grouping."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for - Explicitly Routed Label Switched Paths (LSPs) Using - TE Metric Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions"; - } - } - } - - grouping one-way-performance-metrics-packet { - description - "One-way packet PM throttle grouping."; - leaf one-way-min-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "One-way minimum delay or latency in microseconds."; - } - leaf one-way-max-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "One-way maximum delay or latency in microseconds."; - } - leaf one-way-delay-variation { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "One-way delay variation in microseconds."; - } - leaf one-way-packet-loss { - type decimal64 { - fraction-digits 6; - range "0..50.331642"; - } - default "0"; - description - "One-way packet loss as a percentage of the total traffic - sent over a configurable interval. The finest precision is - 0.000003%."; - } - } - - grouping two-way-performance-metrics-packet { - description - "Two-way packet PM throttle grouping."; - leaf two-way-min-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way minimum delay or latency in microseconds."; - } - leaf two-way-max-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way maximum delay or latency in microseconds."; - } - leaf two-way-delay-variation { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way delay variation in microseconds."; - } - leaf two-way-packet-loss { - type decimal64 { - fraction-digits 6; - range "0..50.331642"; - } - default "0"; - description - "Two-way packet loss as a percentage of the total traffic - sent over a configurable interval. The finest precision is - 0.000003%."; - } - } - - grouping performance-metrics-throttle-container-packet { - description - "Packet PM threshold grouping."; - uses te-types:performance-metrics-throttle-container { - augment "throttle/threshold-out" { - uses one-way-performance-metrics-packet; - uses two-way-performance-metrics-packet; - description - "PM threshold-out packet augmentation for a - generic grouping."; - } - augment "throttle/threshold-in" { - uses one-way-performance-metrics-packet; - uses two-way-performance-metrics-packet; - description - "PM threshold-in packet augmentation for a - generic grouping."; - } - augment "throttle/threshold-accelerated-advertisement" { - uses one-way-performance-metrics-packet; - uses two-way-performance-metrics-packet; - description - "PM accelerated advertisement packet augmentation for a - generic grouping."; - } - } - } -} diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-topology@2020-08-06.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-topology@2020-08-06.yang deleted file mode 100644 index 6d76a77b21ba5609094a670290e5bd81562c3022..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-topology@2020-08-06.yang +++ /dev/null @@ -1,1952 +0,0 @@ -module ietf-te-topology { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; - prefix tet; - - import ietf-yang-types { - prefix yang; - reference - "RFC 6991: Common YANG Data Types"; - } - import ietf-inet-types { - prefix inet; - reference - "RFC 6991: Common YANG Data Types"; - } - import ietf-te-types { - prefix te-types; - reference - "RFC 8776: Common YANG Data Types for Traffic Engineering"; - } - import ietf-network { - prefix nw; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - import ietf-network-topology { - prefix nt; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - - organization - "IETF Traffic Engineering Architecture and Signaling (TEAS) - Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/teas/> - WG List: <mailto:teas@ietf.org> - - Editor: Xufeng Liu - <mailto:xufeng.liu.ietf@gmail.com> - - Editor: Igor Bryskin - <mailto:i_bryskin@yahoo.com> - - Editor: Vishnu Pavan Beeram - <mailto:vbeeram@juniper.net> - - Editor: Tarek Saad - <mailto:tsaad@juniper.net> - - Editor: Himanshu Shah - <mailto:hshah@ciena.com> - - Editor: Oscar Gonzalez de Dios - <mailto:oscar.gonzalezdedios@telefonica.com>"; - description - "This YANG module defines a TE topology model for representing, - retrieving, and manipulating technology-agnostic TE topologies. - - Copyright (c) 2020 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject to - the license terms contained in, the Simplified BSD License set - forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 8795; see the - RFC itself for full legal notices."; - - revision 2020-08-06 { - description - "Initial revision."; - reference - "RFC 8795: YANG Data Model for Traffic Engineering (TE) - Topologies"; - } - - /* - * Features - */ - - feature nsrlg { - description - "This feature indicates that the system supports NSRLGs - (Non-Shared Risk Link Groups)."; - } - - feature te-topology-hierarchy { - description - "This feature indicates that the system allows an underlay - and/or overlay TE topology hierarchy."; - } - - feature template { - description - "This feature indicates that the system supports - template configuration."; - } - - /* - * Typedefs - */ - - typedef geographic-coordinate-degree { - type decimal64 { - fraction-digits 8; - } - description - "Decimal degree (DD) used to express latitude and longitude - geographic coordinates."; - } - // geographic-coordinate-degree - - typedef te-info-source { - type enumeration { - enum unknown { - description - "The source is unknown."; - } - enum locally-configured { - description - "Configured entity."; - } - enum ospfv2 { - description - "OSPFv2."; - } - enum ospfv3 { - description - "OSPFv3."; - } - enum isis { - description - "IS-IS."; - } - enum bgp-ls { - description - "BGP-LS."; - reference - "RFC 7752: North-Bound Distribution of Link-State and - Traffic Engineering (TE) Information Using BGP"; - } - enum system-processed { - description - "System-processed entity."; - } - enum other { - description - "Other source."; - } - } - description - "Describes the type of source that has provided the - related information, and the source's credibility."; - } - // te-info-source - - /* - * Groupings - */ - - grouping connectivity-matrix-entry-path-attributes { - description - "Attributes of a connectivity matrix entry."; - leaf is-allowed { - type boolean; - description - "'true' - switching is allowed; - 'false' - switching is disallowed."; - } - container underlay { - if-feature "te-topology-hierarchy"; - description - "Attributes of the TE link underlay."; - reference - "RFC 4206: Label Switched Paths (LSP) Hierarchy with - Generalized Multi-Protocol Label Switching (GMPLS) - Traffic Engineering (TE)"; - uses te-link-underlay-attributes; - } - uses te-types:generic-path-constraints; - uses te-types:generic-path-optimization; - uses te-types:generic-path-properties; - } - // connectivity-matrix-entry-path-attributes - - grouping geolocation-container { - description - "Contains a GPS location."; - container geolocation { - config false; - description - "Contains a GPS location."; - leaf altitude { - type int64; - units "millimeters"; - description - "Distance above sea level."; - } - leaf latitude { - type geographic-coordinate-degree { - range "-90..90"; - } - description - "Relative position north or south on the Earth's surface."; - } - leaf longitude { - type geographic-coordinate-degree { - range "-180..180"; - } - description - "Angular distance east or west on the Earth's surface."; - } - } - // geolocation - } - // geolocation-container - - grouping information-source-state-attributes { - description - "The attributes identifying the source that has provided the - related information, and the source's credibility."; - leaf credibility-preference { - type uint16; - description - "The preference value for calculating the Traffic - Engineering database credibility value used for - tie-break selection between different information-source - values. A higher value is preferable."; - } - leaf logical-network-element { - type string; - description - "When applicable, this is the name of a logical network - element from which the information is learned."; - } - leaf network-instance { - type string; - description - "When applicable, this is the name of a network instance - from which the information is learned."; - } - } - // information-source-state-attributes - - grouping information-source-per-link-attributes { - description - "Per-node container of the attributes identifying the source - that has provided the related information, and the source's - credibility."; - leaf information-source { - type te-info-source; - config false; - description - "Indicates the type of information source."; - } - leaf information-source-instance { - type string; - config false; - description - "The name indicating the instance of the information - source."; - } - container information-source-state { - config false; - description - "Contains state attributes related to the information - source."; - uses information-source-state-attributes; - container topology { - description - "When the information is processed by the system, - the attributes in this container indicate which topology - is used to generate the result information."; - uses nt:link-ref; - } - } - } - // information-source-per-link-attributes - - grouping information-source-per-node-attributes { - description - "Per-node container of the attributes identifying the source - that has provided the related information, and the source's - credibility."; - leaf information-source { - type te-info-source; - config false; - description - "Indicates the type of information source."; - } - leaf information-source-instance { - type string; - config false; - description - "The name indicating the instance of the information - source."; - } - container information-source-state { - config false; - description - "Contains state attributes related to the information - source."; - uses information-source-state-attributes; - container topology { - description - "When the information is processed by the system, - the attributes in this container indicate which topology - is used to generate the result information."; - uses nw:node-ref; - } - } - } - // information-source-per-node-attributes - - grouping interface-switching-capability-list { - description - "List of Interface Switching Capability Descriptors (ISCDs)."; - list interface-switching-capability { - key "switching-capability encoding"; - description - "List of ISCDs for this link."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description - RFC 4203: OSPF Extensions in Support of Generalized - Multi-Protocol Label Switching (GMPLS)"; - leaf switching-capability { - type identityref { - base te-types:switching-capabilities; - } - description - "Switching capability for this interface."; - } - leaf encoding { - type identityref { - base te-types:lsp-encoding-types; - } - description - "Encoding supported by this interface."; - } - uses te-link-iscd-attributes; - } - // interface-switching-capability - } - // interface-switching-capability-list - - grouping statistics-per-link { - description - "Statistics attributes per TE link."; - leaf discontinuity-time { - type yang:date-and-time; - description - "The time of the most recent occasion at which any one or - more of this interface's counters suffered a - discontinuity. If no such discontinuities have occurred - since the last re-initialization of the local management - subsystem, then this node contains the time the local - management subsystem re-initialized itself."; - } - /* Administrative attributes */ - leaf disables { - type yang:counter32; - description - "Number of times that a link was disabled."; - } - leaf enables { - type yang:counter32; - description - "Number of times that a link was enabled."; - } - leaf maintenance-clears { - type yang:counter32; - description - "Number of times that a link was taken out of maintenance."; - } - leaf maintenance-sets { - type yang:counter32; - description - "Number of times that a link was put in maintenance."; - } - leaf modifies { - type yang:counter32; - description - "Number of times that a link was modified."; - } - /* Operational attributes */ - leaf downs { - type yang:counter32; - description - "Number of times that a link was set to an operational state - of 'down'."; - } - leaf ups { - type yang:counter32; - description - "Number of times that a link was set to an operational state - of 'up'."; - } - /* Recovery attributes */ - leaf fault-clears { - type yang:counter32; - description - "Number of times that a link experienced a fault-clear - event."; - } - leaf fault-detects { - type yang:counter32; - description - "Number of times that a link experienced fault detection."; - } - leaf protection-switches { - type yang:counter32; - description - "Number of times that a link experienced protection - switchover."; - } - leaf protection-reverts { - type yang:counter32; - description - "Number of times that a link experienced protection - reversion."; - } - leaf restoration-failures { - type yang:counter32; - description - "Number of times that a link experienced restoration - failure."; - } - leaf restoration-starts { - type yang:counter32; - description - "Number of times that a link experienced restoration - start."; - } - leaf restoration-successes { - type yang:counter32; - description - "Number of times that a link experienced restoration - success."; - } - leaf restoration-reversion-failures { - type yang:counter32; - description - "Number of times that a link experienced restoration - reversion failure."; - } - leaf restoration-reversion-starts { - type yang:counter32; - description - "Number of times that a link experienced restoration - reversion start."; - } - leaf restoration-reversion-successes { - type yang:counter32; - description - "Number of times that a link experienced restoration - reversion success."; - } - } - // statistics-per-link - - grouping statistics-per-node { - description - "Statistics attributes per TE node."; - leaf discontinuity-time { - type yang:date-and-time; - description - "The time of the most recent occasion at which any one or - more of this interface's counters suffered a - discontinuity. If no such discontinuities have occurred - since the last re-initialization of the local management - subsystem, then this node contains the time the local - management subsystem re-initialized itself."; - } - container node { - description - "Contains statistics attributes at the TE node level."; - leaf disables { - type yang:counter32; - description - "Number of times that a node was disabled."; - } - leaf enables { - type yang:counter32; - description - "Number of times that a node was enabled."; - } - leaf maintenance-sets { - type yang:counter32; - description - "Number of times that a node was put in maintenance."; - } - leaf maintenance-clears { - type yang:counter32; - description - "Number of times that a node was taken out of - maintenance."; - } - leaf modifies { - type yang:counter32; - description - "Number of times that a node was modified."; - } - } - // node - container connectivity-matrix-entry { - description - "Contains statistics attributes at the level of a - connectivity matrix entry."; - leaf creates { - type yang:counter32; - description - "Number of times that a connectivity matrix entry was - created."; - reference - "RFC 6241: Network Configuration Protocol (NETCONF), - Section 7.2, 'create' operation"; - } - leaf deletes { - type yang:counter32; - description - "Number of times that a connectivity matrix entry was - deleted."; - reference - "RFC 6241: Network Configuration Protocol (NETCONF), - Section 7.2, 'delete' operation"; - } - leaf disables { - type yang:counter32; - description - "Number of times that a connectivity matrix entry was - disabled."; - } - leaf enables { - type yang:counter32; - description - "Number of times that a connectivity matrix entry was - enabled."; - } - leaf modifies { - type yang:counter32; - description - "Number of times that a connectivity matrix entry was - modified."; - } - } - // connectivity-matrix-entry - } - // statistics-per-node - - grouping statistics-per-ttp { - description - "Statistics attributes per TE TTP (Tunnel Termination Point)."; - leaf discontinuity-time { - type yang:date-and-time; - description - "The time of the most recent occasion at which any one or - more of this interface's counters suffered a - discontinuity. If no such discontinuities have occurred - since the last re-initialization of the local management - subsystem, then this node contains the time the local - management subsystem re-initialized itself."; - } - container tunnel-termination-point { - description - "Contains statistics attributes at the TE TTP level."; - /* Administrative attributes */ - leaf disables { - type yang:counter32; - description - "Number of times that a TTP was disabled."; - } - leaf enables { - type yang:counter32; - description - "Number of times that a TTP was enabled."; - } - leaf maintenance-clears { - type yang:counter32; - description - "Number of times that a TTP was taken out of maintenance."; - } - leaf maintenance-sets { - type yang:counter32; - description - "Number of times that a TTP was put in maintenance."; - } - leaf modifies { - type yang:counter32; - description - "Number of times that a TTP was modified."; - } - /* Operational attributes */ - leaf downs { - type yang:counter32; - description - "Number of times that a TTP was set to an operational state - of 'down'."; - } - leaf ups { - type yang:counter32; - description - "Number of times that a TTP was set to an operational state - of 'up'."; - } - leaf in-service-clears { - type yang:counter32; - description - "Number of times that a TTP was taken out of service - (TE tunnel was released)."; - } - leaf in-service-sets { - type yang:counter32; - description - "Number of times that a TTP was put in service by a TE - tunnel (TE tunnel was set up)."; - } - } - // tunnel-termination-point - container local-link-connectivity { - description - "Contains statistics attributes at the TE LLCL (Local Link - Connectivity List) level."; - leaf creates { - type yang:counter32; - description - "Number of times that an LLCL entry was created."; - reference - "RFC 6241: Network Configuration Protocol (NETCONF), - Section 7.2, 'create' operation"; - } - leaf deletes { - type yang:counter32; - description - "Number of times that an LLCL entry was deleted."; - reference - "RFC 6241: Network Configuration Protocol (NETCONF), - Section 7.2, 'delete' operation"; - } - leaf disables { - type yang:counter32; - description - "Number of times that an LLCL entry was disabled."; - } - leaf enables { - type yang:counter32; - description - "Number of times that an LLCL entry was enabled."; - } - leaf modifies { - type yang:counter32; - description - "Number of times that an LLCL entry was modified."; - } - } - // local-link-connectivity - } - // statistics-per-ttp - - grouping te-link-augment { - description - "Augmentation for a TE link."; - uses te-link-config; - uses te-link-state-derived; - container statistics { - config false; - description - "Statistics data."; - uses statistics-per-link; - } - } - // te-link-augment - - grouping te-link-config { - description - "TE link configuration grouping."; - choice bundle-stack-level { - description - "The TE link can be partitioned into bundled links or - component links."; - case bundle { - container bundled-links { - description - "A set of bundled links."; - reference - "RFC 4201: Link Bundling in MPLS Traffic - Engineering (TE)"; - list bundled-link { - key "sequence"; - description - "Specifies a bundled interface that is - further partitioned."; - leaf sequence { - type uint32; - description - "Identifies the sequence in the bundle."; - } - } - } - } - case component { - container component-links { - description - "A set of component links."; - list component-link { - key "sequence"; - description - "Specifies a component interface that is - sufficient to unambiguously identify the - appropriate resources."; - leaf sequence { - type uint32; - description - "Identifies the sequence in the bundle."; - } - leaf src-interface-ref { - type string; - description - "Reference to a component link interface on the - source node."; - } - leaf des-interface-ref { - type string; - description - "Reference to a component link interface on the - destination node."; - } - } - } - } - } - // bundle-stack-level - leaf-list te-link-template { - if-feature "template"; - type leafref { - path "../../../../te/templates/link-template/name"; - } - description - "The reference to a TE link template."; - } - uses te-link-config-attributes; - } - // te-link-config - - grouping te-link-config-attributes { - description - "Link configuration attributes in a TE topology."; - container te-link-attributes { - description - "Link attributes in a TE topology."; - leaf access-type { - type te-types:te-link-access-type; - description - "Link access type, which can be point-to-point or - multi-access."; - } - container external-domain { - description - "For an inter-domain link, specifies the attributes of - the remote end of the link, to facilitate the signaling at - the local end."; - uses nw:network-ref; - leaf remote-te-node-id { - type te-types:te-node-id; - description - "Remote TE node identifier, used together with - 'remote-te-link-tp-id' to identify the remote Link - Termination Point (LTP) in a different domain."; - } - leaf remote-te-link-tp-id { - type te-types:te-tp-id; - description - "Remote TE LTP identifier, used together with - 'remote-te-node-id' to identify the remote LTP in a - different domain."; - } - } - leaf is-abstract { - type empty; - description - "Present if the link is abstract."; - } - leaf name { - type string; - description - "Link name."; - } - container underlay { - if-feature "te-topology-hierarchy"; - description - "Attributes of the TE link underlay."; - reference - "RFC 4206: Label Switched Paths (LSP) Hierarchy with - Generalized Multi-Protocol Label Switching (GMPLS) - Traffic Engineering (TE)"; - uses te-link-underlay-attributes; - } - leaf admin-status { - type te-types:te-admin-status; - description - "The administrative state of the link."; - } - uses te-link-info-attributes; - } - // te-link-attributes - } - // te-link-config-attributes - - grouping te-link-info-attributes { - description - "Advertised TE information attributes."; - leaf link-index { - type uint64; - description - "The link identifier. If OSPF is used, this object - represents an ospfLsdbID. If IS-IS is used, this object - represents an isisLSPID. If a locally configured link is - used, this object represents a unique value, which is - locally defined in a router."; - } - leaf administrative-group { - type te-types:admin-groups; - description - "Administrative group or color of the link. - This attribute covers both administrative groups (defined - in RFCs 3630 and 5305) and Extended Administrative Groups - (defined in RFC 7308)."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering - RFC 7308: Extended Administrative Groups in MPLS Traffic - Engineering (MPLS-TE)"; - } - uses interface-switching-capability-list; - uses te-types:label-set-info; - leaf link-protection-type { - type identityref { - base te-types:link-protection-type; - } - description - "Link Protection Type desired for this link."; - reference - "RFC 4202: Routing Extensions in Support of - Generalized Multi-Protocol Label Switching (GMPLS)"; - } - container max-link-bandwidth { - uses te-types:te-bandwidth; - description - "Maximum bandwidth that can be seen on this link in this - direction. Units are in bytes per second."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering"; - } - container max-resv-link-bandwidth { - uses te-types:te-bandwidth; - description - "Maximum amount of bandwidth that can be reserved in this - direction in this link. Units are in bytes per second."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering"; - } - list unreserved-bandwidth { - key "priority"; - max-elements 8; - description - "Unreserved bandwidth for priority levels 0-7. Units are in - bytes per second."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering"; - leaf priority { - type uint8 { - range "0..7"; - } - description - "Priority."; - } - uses te-types:te-bandwidth; - } - leaf te-default-metric { - type uint32; - description - "Traffic Engineering metric."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering"; - } - leaf te-delay-metric { - type uint32; - description - "Traffic Engineering delay metric."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions"; - } - leaf te-igp-metric { - type uint32; - description - "IGP metric used for Traffic Engineering."; - reference - "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a - second MPLS Traffic Engineering (TE) Metric"; - } - container te-srlgs { - description - "Contains a list of SRLGs."; - leaf-list value { - type te-types:srlg; - description - "SRLG value."; - reference - "RFC 4202: Routing Extensions in Support of - Generalized Multi-Protocol Label Switching (GMPLS)"; - } - } - container te-nsrlgs { - if-feature "nsrlg"; - description - "Contains a list of NSRLGs (Non-Shared Risk Link Groups). - When an abstract TE link is configured, this list specifies - the request that underlay TE paths need to be mutually - disjoint with other TE links in the same groups."; - leaf-list id { - type uint32; - description - "NSRLG ID, uniquely configured within a topology."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) - Recovery"; - } - } - } - // te-link-info-attributes - - grouping te-link-iscd-attributes { - description - "TE link ISCD attributes."; - reference - "RFC 4203: OSPF Extensions in Support of Generalized - Multi-Protocol Label Switching (GMPLS), Section 1.4"; - list max-lsp-bandwidth { - key "priority"; - max-elements 8; - description - "Maximum Label Switched Path (LSP) bandwidth at - priorities 0-7."; - leaf priority { - type uint8 { - range "0..7"; - } - description - "Priority."; - } - uses te-types:te-bandwidth; - } - } - // te-link-iscd-attributes - - grouping te-link-state-derived { - description - "Link state attributes in a TE topology."; - leaf oper-status { - type te-types:te-oper-status; - config false; - description - "The current operational state of the link."; - } - leaf is-transitional { - type empty; - config false; - description - "Present if the link is transitional; used as an - alternative approach in lieu of 'inter-layer-lock-id' - for path computation in a TE topology covering multiple - layers or multiple regions."; - reference - "RFC 5212: Requirements for GMPLS-Based Multi-Region and - Multi-Layer Networks (MRN/MLN) - RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions - for Multi-Layer and Multi-Region Networks (MLN/MRN)"; - } - uses information-source-per-link-attributes; - list information-source-entry { - key "information-source information-source-instance"; - config false; - description - "A list of information sources learned, including the source - that is used."; - uses information-source-per-link-attributes; - uses te-link-info-attributes; - } - container recovery { - config false; - description - "Status of the recovery process."; - leaf restoration-status { - type te-types:te-recovery-status; - description - "Restoration status."; - } - leaf protection-status { - type te-types:te-recovery-status; - description - "Protection status."; - } - } - container underlay { - if-feature "te-topology-hierarchy"; - config false; - description - "State attributes for the TE link underlay."; - leaf dynamic { - type boolean; - description - "'true' if the underlay is dynamically created."; - } - leaf committed { - type boolean; - description - "'true' if the underlay is committed."; - } - } - } - // te-link-state-derived - - grouping te-link-underlay-attributes { - description - "Attributes for the TE link underlay."; - reference - "RFC 4206: Label Switched Paths (LSP) Hierarchy with - Generalized Multi-Protocol Label Switching (GMPLS) - Traffic Engineering (TE)"; - leaf enabled { - type boolean; - description - "'true' if the underlay is enabled. - 'false' if the underlay is disabled."; - } - container primary-path { - description - "The service path on the underlay topology that - supports this link."; - uses nw:network-ref; - list path-element { - key "path-element-id"; - description - "A list of path elements describing the service path."; - leaf path-element-id { - type uint32; - description - "To identify the element in a path."; - } - uses te-path-element; - } - } - // primary-path - list backup-path { - key "index"; - description - "A list of backup service paths on the underlay topology that - protect the underlay primary path. If the primary path is - not protected, the list contains zero elements. If the - primary path is protected, the list contains one or more - elements."; - leaf index { - type uint32; - description - "A sequence number to identify a backup path."; - } - uses nw:network-ref; - list path-element { - key "path-element-id"; - description - "A list of path elements describing the backup service - path."; - leaf path-element-id { - type uint32; - description - "To identify the element in a path."; - } - uses te-path-element; - } - } - // backup-path - leaf protection-type { - type identityref { - base te-types:lsp-protection-type; - } - description - "Underlay protection type desired for this link."; - } - container tunnel-termination-points { - description - "Underlay TTPs desired for this link."; - leaf source { - type binary; - description - "Source TTP identifier."; - } - leaf destination { - type binary; - description - "Destination TTP identifier."; - } - } - container tunnels { - description - "Underlay TE tunnels supporting this TE link."; - leaf sharing { - type boolean; - default "true"; - description - "'true' if the underlay tunnel can be shared with other - TE links; - 'false' if the underlay tunnel is dedicated to this - TE link. - This leaf is the default option for all TE tunnels - and may be overridden by the per-TE-tunnel value."; - } - list tunnel { - key "tunnel-name"; - description - "Zero, one, or more underlay TE tunnels that support this - TE link."; - leaf tunnel-name { - type string; - description - "A tunnel name uniquely identifies an underlay TE tunnel, - used together with the 'source-node' value for this - link."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - leaf sharing { - type boolean; - description - "'true' if the underlay tunnel can be shared with other - TE links; - 'false' if the underlay tunnel is dedicated to this - TE link."; - } - } - // tunnel - } - // tunnels - } - // te-link-underlay-attributes - - grouping te-node-augment { - description - "Augmentation for a TE node."; - uses te-node-config; - uses te-node-state-derived; - container statistics { - config false; - description - "Statistics data."; - uses statistics-per-node; - } - list tunnel-termination-point { - key "tunnel-tp-id"; - description - "A termination point can terminate a tunnel."; - leaf tunnel-tp-id { - type binary; - description - "TTP identifier."; - } - uses te-node-tunnel-termination-point-config; - leaf oper-status { - type te-types:te-oper-status; - config false; - description - "The current operational state of the TTP."; - } - uses geolocation-container; - container statistics { - config false; - description - "Statistics data."; - uses statistics-per-ttp; - } - // Relationship to other TTPs - list supporting-tunnel-termination-point { - key "node-ref tunnel-tp-ref"; - description - "Identifies the TTPs on which this TTP depends."; - leaf node-ref { - type inet:uri; - description - "This leaf identifies the node in which the supporting - TTP is present. - This node is either the supporting node or a node in - an underlay topology."; - } - leaf tunnel-tp-ref { - type binary; - description - "Reference to a TTP that is in either the supporting node - or a node in an underlay topology."; - } - } - // supporting-tunnel-termination-point - } - // tunnel-termination-point - } - // te-node-augment - - grouping te-node-config { - description - "TE node configuration grouping."; - leaf-list te-node-template { - if-feature "template"; - type leafref { - path "../../../../te/templates/node-template/name"; - } - description - "The reference to a TE node template."; - } - uses te-node-config-attributes; - } - // te-node-config - - grouping te-node-config-attributes { - description - "Configuration node attributes in a TE topology."; - container te-node-attributes { - description - "Contains node attributes in a TE topology."; - leaf admin-status { - type te-types:te-admin-status; - description - "The administrative state of the link."; - } - uses te-node-connectivity-matrices; - uses te-node-info-attributes; - } - } - // te-node-config-attributes - - grouping te-node-config-attributes-template { - description - "Configuration node attributes for a template in a TE - topology."; - container te-node-attributes { - description - "Contains node attributes in a TE topology."; - leaf admin-status { - type te-types:te-admin-status; - description - "The administrative state of the link."; - } - uses te-node-info-attributes; - } - } - // te-node-config-attributes-template - - grouping te-node-connectivity-matrices { - description - "Connectivity matrix on a TE node."; - container connectivity-matrices { - description - "Contains a connectivity matrix on a TE node."; - leaf number-of-entries { - type uint16; - description - "The number of connectivity matrix entries. - If this number is specified in the configuration request, - the number is the requested number of entries, which may - not all be listed in the list; - if this number is reported in the state data, - the number is the current number of operational entries."; - } - uses te-types:label-set-info; - uses connectivity-matrix-entry-path-attributes; - list connectivity-matrix { - key "id"; - description - "Represents a node's switching limitations, i.e., - limitations in the interconnecting network TE links - across the node."; - reference - "RFC 7579: General Network Element Constraint Encoding - for GMPLS-Controlled Networks"; - leaf id { - type uint32; - description - "Identifies the connectivity matrix entry."; - } - } - // connectivity-matrix - } - // connectivity-matrices - } - // te-node-connectivity-matrices - - grouping te-node-connectivity-matrix-attributes { - description - "Termination point references of a connectivity matrix entry."; - container from { - description - "Reference to a source LTP."; - leaf tp-ref { - type leafref { - path "../../../../../../nt:termination-point/nt:tp-id"; - } - description - "Relative reference to a termination point."; - } - uses te-types:label-set-info; - } - container to { - description - "Reference to a destination LTP."; - leaf tp-ref { - type leafref { - path "../../../../../../nt:termination-point/nt:tp-id"; - } - description - "Relative reference to a termination point."; - } - uses te-types:label-set-info; - } - uses connectivity-matrix-entry-path-attributes; - } - // te-node-connectivity-matrix-attributes - - grouping te-node-info-attributes { - description - "Advertised TE information attributes."; - leaf domain-id { - type uint32; - description - "Identifies the domain to which this node belongs. - This attribute is used to support inter-domain links."; - reference - "RFC 5152: A Per-Domain Path Computation Method for - Establishing Inter-Domain Traffic Engineering (TE) - Label Switched Paths (LSPs) - RFC 5316: ISIS Extensions in Support of Inter-Autonomous - System (AS) MPLS and GMPLS Traffic Engineering - RFC 5392: OSPF Extensions in Support of Inter-Autonomous - System (AS) MPLS and GMPLS Traffic Engineering"; - } - leaf is-abstract { - type empty; - description - "Present if the node is abstract; not present if the node - is actual."; - } - leaf name { - type string; - description - "Node name."; - } - leaf-list signaling-address { - type inet:ip-address; - description - "The node's signaling address."; - } - container underlay-topology { - if-feature "te-topology-hierarchy"; - description - "When an abstract node encapsulates a topology, the - attributes in this container point to said topology."; - uses nw:network-ref; - } - } - // te-node-info-attributes - - grouping te-node-state-derived { - description - "Node state attributes in a TE topology."; - leaf oper-status { - type te-types:te-oper-status; - config false; - description - "The current operational state of the node."; - } - uses geolocation-container; - leaf is-multi-access-dr { - type empty; - config false; - description - "The presence of this attribute indicates that this TE node - is a pseudonode elected as a designated router."; - reference - "RFC 1195: Use of OSI IS-IS for Routing in TCP/IP and Dual - Environments - RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2"; - } - uses information-source-per-node-attributes; - list information-source-entry { - key "information-source information-source-instance"; - config false; - description - "A list of information sources learned, including the source - that is used."; - uses information-source-per-node-attributes; - uses te-node-connectivity-matrices; - uses te-node-info-attributes; - } - } - // te-node-state-derived - - grouping te-node-tunnel-termination-point-config { - description - "Termination capability of a TTP on a TE node."; - uses te-node-tunnel-termination-point-config-attributes; - container local-link-connectivities { - description - "Contains an LLCL for a TTP on a TE node."; - leaf number-of-entries { - type uint16; - description - "The number of LLCL entries. - If this number is specified in the configuration request, - the number is the requested number of entries, which may - not all be listed in the list; - if this number is reported in the state data, - the number is the current number of operational entries."; - } - uses te-types:label-set-info; - uses connectivity-matrix-entry-path-attributes; - } - } - // te-node-tunnel-termination-point-config - - grouping te-node-tunnel-termination-point-config-attributes { - description - "Configuration attributes of a TTP on a TE node."; - leaf admin-status { - type te-types:te-admin-status; - description - "The administrative state of the TTP."; - } - leaf name { - type string; - description - "A descriptive name for the TTP."; - } - leaf switching-capability { - type identityref { - base te-types:switching-capabilities; - } - description - "Switching capability for this interface."; - } - leaf encoding { - type identityref { - base te-types:lsp-encoding-types; - } - description - "Encoding supported by this interface."; - } - leaf-list inter-layer-lock-id { - type uint32; - description - "Inter-layer lock ID, used for path computation in a TE - topology covering multiple layers or multiple regions."; - reference - "RFC 5212: Requirements for GMPLS-Based Multi-Region and - Multi-Layer Networks (MRN/MLN) - RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions - for Multi-Layer and Multi-Region Networks (MLN/MRN)"; - } - leaf protection-type { - type identityref { - base te-types:lsp-protection-type; - } - description - "The protection type that this TTP is capable of."; - } - container client-layer-adaptation { - description - "Contains capability information to support a client-layer - adaptation in a multi-layer topology."; - list switching-capability { - key "switching-capability encoding"; - description - "List of supported switching capabilities."; - reference - "RFC 4202: Routing Extensions in Support of - Generalized Multi-Protocol Label Switching (GMPLS) - RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions - for Multi-Layer and Multi-Region Networks (MLN/MRN)"; - leaf switching-capability { - type identityref { - base te-types:switching-capabilities; - } - description - "Switching capability for the client-layer adaptation."; - } - leaf encoding { - type identityref { - base te-types:lsp-encoding-types; - } - description - "Encoding supported by the client-layer adaptation."; - } - uses te-types:te-bandwidth; - } - } - } - // te-node-tunnel-termination-point-config-attributes - - grouping te-node-tunnel-termination-point-llc-list { - description - "LLCL of a TTP on a TE node."; - list local-link-connectivity { - key "link-tp-ref"; - description - "The termination capabilities between the TTP and the LTP. - This capability information can be used to compute - the tunnel path. - The Interface Adjustment Capability Descriptors (IACDs) - (defined in RFC 6001) on each LTP can be derived from - this list."; - reference - "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions - for Multi-Layer and Multi-Region Networks (MLN/MRN)"; - leaf link-tp-ref { - type leafref { - path "../../../../../nt:termination-point/nt:tp-id"; - } - description - "LTP."; - } - uses te-types:label-set-info; - uses connectivity-matrix-entry-path-attributes; - } - } - // te-node-tunnel-termination-point-llc-list - - grouping te-path-element { - description - "A group of attributes defining an element in a TE path, - such as a TE node, TE link, TE atomic resource, or label."; - uses te-types:explicit-route-hop; - } - // te-path-element - - grouping te-termination-point-augment { - description - "Augmentation for a TE termination point."; - leaf te-tp-id { - type te-types:te-tp-id; - description - "An identifier that uniquely identifies a TE termination - point."; - } - container te { - must '../te-tp-id'; - presence "TE support"; - description - "Indicates TE support."; - uses te-termination-point-config; - leaf oper-status { - type te-types:te-oper-status; - config false; - description - "The current operational state of the LTP."; - } - uses geolocation-container; - } - } - // te-termination-point-augment - - grouping te-termination-point-config { - description - "TE termination point configuration grouping."; - leaf admin-status { - type te-types:te-admin-status; - description - "The administrative state of the LTP."; - } - leaf name { - type string; - description - "A descriptive name for the LTP."; - } - uses interface-switching-capability-list; - leaf inter-domain-plug-id { - type binary; - description - "A network-wide unique number that identifies on the - network a connection that supports a given inter-domain - TE link. This is a more flexible alternative to specifying - 'remote-te-node-id' and 'remote-te-link-tp-id' on a TE link - when the provider either does not know 'remote-te-node-id' - and 'remote-te-link-tp-id' or needs to give the client the - flexibility to mix and match multiple topologies."; - } - leaf-list inter-layer-lock-id { - type uint32; - description - "Inter-layer lock ID, used for path computation in a TE - topology covering multiple layers or multiple regions."; - reference - "RFC 5212: Requirements for GMPLS-Based Multi-Region and - Multi-Layer Networks (MRN/MLN) - RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions - for Multi-Layer and Multi-Region Networks (MLN/MRN)"; - } - } - // te-termination-point-config - - grouping te-topologies-augment { - description - "Augmentation for TE topologies."; - container te { - presence "TE support"; - description - "Indicates TE support."; - container templates { - description - "Configuration parameters for templates used for a TE - topology."; - list node-template { - if-feature "template"; - key "name"; - leaf name { - type te-types:te-template-name; - description - "The name to identify a TE node template."; - } - description - "The list of TE node templates used to define sharable - and reusable TE node attributes."; - uses template-attributes; - uses te-node-config-attributes-template; - } - // node-template - list link-template { - if-feature "template"; - key "name"; - leaf name { - type te-types:te-template-name; - description - "The name to identify a TE link template."; - } - description - "The list of TE link templates used to define sharable - and reusable TE link attributes."; - uses template-attributes; - uses te-link-config-attributes; - } - // link-template - } - // templates - } - // te - } - // te-topologies-augment - - grouping te-topology-augment { - description - "Augmentation for a TE topology."; - uses te-types:te-topology-identifier; - container te { - must '../te-topology-identifier/provider-id' - + ' and ../te-topology-identifier/client-id' - + ' and ../te-topology-identifier/topology-id'; - presence "TE support"; - description - "Indicates TE support."; - uses te-topology-config; - uses geolocation-container; - } - } - // te-topology-augment - - grouping te-topology-config { - description - "TE topology configuration grouping."; - leaf name { - type string; - description - "Name of the TE topology. This attribute is optional and can - be specified by the operator to describe the TE topology, - which can be useful when 'network-id' (RFC 8345) is not - descriptive and not modifiable because of being generated - by the system."; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - leaf preference { - type uint8 { - range "1..255"; - } - description - "Specifies a preference for this topology. A lower number - indicates a higher preference."; - } - leaf optimization-criterion { - type identityref { - base te-types:objective-function-type; - } - description - "Optimization criterion applied to this topology."; - reference - "RFC 3272: Overview and Principles of Internet Traffic - Engineering"; - } - list nsrlg { - if-feature "nsrlg"; - key "id"; - description - "List of NSRLGs (Non-Shared Risk Link Groups)."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) - Recovery"; - leaf id { - type uint32; - description - "Identifies the NSRLG entry."; - } - leaf disjointness { - type te-types:te-path-disjointness; - description - "The type of resource disjointness."; - } - } - // nsrlg - } - // te-topology-config - - grouping template-attributes { - description - "Common attributes for all templates."; - leaf priority { - type uint16; - description - "The preference value for resolving conflicts between - different templates. When two or more templates specify - values for one configuration attribute, the value from the - template with the highest priority is used. - A lower number indicates a higher priority. The highest - priority is 0."; - } - leaf reference-change-policy { - type enumeration { - enum no-action { - description - "When an attribute changes in this template, the - configuration node referring to this template does - not take any action."; - } - enum not-allowed { - description - "When any configuration object has a reference to this - template, changing this template is not allowed."; - } - enum cascade { - description - "When an attribute changes in this template, the - configuration object referring to this template applies - the new attribute value to the corresponding - configuration."; - } - } - description - "This attribute specifies the action taken for a - configuration node that has a reference to this template."; - } - } - // template-attributes - - /* - * Data nodes - */ - - augment "/nw:networks/nw:network/nw:network-types" { - description - "Introduces a new network type for a TE topology."; - container te-topology { - presence "Indicates a TE topology"; - description - "Its presence identifies the TE topology type."; - } - } - - augment "/nw:networks" { - description - "Augmentation parameters for TE topologies."; - uses te-topologies-augment; - } - - augment "/nw:networks/nw:network" { - when 'nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Configuration parameters for a TE topology."; - uses te-topology-augment; - } - - augment "/nw:networks/nw:network/nw:node" { - when '../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Configuration parameters for TE at the node level."; - leaf te-node-id { - type te-types:te-node-id; - description - "The identifier of a node in the TE topology. - A node is specific to a topology to which it belongs."; - } - container te { - must '../te-node-id' { - description - "'te-node-id' is mandatory."; - } - must 'count(../nw:supporting-node)<=1' { - description - "For a node in a TE topology, there cannot be more - than one supporting node. If multiple nodes are - abstracted, the 'underlay-topology' field is used."; - } - presence "TE support"; - description - "Indicates TE support."; - uses te-node-augment; - } - } - - augment "/nw:networks/nw:network/nt:link" { - when '../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Configuration parameters for TE at the link level."; - container te { - must 'count(../nt:supporting-link)<=1' { - description - "For a link in a TE topology, there cannot be more - than one supporting link. If one or more link paths are - abstracted, the underlay is used."; - } - presence "TE support"; - description - "Indicates TE support."; - uses te-link-augment; - } - } - - augment "/nw:networks/nw:network/nw:node/" - + "nt:termination-point" { - when '../../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Configuration parameters for TE at the termination point - level."; - uses te-termination-point-augment; - } - - augment "/nw:networks/nw:network/nt:link/te/bundle-stack-level/" - + "bundle/bundled-links/bundled-link" { - when '../../../../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Augmentation for a TE bundled link."; - leaf src-tp-ref { - type leafref { - path "../../../../../nw:node[nw:node-id = " - + "current()/../../../../nt:source/" - + "nt:source-node]/" - + "nt:termination-point/nt:tp-id"; - require-instance true; - } - description - "Reference to another TE termination point on the - same source node."; - } - leaf des-tp-ref { - type leafref { - path "../../../../../nw:node[nw:node-id = " - + "current()/../../../../nt:destination/" - + "nt:dest-node]/" - + "nt:termination-point/nt:tp-id"; - require-instance true; - } - description - "Reference to another TE termination point on the - same destination node."; - } - } - - augment "/nw:networks/nw:network/nw:node/te/" - + "information-source-entry/connectivity-matrices/" - + "connectivity-matrix" { - when '../../../../../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Augmentation for the TE node connectivity matrix."; - uses te-node-connectivity-matrix-attributes; - } - - augment "/nw:networks/nw:network/nw:node/te/te-node-attributes/" - + "connectivity-matrices/connectivity-matrix" { - when '../../../../../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Augmentation for the TE node connectivity matrix."; - uses te-node-connectivity-matrix-attributes; - } - - augment "/nw:networks/nw:network/nw:node/te/" - + "tunnel-termination-point/local-link-connectivities" { - when '../../../../nw:network-types/tet:te-topology' { - description - "Augmentation parameters apply only for networks with a - TE topology type."; - } - description - "Augmentation for TE node TTP LLCs (Local Link - Connectivities)."; - uses te-node-tunnel-termination-point-llc-list; - } -} diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-types@2020-06-10.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-types@2020-06-10.yang deleted file mode 100644 index 6fc0544dede2128f3e91f8cf5a39caa8cc49ab6e..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-te-types@2020-06-10.yang +++ /dev/null @@ -1,3379 +0,0 @@ -module ietf-te-types { - yang-version 1.1; - namespace "urn:ietf:params:xml:ns:yang:ietf-te-types"; - prefix te-types; - - import ietf-inet-types { - prefix inet; - reference - "RFC 6991: Common YANG Data Types"; - } - import ietf-yang-types { - prefix yang; - reference - "RFC 6991: Common YANG Data Types"; - } - import ietf-routing-types { - prefix rt-types; - reference - "RFC 8294: Common YANG Data Types for the Routing Area"; - } - - organization - "IETF Traffic Engineering Architecture and Signaling (TEAS) - Working Group"; - contact - "WG Web: <https://datatracker.ietf.org/wg/teas/> - WG List: <mailto:teas@ietf.org> - - Editor: Tarek Saad - <mailto:tsaad@juniper.net> - - Editor: Rakesh Gandhi - <mailto:rgandhi@cisco.com> - - Editor: Vishnu Pavan Beeram - <mailto:vbeeram@juniper.net> - - Editor: Xufeng Liu - <mailto:xufeng.liu.ietf@gmail.com> - - Editor: Igor Bryskin - <mailto:i_bryskin@yahoo.com>"; - description - "This YANG module contains a collection of generally useful - YANG data type definitions specific to TE. The model fully - conforms to the Network Management Datastore Architecture - (NMDA). - - The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL - NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', - 'MAY', and 'OPTIONAL' in this document are to be interpreted as - described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, - they appear in all capitals, as shown here. - - Copyright (c) 2020 IETF Trust and the persons identified as - authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject to - the license terms contained in, the Simplified BSD License set - forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - - This version of this YANG module is part of RFC 8776; see the - RFC itself for full legal notices."; - - revision 2020-06-10 { - description - "Latest revision of TE types."; - reference - "RFC 8776: Common YANG Data Types for Traffic Engineering"; - } - - /** - * Typedefs - */ - - typedef admin-group { - type yang:hex-string { - /* 01:02:03:04 */ - length "1..11"; - } - description - "Administrative group / resource class / color representation - in 'hex-string' type. - The most significant byte in the hex-string is the farthest - to the left in the byte sequence. Leading zero bytes in the - configured value may be omitted for brevity."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering - RFC 7308: Extended Administrative Groups in MPLS Traffic - Engineering (MPLS-TE)"; - } - - typedef admin-groups { - type union { - type admin-group; - type extended-admin-group; - } - description - "Derived types for TE administrative groups."; - } - - typedef extended-admin-group { - type yang:hex-string; - description - "Extended administrative group / resource class / color - representation in 'hex-string' type. - The most significant byte in the hex-string is the farthest - to the left in the byte sequence. Leading zero bytes in the - configured value may be omitted for brevity."; - reference - "RFC 7308: Extended Administrative Groups in MPLS Traffic - Engineering (MPLS-TE)"; - } - - typedef path-attribute-flags { - type union { - type identityref { - base session-attributes-flags; - } - type identityref { - base lsp-attributes-flags; - } - } - description - "Path attributes flags type."; - } - - typedef performance-metrics-normality { - type enumeration { - enum unknown { - value 0; - description - "Unknown."; - } - enum normal { - value 1; - description - "Normal. Indicates that the anomalous bit is not set."; - } - enum abnormal { - value 2; - description - "Abnormal. Indicates that the anomalous bit is set."; - } - } - description - "Indicates whether a performance metric is normal (anomalous - bit not set), abnormal (anomalous bit set), or unknown."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - } - - typedef srlg { - type uint32; - description - "SRLG type."; - reference - "RFC 4203: OSPF Extensions in Support of Generalized - Multi-Protocol Label Switching (GMPLS) - RFC 5307: IS-IS Extensions in Support of Generalized - Multi-Protocol Label Switching (GMPLS)"; - } - - typedef te-common-status { - type enumeration { - enum up { - description - "Enabled."; - } - enum down { - description - "Disabled."; - } - enum testing { - description - "In some test mode."; - } - enum preparing-maintenance { - description - "The resource is disabled in the control plane to prepare - for a graceful shutdown for maintenance purposes."; - reference - "RFC 5817: Graceful Shutdown in MPLS and Generalized MPLS - Traffic Engineering Networks"; - } - enum maintenance { - description - "The resource is disabled in the data plane for maintenance - purposes."; - } - enum unknown { - description - "Status is unknown."; - } - } - description - "Defines a type representing the common states of a TE - resource."; - } - - typedef te-bandwidth { - type string { - pattern '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' - + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?' - + '[pP](\+)?(12[0-7]|' - + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+' - + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' - + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?' - + '[pP](\+)?(12[0-7]|' - + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*'; - } - description - "This is the generic bandwidth type. It is a string containing - a list of numbers separated by commas, where each of these - numbers can be non-negative decimal, hex integer, or - hex float: - - (dec | hex | float)[*(','(dec | hex | float))] - - For the packet-switching type, the string encoding follows - the type 'bandwidth-ieee-float32' as defined in RFC 8294 - (e.g., 0x1p10), where the units are in bytes per second. - - For the Optical Transport Network (OTN) switching type, - a list of integers can be used, such as '0,2,3,1', indicating - two ODU0s and one ODU3. ('ODU' stands for 'Optical Data - Unit'.) For Dense Wavelength Division Multiplexing (DWDM), - a list of pairs of slot numbers and widths can be used, - such as '0,2,3,3', indicating a frequency slot 0 with - slot width 2 and a frequency slot 3 with slot width 3. - Canonically, the string is represented as all lowercase and in - hex, where the prefix '0x' precedes the hex number."; - reference - "RFC 8294: Common YANG Data Types for the Routing Area - ITU-T Recommendation G.709: Interfaces for the - optical transport network"; - } - - typedef te-ds-class { - type uint8 { - range "0..7"; - } - description - "The Differentiated Services Class-Type of traffic."; - reference - "RFC 4124: Protocol Extensions for Support of Diffserv-aware - MPLS Traffic Engineering, Section 4.3.1"; - } - - typedef te-global-id { - type uint32; - description - "An identifier to uniquely identify an operator, which can be - either a provider or a client. - The definition of this type is taken from RFCs 6370 and 5003. - This attribute type is used solely to provide a globally - unique context for TE topologies."; - reference - "RFC 5003: Attachment Individual Identifier (AII) Types for - Aggregation - RFC 6370: MPLS Transport Profile (MPLS-TP) Identifiers"; - } - - typedef te-hop-type { - type enumeration { - enum loose { - description - "A loose hop in an explicit path."; - } - enum strict { - description - "A strict hop in an explicit path."; - } - } - description - "Enumerated type for specifying loose or strict paths."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.3.3"; - } - - typedef te-link-access-type { - type enumeration { - enum point-to-point { - description - "The link is point-to-point."; - } - enum multi-access { - description - "The link is multi-access, including broadcast and NBMA."; - } - } - description - "Defines a type representing the access type of a TE link."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2"; - } - - typedef te-label-direction { - type enumeration { - enum forward { - description - "Label allocated for the forward LSP direction."; - } - enum reverse { - description - "Label allocated for the reverse LSP direction."; - } - } - description - "Enumerated type for specifying the forward or reverse - label."; - } - - typedef te-link-direction { - type enumeration { - enum incoming { - description - "The explicit route represents an incoming link on - a node."; - } - enum outgoing { - description - "The explicit route represents an outgoing link on - a node."; - } - } - description - "Enumerated type for specifying the direction of a link on - a node."; - } - - typedef te-metric { - type uint32; - description - "TE metric."; - reference - "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a - second MPLS Traffic Engineering (TE) Metric"; - } - - typedef te-node-id { - type yang:dotted-quad; - description - "A type representing the identifier for a node in a TE - topology. - The identifier is represented as 4 octets in dotted-quad - notation. - This attribute MAY be mapped to the Router Address TLV - described in Section 2.4.1 of RFC 3630, the TE Router ID - described in Section 3 of RFC 6827, the Traffic Engineering - Router ID TLV described in Section 4.3 of RFC 5305, or the - TE Router ID TLV described in Section 3.2.1 of RFC 6119. - The reachability of such a TE node MAY be achieved by a - mechanism such as that described in Section 6.2 of RFC 6827."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2, Section 2.4.1 - RFC 5305: IS-IS Extensions for Traffic Engineering, - Section 4.3 - RFC 6119: IPv6 Traffic Engineering in IS-IS, Section 3.2.1 - RFC 6827: Automatically Switched Optical Network (ASON) - Routing for OSPFv2 Protocols, Section 3"; - } - - typedef te-oper-status { - type te-common-status; - description - "Defines a type representing the operational status of - a TE resource."; - } - - typedef te-admin-status { - type te-common-status; - description - "Defines a type representing the administrative status of - a TE resource."; - } - - typedef te-path-disjointness { - type bits { - bit node { - position 0; - description - "Node disjoint."; - } - bit link { - position 1; - description - "Link disjoint."; - } - bit srlg { - position 2; - description - "SRLG (Shared Risk Link Group) disjoint."; - } - } - description - "Type of the resource disjointness for a TE tunnel path."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - typedef te-recovery-status { - type enumeration { - enum normal { - description - "Both the recovery span and the working span are fully - allocated and active, data traffic is being - transported over (or selected from) the working - span, and no trigger events are reported."; - } - enum recovery-started { - description - "The recovery action has been started but not completed."; - } - enum recovery-succeeded { - description - "The recovery action has succeeded. The working span has - reported a failure/degrade condition, and the user traffic - is being transported (or selected) on the recovery span."; - } - enum recovery-failed { - description - "The recovery action has failed."; - } - enum reversion-started { - description - "The reversion has started."; - } - enum reversion-succeeded { - description - "The reversion action has succeeded."; - } - enum reversion-failed { - description - "The reversion has failed."; - } - enum recovery-unavailable { - description - "The recovery is unavailable, as a result of either an - operator's lockout command or a failure condition - detected on the recovery span."; - } - enum recovery-admin { - description - "The operator has issued a command to switch the user - traffic to the recovery span."; - } - enum wait-to-restore { - description - "The recovery domain is recovering from a failure/degrade - condition on the working span that is being controlled by - the Wait-to-Restore (WTR) timer."; - } - } - description - "Defines the status of a recovery action."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS) - RFC 6378: MPLS Transport Profile (MPLS-TP) Linear Protection"; - } - - typedef te-template-name { - type string { - pattern '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*'; - } - description - "A type for the name of a TE node template or TE link - template."; - } - - typedef te-topology-event-type { - type enumeration { - enum add { - value 0; - description - "A TE node or TE link has been added."; - } - enum remove { - value 1; - description - "A TE node or TE link has been removed."; - } - enum update { - value 2; - description - "A TE node or TE link has been updated."; - } - } - description - "TE event type for notifications."; - } - - typedef te-topology-id { - type union { - type string { - length "0"; - // empty string - } - type string { - pattern '([a-zA-Z0-9\-_.]+:)*' - + '/?([a-zA-Z0-9\-_.]+)(/[a-zA-Z0-9\-_.]+)*'; - } - } - description - "An identifier for a topology. - It is optional to have one or more prefixes at the beginning, - separated by colons. The prefixes can be 'network-types' as - defined in the 'ietf-network' module in RFC 8345, to help the - user better understand the topology before further inquiry - is made."; - reference - "RFC 8345: A YANG Data Model for Network Topologies"; - } - - typedef te-tp-id { - type union { - type uint32; - // Unnumbered - type inet:ip-address; - // IPv4 or IPv6 address - } - description - "An identifier for a TE link endpoint on a node. - This attribute is mapped to a local or remote link identifier - as defined in RFCs 3630 and 5305."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 5305: IS-IS Extensions for Traffic Engineering"; - } - - /* TE features */ - - feature p2mp-te { - description - "Indicates support for Point-to-Multipoint TE (P2MP-TE)."; - reference - "RFC 4875: Extensions to Resource Reservation Protocol - - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE - Label Switched Paths (LSPs)"; - } - - feature frr-te { - description - "Indicates support for TE Fast Reroute (FRR)."; - reference - "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels"; - } - - feature extended-admin-groups { - description - "Indicates support for TE link extended administrative - groups."; - reference - "RFC 7308: Extended Administrative Groups in MPLS Traffic - Engineering (MPLS-TE)"; - } - - feature named-path-affinities { - description - "Indicates support for named path affinities."; - } - - feature named-extended-admin-groups { - description - "Indicates support for named extended administrative groups."; - } - - feature named-srlg-groups { - description - "Indicates support for named SRLG groups."; - } - - feature named-path-constraints { - description - "Indicates support for named path constraints."; - } - - feature path-optimization-metric { - description - "Indicates support for path optimization metrics."; - } - - feature path-optimization-objective-function { - description - "Indicates support for path optimization objective functions."; - } - - /* - * Identities - */ - - identity session-attributes-flags { - description - "Base identity for the RSVP-TE session attributes flags."; - } - - identity local-protection-desired { - base session-attributes-flags; - description - "Local protection is desired."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.7.1"; - } - - identity se-style-desired { - base session-attributes-flags; - description - "Shared explicit style, to allow the LSP to be established - and share resources with the old LSP."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity local-recording-desired { - base session-attributes-flags; - description - "Label recording is desired."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.7.1"; - } - - identity bandwidth-protection-desired { - base session-attributes-flags; - description - "Requests FRR bandwidth protection on LSRs, if present."; - reference - "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels"; - } - - identity node-protection-desired { - base session-attributes-flags; - description - "Requests FRR node protection on LSRs, if present."; - reference - "RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP Tunnels"; - } - - identity path-reevaluation-request { - base session-attributes-flags; - description - "This flag indicates that a path re-evaluation (of the - current path in use) is requested. Note that this does - not trigger any LSP reroutes but instead just signals a - request to evaluate whether a preferable path exists."; - reference - "RFC 4736: Reoptimization of Multiprotocol Label Switching - (MPLS) Traffic Engineering (TE) Loosely Routed Label Switched - Path (LSP)"; - } - - identity soft-preemption-desired { - base session-attributes-flags; - description - "Soft preemption of LSP resources is desired."; - reference - "RFC 5712: MPLS Traffic Engineering Soft Preemption"; - } - - identity lsp-attributes-flags { - description - "Base identity for LSP attributes flags."; - } - - identity end-to-end-rerouting-desired { - base lsp-attributes-flags; - description - "Indicates end-to-end rerouting behavior for an LSP - undergoing establishment. This MAY also be used to - specify the behavior of end-to-end LSP recovery for - established LSPs."; - reference - "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS - RSVP-TE - RFC 5420: Encoding of Attributes for MPLS LSP Establishment - Using Resource Reservation Protocol Traffic Engineering - (RSVP-TE) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity boundary-rerouting-desired { - base lsp-attributes-flags; - description - "Indicates boundary rerouting behavior for an LSP undergoing - establishment. This MAY also be used to specify - segment-based LSP recovery through nested crankback for - established LSPs. The boundary Area Border Router (ABR) / - Autonomous System Border Router (ASBR) can decide to forward - the PathErr message upstream to either an upstream boundary - ABR/ASBR or the ingress LSR. Alternatively, it can try to - select another egress boundary LSR."; - reference - "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS - RSVP-TE - RFC 5420: Encoding of Attributes for MPLS LSP Establishment - Using Resource Reservation Protocol Traffic Engineering - (RSVP-TE) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity segment-based-rerouting-desired { - base lsp-attributes-flags; - description - "Indicates segment-based rerouting behavior for an LSP - undergoing establishment. This MAY also be used to specify - segment-based LSP recovery for established LSPs."; - reference - "RFC 4920: Crankback Signaling Extensions for MPLS and GMPLS - RSVP-TE - RFC 5420: Encoding of Attributes for MPLS LSP Establishment - Using Resource Reservation Protocol Traffic Engineering - (RSVP-TE) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity lsp-integrity-required { - base lsp-attributes-flags; - description - "Indicates that LSP integrity is required."; - reference - "RFC 4875: Extensions to Resource Reservation Protocol - - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE - Label Switched Paths (LSPs) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity contiguous-lsp-desired { - base lsp-attributes-flags; - description - "Indicates that a contiguous LSP is desired."; - reference - "RFC 5151: Inter-Domain MPLS and GMPLS Traffic Engineering -- - Resource Reservation Protocol-Traffic Engineering (RSVP-TE) - Extensions - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity lsp-stitching-desired { - base lsp-attributes-flags; - description - "Indicates that LSP stitching is desired."; - reference - "RFC 5150: Label Switched Path Stitching with Generalized - Multiprotocol Label Switching Traffic Engineering (GMPLS TE) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity pre-planned-lsp-flag { - base lsp-attributes-flags; - description - "Indicates that the LSP MUST be provisioned in the - control plane only."; - reference - "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions for - Multi-Layer and Multi-Region Networks (MLN/MRN) - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity non-php-behavior-flag { - base lsp-attributes-flags; - description - "Indicates that non-PHP (non-Penultimate Hop Popping) behavior - for the LSP is desired."; - reference - "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band - Mapping for RSVP-TE Label Switched Paths - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity oob-mapping-flag { - base lsp-attributes-flags; - description - "Indicates that signaling of the egress binding information is - out of band (e.g., via the Border Gateway Protocol (BGP))."; - reference - "RFC 6511: Non-Penultimate Hop Popping Behavior and Out-of-Band - Mapping for RSVP-TE Label Switched Paths - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity entropy-label-capability { - base lsp-attributes-flags; - description - "Indicates entropy label capability."; - reference - "RFC 6790: The Use of Entropy Labels in MPLS Forwarding - RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO)"; - } - - identity oam-mep-entity-desired { - base lsp-attributes-flags; - description - "OAM Maintenance Entity Group End Point (MEP) entities - desired."; - reference - "RFC 7260: GMPLS RSVP-TE Extensions for Operations, - Administration, and Maintenance (OAM) Configuration"; - } - - identity oam-mip-entity-desired { - base lsp-attributes-flags; - description - "OAM Maintenance Entity Group Intermediate Points (MIP) - entities desired."; - reference - "RFC 7260: GMPLS RSVP-TE Extensions for Operations, - Administration, and Maintenance (OAM) Configuration"; - } - - identity srlg-collection-desired { - base lsp-attributes-flags; - description - "SRLG collection desired."; - reference - "RFC 7570: Label Switched Path (LSP) Attribute in the Explicit - Route Object (ERO) - RFC 8001: RSVP-TE Extensions for Collecting Shared Risk - Link Group (SRLG) Information"; - } - - identity loopback-desired { - base lsp-attributes-flags; - description - "This flag indicates that a particular node on the LSP is - required to enter loopback mode. This can also be - used to specify the loopback state of the node."; - reference - "RFC 7571: GMPLS RSVP-TE Extensions for Lock Instruct and - Loopback"; - } - - identity p2mp-te-tree-eval-request { - base lsp-attributes-flags; - description - "P2MP-TE tree re-evaluation request."; - reference - "RFC 8149: RSVP Extensions for Reoptimization of Loosely Routed - Point-to-Multipoint Traffic Engineering Label Switched Paths - (LSPs)"; - } - - identity rtm-set-desired { - base lsp-attributes-flags; - description - "Residence Time Measurement (RTM) attribute flag requested."; - reference - "RFC 8169: Residence Time Measurement in MPLS Networks"; - } - - identity link-protection-type { - description - "Base identity for the link protection type."; - } - - identity link-protection-unprotected { - base link-protection-type; - description - "Unprotected link type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity link-protection-extra-traffic { - base link-protection-type; - description - "Extra-Traffic protected link type."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity link-protection-shared { - base link-protection-type; - description - "Shared protected link type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity link-protection-1-for-1 { - base link-protection-type; - description - "One-for-one (1:1) protected link type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity link-protection-1-plus-1 { - base link-protection-type; - description - "One-plus-one (1+1) protected link type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity link-protection-enhanced { - base link-protection-type; - description - "A compound link protection type derived from the underlay - TE tunnel protection configuration supporting the TE link."; - } - - identity association-type { - description - "Base identity for the tunnel association."; - } - - identity association-type-recovery { - base association-type; - description - "Association type for recovery, used to associate LSPs of the - same tunnel for recovery."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery - RFC 6780: RSVP ASSOCIATION Object Extensions"; - } - - identity association-type-resource-sharing { - base association-type; - description - "Association type for resource sharing, used to enable - resource sharing during make-before-break."; - reference - "RFC 4873: GMPLS Segment Recovery - RFC 6780: RSVP ASSOCIATION Object Extensions"; - } - - identity association-type-double-sided-bidir { - base association-type; - description - "Association type for double-sided bidirectional LSPs, - used to associate two LSPs of two tunnels that are - independently configured on either endpoint."; - reference - "RFC 7551: RSVP-TE Extensions for Associated Bidirectional - Label Switched Paths (LSPs)"; - } - - identity association-type-single-sided-bidir { - base association-type; - description - "Association type for single-sided bidirectional LSPs, - used to associate two LSPs of two tunnels, where one - tunnel is configured on one side/endpoint and the other - tunnel is dynamically created on the other endpoint."; - reference - "RFC 6780: RSVP ASSOCIATION Object Extensions - RFC 7551: RSVP-TE Extensions for Associated Bidirectional - Label Switched Paths (LSPs)"; - } - - identity objective-function-type { - description - "Base objective function type."; - } - - identity of-minimize-cost-path { - base objective-function-type; - description - "Objective function for minimizing path cost."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity of-minimize-load-path { - base objective-function-type; - description - "Objective function for minimizing the load on one or more - paths."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity of-maximize-residual-bandwidth { - base objective-function-type; - description - "Objective function for maximizing residual bandwidth."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity of-minimize-agg-bandwidth-consumption { - base objective-function-type; - description - "Objective function for minimizing aggregate bandwidth - consumption."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity of-minimize-load-most-loaded-link { - base objective-function-type; - description - "Objective function for minimizing the load on the link that - is carrying the highest load."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity of-minimize-cost-path-set { - base objective-function-type; - description - "Objective function for minimizing the cost on a path set."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity path-computation-method { - description - "Base identity for supported path computation mechanisms."; - } - - identity path-locally-computed { - base path-computation-method; - description - "Indicates a constrained-path LSP in which the - path is computed by the local LER."; - reference - "RFC 3272: Overview and Principles of Internet Traffic - Engineering, Section 5.4"; - } - - identity path-externally-queried { - base path-computation-method; - description - "Constrained-path LSP in which the path is obtained by - querying an external source, such as a PCE server. - In the case that an LSP is defined to be externally queried, - it may also have associated explicit definitions (provided - to the external source to aid computation). The path that is - returned by the external source may require further local - computation on the device."; - reference - "RFC 3272: Overview and Principles of Internet Traffic - Engineering - RFC 4657: Path Computation Element (PCE) Communication - Protocol Generic Requirements"; - } - - identity path-explicitly-defined { - base path-computation-method; - description - "Constrained-path LSP in which the path is - explicitly specified as a collection of strict and/or loose - hops."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels - RFC 3272: Overview and Principles of Internet Traffic - Engineering"; - } - - identity lsp-metric-type { - description - "Base identity for the LSP metric specification types."; - } - - identity lsp-metric-relative { - base lsp-metric-type; - description - "The metric specified for the LSPs to which this identity - refers is specified as a value relative to the IGP metric - cost to the LSP's tail end."; - reference - "RFC 4657: Path Computation Element (PCE) Communication - Protocol Generic Requirements"; - } - - identity lsp-metric-absolute { - base lsp-metric-type; - description - "The metric specified for the LSPs to which this identity - refers is specified as an absolute value."; - reference - "RFC 4657: Path Computation Element (PCE) Communication - Protocol Generic Requirements"; - } - - identity lsp-metric-inherited { - base lsp-metric-type; - description - "The metric for the LSPs to which this identity refers is - not specified explicitly; rather, it is directly inherited - from the IGP cost."; - reference - "RFC 4657: Path Computation Element (PCE) Communication - Protocol Generic Requirements"; - } - - identity te-tunnel-type { - description - "Base identity from which specific tunnel types are derived."; - } - - identity te-tunnel-p2p { - base te-tunnel-type; - description - "TE Point-to-Point (P2P) tunnel type."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity te-tunnel-p2mp { - base te-tunnel-type; - description - "TE P2MP tunnel type."; - reference - "RFC 4875: Extensions to Resource Reservation Protocol - - Traffic Engineering (RSVP-TE) for Point-to-Multipoint TE - Label Switched Paths (LSPs)"; - } - - identity tunnel-action-type { - description - "Base identity from which specific tunnel action types - are derived."; - } - - identity tunnel-action-resetup { - base tunnel-action-type; - description - "TE tunnel action that tears down the tunnel's current LSP - (if any) and attempts to re-establish a new LSP."; - } - - identity tunnel-action-reoptimize { - base tunnel-action-type; - description - "TE tunnel action that reoptimizes the placement of the - tunnel LSP(s)."; - } - - identity tunnel-action-switchpath { - base tunnel-action-type; - description - "TE tunnel action that switches the tunnel's LSP to use the - specified path."; - } - - identity te-action-result { - description - "Base identity from which specific TE action results - are derived."; - } - - identity te-action-success { - base te-action-result; - description - "TE action was successful."; - } - - identity te-action-fail { - base te-action-result; - description - "TE action failed."; - } - - identity tunnel-action-inprogress { - base te-action-result; - description - "TE action is in progress."; - } - - identity tunnel-admin-state-type { - description - "Base identity for TE tunnel administrative states."; - } - - identity tunnel-admin-state-up { - base tunnel-admin-state-type; - description - "Tunnel's administrative state is up."; - } - - identity tunnel-admin-state-down { - base tunnel-admin-state-type; - description - "Tunnel's administrative state is down."; - } - - identity tunnel-state-type { - description - "Base identity for TE tunnel states."; - } - - identity tunnel-state-up { - base tunnel-state-type; - description - "Tunnel's state is up."; - } - - identity tunnel-state-down { - base tunnel-state-type; - description - "Tunnel's state is down."; - } - - identity lsp-state-type { - description - "Base identity for TE LSP states."; - } - - identity lsp-path-computing { - base lsp-state-type; - description - "State path computation is in progress."; - } - - identity lsp-path-computation-ok { - base lsp-state-type; - description - "State path computation was successful."; - } - - identity lsp-path-computation-failed { - base lsp-state-type; - description - "State path computation failed."; - } - - identity lsp-state-setting-up { - base lsp-state-type; - description - "State is being set up."; - } - - identity lsp-state-setup-ok { - base lsp-state-type; - description - "State setup was successful."; - } - - identity lsp-state-setup-failed { - base lsp-state-type; - description - "State setup failed."; - } - - identity lsp-state-up { - base lsp-state-type; - description - "State is up."; - } - - identity lsp-state-tearing-down { - base lsp-state-type; - description - "State is being torn down."; - } - - identity lsp-state-down { - base lsp-state-type; - description - "State is down."; - } - - identity path-invalidation-action-type { - description - "Base identity for TE path invalidation action types."; - } - - identity path-invalidation-action-drop { - base path-invalidation-action-type; - description - "Upon invalidation of the TE tunnel path, the tunnel remains - valid, but any packet mapped over the tunnel is dropped."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 2.5"; - } - - identity path-invalidation-action-teardown { - base path-invalidation-action-type; - description - "TE path invalidation action teardown."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 2.5"; - } - - identity lsp-restoration-type { - description - "Base identity from which LSP restoration types are derived."; - } - - identity lsp-restoration-restore-any { - base lsp-restoration-type; - description - "Any LSP affected by a failure is restored."; - } - - identity lsp-restoration-restore-all { - base lsp-restoration-type; - description - "Affected LSPs are restored after all LSPs of the tunnel are - broken."; - } - - identity restoration-scheme-type { - description - "Base identity for LSP restoration schemes."; - } - - identity restoration-scheme-preconfigured { - base restoration-scheme-type; - description - "Restoration LSP is preconfigured prior to the failure."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity restoration-scheme-precomputed { - base restoration-scheme-type; - description - "Restoration LSP is precomputed prior to the failure."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity restoration-scheme-presignaled { - base restoration-scheme-type; - description - "Restoration LSP is presignaled prior to the failure."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity lsp-protection-type { - description - "Base identity from which LSP protection types are derived."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-unprotected { - base lsp-protection-type; - description - "'Unprotected' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-reroute-extra { - base lsp-protection-type; - description - "'(Full) Rerouting' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-reroute { - base lsp-protection-type; - description - "'Rerouting without Extra-Traffic' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-1-for-n { - base lsp-protection-type; - description - "'1:N Protection with Extra-Traffic' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-1-for-1 { - base lsp-protection-type; - description - "LSP protection '1:1 Protection Type'."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-unidir-1-plus-1 { - base lsp-protection-type; - description - "'1+1 Unidirectional Protection' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-bidir-1-plus-1 { - base lsp-protection-type; - description - "'1+1 Bidirectional Protection' LSP protection type."; - reference - "RFC 4872: RSVP-TE Extensions in Support of End-to-End - Generalized Multi-Protocol Label Switching (GMPLS) Recovery"; - } - - identity lsp-protection-extra-traffic { - base lsp-protection-type; - description - "Extra-Traffic LSP protection type."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity lsp-protection-state { - description - "Base identity of protection states for reporting purposes."; - } - - identity normal { - base lsp-protection-state; - description - "Normal state."; - } - - identity signal-fail-of-protection { - base lsp-protection-state; - description - "The protection transport entity has a signal fail condition - that is of higher priority than the forced switchover - command."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity lockout-of-protection { - base lsp-protection-state; - description - "A Loss of Protection (LoP) command is active."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity forced-switch { - base lsp-protection-state; - description - "A forced switchover command is active."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity signal-fail { - base lsp-protection-state; - description - "There is a signal fail condition on either the working path - or the protection path."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity signal-degrade { - base lsp-protection-state; - description - "There is a signal degrade condition on either the working - path or the protection path."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity manual-switch { - base lsp-protection-state; - description - "A manual switchover command is active."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity wait-to-restore { - base lsp-protection-state; - description - "A WTR timer is running."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity do-not-revert { - base lsp-protection-state; - description - "A Do Not Revert (DNR) condition is active because of - non-revertive behavior."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity failure-of-protocol { - base lsp-protection-state; - description - "LSP protection is not working because of a protocol failure - condition."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity protection-external-commands { - description - "Base identity from which protection-related external commands - used for troubleshooting purposes are derived."; - } - - identity action-freeze { - base protection-external-commands; - description - "A temporary configuration action initiated by an operator - command that prevents any switchover action from being taken - and, as such, freezes the current state."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity clear-freeze { - base protection-external-commands; - description - "An action that clears the active freeze state."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity action-lockout-of-normal { - base protection-external-commands; - description - "A temporary configuration action initiated by an operator - command to ensure that the normal traffic is not allowed - to use the protection transport entity."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity clear-lockout-of-normal { - base protection-external-commands; - description - "An action that clears the active lockout of the - normal state."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity action-lockout-of-protection { - base protection-external-commands; - description - "A temporary configuration action initiated by an operator - command to ensure that the protection transport entity is - temporarily not available to transport a traffic signal - (either normal or Extra-Traffic)."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity action-forced-switch { - base protection-external-commands; - description - "A switchover action initiated by an operator command to switch - the Extra-Traffic signal, the normal traffic signal, or the - null signal to the protection transport entity, unless a - switchover command of equal or higher priority is in effect."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity action-manual-switch { - base protection-external-commands; - description - "A switchover action initiated by an operator command to switch - the Extra-Traffic signal, the normal traffic signal, or - the null signal to the protection transport entity, unless - a fault condition exists on other transport entities or a - switchover command of equal or higher priority is in effect."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity action-exercise { - base protection-external-commands; - description - "An action that starts testing whether or not APS communication - is operating correctly. It is of lower priority than any - other state or command."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity clear { - base protection-external-commands; - description - "An action that clears the active near-end lockout of a - protection, forced switchover, manual switchover, WTR state, - or exercise command."; - reference - "RFC 4427: Recovery (Protection and Restoration) Terminology - for Generalized Multi-Protocol Label Switching (GMPLS)"; - } - - identity switching-capabilities { - description - "Base identity for interface switching capabilities."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity switching-psc1 { - base switching-capabilities; - description - "Packet-Switch Capable-1 (PSC-1)."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity switching-evpl { - base switching-capabilities; - description - "Ethernet Virtual Private Line (EVPL)."; - reference - "RFC 6004: Generalized MPLS (GMPLS) Support for Metro Ethernet - Forum and G.8011 Ethernet Service Switching"; - } - - identity switching-l2sc { - base switching-capabilities; - description - "Layer-2 Switch Capable (L2SC)."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity switching-tdm { - base switching-capabilities; - description - "Time-Division-Multiplex Capable (TDM)."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity switching-otn { - base switching-capabilities; - description - "OTN-TDM capable."; - reference - "RFC 7138: Traffic Engineering Extensions to OSPF for GMPLS - Control of Evolving G.709 Optical Transport Networks"; - } - - identity switching-dcsc { - base switching-capabilities; - description - "Data Channel Switching Capable (DCSC)."; - reference - "RFC 6002: Generalized MPLS (GMPLS) Data Channel - Switching Capable (DCSC) and Channel Set Label Extensions"; - } - - identity switching-lsc { - base switching-capabilities; - description - "Lambda-Switch Capable (LSC)."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity switching-fsc { - base switching-capabilities; - description - "Fiber-Switch Capable (FSC)."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-types { - description - "Base identity for encoding types."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-packet { - base lsp-encoding-types; - description - "Packet LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-ethernet { - base lsp-encoding-types; - description - "Ethernet LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-pdh { - base lsp-encoding-types; - description - "ANSI/ETSI PDH LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-sdh { - base lsp-encoding-types; - description - "SDH ITU-T G.707 / SONET ANSI T1.105 LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-digital-wrapper { - base lsp-encoding-types; - description - "Digital Wrapper LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-lambda { - base lsp-encoding-types; - description - "Lambda (photonic) LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-fiber { - base lsp-encoding-types; - description - "Fiber LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-fiber-channel { - base lsp-encoding-types; - description - "FiberChannel LSP encoding."; - reference - "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Functional Description"; - } - - identity lsp-encoding-oduk { - base lsp-encoding-types; - description - "G.709 ODUk (Digital Path) LSP encoding."; - reference - "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Extensions for G.709 Optical Transport Networks - Control"; - } - - identity lsp-encoding-optical-channel { - base lsp-encoding-types; - description - "G.709 Optical Channel LSP encoding."; - reference - "RFC 4328: Generalized Multi-Protocol Label Switching (GMPLS) - Signaling Extensions for G.709 Optical Transport Networks - Control"; - } - - identity lsp-encoding-line { - base lsp-encoding-types; - description - "Line (e.g., 8B/10B) LSP encoding."; - reference - "RFC 6004: Generalized MPLS (GMPLS) Support for Metro - Ethernet Forum and G.8011 Ethernet Service Switching"; - } - - identity path-signaling-type { - description - "Base identity from which specific LSP path setup types - are derived."; - } - - identity path-setup-static { - base path-signaling-type; - description - "Static LSP provisioning path setup."; - } - - identity path-setup-rsvp { - base path-signaling-type; - description - "RSVP-TE signaling path setup."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity path-setup-sr { - base path-signaling-type; - description - "Segment-routing path setup."; - } - - identity path-scope-type { - description - "Base identity from which specific path scope types are - derived."; - } - - identity path-scope-segment { - base path-scope-type; - description - "Path scope segment."; - reference - "RFC 4873: GMPLS Segment Recovery"; - } - - identity path-scope-end-to-end { - base path-scope-type; - description - "Path scope end to end."; - reference - "RFC 4873: GMPLS Segment Recovery"; - } - - identity route-usage-type { - description - "Base identity for route usage."; - } - - identity route-include-object { - base route-usage-type; - description - "'Include route' object."; - } - - identity route-exclude-object { - base route-usage-type; - description - "'Exclude route' object."; - reference - "RFC 4874: Exclude Routes - Extension to Resource ReserVation - Protocol-Traffic Engineering (RSVP-TE)"; - } - - identity route-exclude-srlg { - base route-usage-type; - description - "Excludes SRLGs."; - reference - "RFC 4874: Exclude Routes - Extension to Resource ReserVation - Protocol-Traffic Engineering (RSVP-TE)"; - } - - identity path-metric-type { - description - "Base identity for the path metric type."; - } - - identity path-metric-te { - base path-metric-type; - description - "TE path metric."; - reference - "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a - second MPLS Traffic Engineering (TE) Metric"; - } - - identity path-metric-igp { - base path-metric-type; - description - "IGP path metric."; - reference - "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a - second MPLS Traffic Engineering (TE) Metric"; - } - - identity path-metric-hop { - base path-metric-type; - description - "Hop path metric."; - } - - identity path-metric-delay-average { - base path-metric-type; - description - "Average unidirectional link delay."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions"; - } - - identity path-metric-delay-minimum { - base path-metric-type; - description - "Minimum unidirectional link delay."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions"; - } - - identity path-metric-residual-bandwidth { - base path-metric-type; - description - "Unidirectional Residual Bandwidth, which is defined to be - Maximum Bandwidth (RFC 3630) minus the bandwidth currently - allocated to LSPs."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2 - RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions"; - } - - identity path-metric-optimize-includes { - base path-metric-type; - description - "A metric that optimizes the number of included resources - specified in a set."; - } - - identity path-metric-optimize-excludes { - base path-metric-type; - description - "A metric that optimizes to a maximum the number of excluded - resources specified in a set."; - } - - identity path-tiebreaker-type { - description - "Base identity for the path tiebreaker type."; - } - - identity path-tiebreaker-minfill { - base path-tiebreaker-type; - description - "Min-Fill LSP path placement."; - } - - identity path-tiebreaker-maxfill { - base path-tiebreaker-type; - description - "Max-Fill LSP path placement."; - } - - identity path-tiebreaker-random { - base path-tiebreaker-type; - description - "Random LSP path placement."; - } - - identity resource-affinities-type { - description - "Base identity for resource class affinities."; - reference - "RFC 2702: Requirements for Traffic Engineering Over MPLS"; - } - - identity resource-aff-include-all { - base resource-affinities-type; - description - "The set of attribute filters associated with a - tunnel, all of which must be present for a link - to be acceptable."; - reference - "RFC 2702: Requirements for Traffic Engineering Over MPLS - RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity resource-aff-include-any { - base resource-affinities-type; - description - "The set of attribute filters associated with a - tunnel, any of which must be present for a link - to be acceptable."; - reference - "RFC 2702: Requirements for Traffic Engineering Over MPLS - RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity resource-aff-exclude-any { - base resource-affinities-type; - description - "The set of attribute filters associated with a - tunnel, any of which renders a link unacceptable."; - reference - "RFC 2702: Requirements for Traffic Engineering Over MPLS - RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - - identity te-optimization-criterion { - description - "Base identity for the TE optimization criteria."; - reference - "RFC 3272: Overview and Principles of Internet Traffic - Engineering"; - } - - identity not-optimized { - base te-optimization-criterion; - description - "Optimization is not applied."; - } - - identity cost { - base te-optimization-criterion; - description - "Optimized on cost."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity delay { - base te-optimization-criterion; - description - "Optimized on delay."; - reference - "RFC 5541: Encoding of Objective Functions in the Path - Computation Element Communication Protocol (PCEP)"; - } - - identity path-computation-srlg-type { - description - "Base identity for SRLG path computation."; - } - - identity srlg-ignore { - base path-computation-srlg-type; - description - "Ignores SRLGs in the path computation."; - } - - identity srlg-strict { - base path-computation-srlg-type; - description - "Includes a strict SRLG check in the path computation."; - } - - identity srlg-preferred { - base path-computation-srlg-type; - description - "Includes a preferred SRLG check in the path computation."; - } - - identity srlg-weighted { - base path-computation-srlg-type; - description - "Includes a weighted SRLG check in the path computation."; - } - - /** - * TE bandwidth groupings - **/ - - grouping te-bandwidth { - description - "This grouping defines the generic TE bandwidth. - For some known data-plane technologies, specific modeling - structures are specified. The string-encoded 'te-bandwidth' - type is used for unspecified technologies. - The modeling structure can be augmented later for other - technologies."; - container te-bandwidth { - description - "Container that specifies TE bandwidth. The choices - can be augmented for specific data-plane technologies."; - choice technology { - default "generic"; - description - "Data-plane technology type."; - case generic { - leaf generic { - type te-bandwidth; - description - "Bandwidth specified in a generic format."; - } - } - } - } - } - - /** - * TE label groupings - **/ - - grouping te-label { - description - "This grouping defines the generic TE label. - The modeling structure can be augmented for each technology. - For unspecified technologies, 'rt-types:generalized-label' - is used."; - container te-label { - description - "Container that specifies the TE label. The choices can - be augmented for specific data-plane technologies."; - choice technology { - default "generic"; - description - "Data-plane technology type."; - case generic { - leaf generic { - type rt-types:generalized-label; - description - "TE label specified in a generic format."; - } - } - } - leaf direction { - type te-label-direction; - default "forward"; - description - "Label direction."; - } - } - } - - grouping te-topology-identifier { - description - "Augmentation for a TE topology."; - container te-topology-identifier { - description - "TE topology identifier container."; - leaf provider-id { - type te-global-id; - default "0"; - description - "An identifier to uniquely identify a provider. - If omitted, it assumes that the topology provider ID - value = 0 (the default)."; - } - leaf client-id { - type te-global-id; - default "0"; - description - "An identifier to uniquely identify a client. - If omitted, it assumes that the topology client ID - value = 0 (the default)."; - } - leaf topology-id { - type te-topology-id; - default ""; - description - "When the datastore contains several topologies, - 'topology-id' distinguishes between them. If omitted, - the default (empty) string for this leaf is assumed."; - } - } - } - - /** - * TE performance metrics groupings - **/ - - grouping performance-metrics-one-way-delay-loss { - description - "Performance Metrics (PM) information in real time that can - be applicable to links or connections. PM defined in this - grouping are applicable to generic TE PM as well as packet TE - PM."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - leaf one-way-delay { - type uint32 { - range "0..16777215"; - } - description - "One-way delay or latency in microseconds."; - } - leaf one-way-delay-normality { - type te-types:performance-metrics-normality; - description - "One-way delay normality."; - } - } - - grouping performance-metrics-two-way-delay-loss { - description - "PM information in real time that can be applicable to links or - connections. PM defined in this grouping are applicable to - generic TE PM as well as packet TE PM."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - leaf two-way-delay { - type uint32 { - range "0..16777215"; - } - description - "Two-way delay or latency in microseconds."; - } - leaf two-way-delay-normality { - type te-types:performance-metrics-normality; - description - "Two-way delay normality."; - } - } - - grouping performance-metrics-one-way-bandwidth { - description - "PM information in real time that can be applicable to links. - PM defined in this grouping are applicable to generic TE PM - as well as packet TE PM."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - leaf one-way-residual-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Residual bandwidth that subtracts tunnel reservations from - Maximum Bandwidth (or link capacity) (RFC 3630) and - provides an aggregated remainder across QoS classes."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2"; - } - leaf one-way-residual-bandwidth-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Residual bandwidth normality."; - } - leaf one-way-available-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Available bandwidth that is defined to be residual - bandwidth minus the measured bandwidth used for the - actual forwarding of non-RSVP-TE LSP packets. For a - bundled link, available bandwidth is defined to be the - sum of the component link available bandwidths."; - } - leaf one-way-available-bandwidth-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Available bandwidth normality."; - } - leaf one-way-utilized-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Bandwidth utilization that represents the actual - utilization of the link (i.e., as measured in the router). - For a bundled link, bandwidth utilization is defined to - be the sum of the component link bandwidth utilizations."; - } - leaf one-way-utilized-bandwidth-normality { - type te-types:performance-metrics-normality; - default "normal"; - description - "Bandwidth utilization normality."; - } - } - - grouping one-way-performance-metrics { - description - "One-way PM throttle grouping."; - leaf one-way-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "One-way delay or latency in microseconds."; - } - leaf one-way-residual-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Residual bandwidth that subtracts tunnel reservations from - Maximum Bandwidth (or link capacity) (RFC 3630) and - provides an aggregated remainder across QoS classes."; - reference - "RFC 3630: Traffic Engineering (TE) Extensions to OSPF - Version 2"; - } - leaf one-way-available-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Available bandwidth that is defined to be residual - bandwidth minus the measured bandwidth used for the - actual forwarding of non-RSVP-TE LSP packets. For a - bundled link, available bandwidth is defined to be the - sum of the component link available bandwidths."; - } - leaf one-way-utilized-bandwidth { - type rt-types:bandwidth-ieee-float32; - units "bytes per second"; - default "0x0p0"; - description - "Bandwidth utilization that represents the actual - utilization of the link (i.e., as measured in the router). - For a bundled link, bandwidth utilization is defined to - be the sum of the component link bandwidth utilizations."; - } - } - - grouping two-way-performance-metrics { - description - "Two-way PM throttle grouping."; - leaf two-way-delay { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Two-way delay or latency in microseconds."; - } - } - - grouping performance-metrics-thresholds { - description - "Grouping for configurable thresholds for measured - attributes."; - uses one-way-performance-metrics; - uses two-way-performance-metrics; - } - - grouping performance-metrics-attributes { - description - "Contains PM attributes."; - container performance-metrics-one-way { - description - "One-way link performance information in real time."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - uses performance-metrics-one-way-delay-loss; - uses performance-metrics-one-way-bandwidth; - } - container performance-metrics-two-way { - description - "Two-way link performance information in real time."; - reference - "RFC 6374: Packet Loss and Delay Measurement for MPLS - Networks"; - uses performance-metrics-two-way-delay-loss; - } - } - - grouping performance-metrics-throttle-container { - description - "Controls PM throttling."; - container throttle { - must 'suppression-interval >= measure-interval' { - error-message "'suppression-interval' cannot be less than " - + "'measure-interval'."; - description - "Constraint on 'suppression-interval' and - 'measure-interval'."; - } - description - "Link performance information in real time."; - reference - "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions - RFC 7823: Performance-Based Path Selection for Explicitly - Routed Label Switched Paths (LSPs) Using TE Metric - Extensions - RFC 8570: IS-IS Traffic Engineering (TE) Metric Extensions"; - leaf one-way-delay-offset { - type uint32 { - range "0..16777215"; - } - default "0"; - description - "Offset value to be added to the measured delay value."; - } - leaf measure-interval { - type uint32; - default "30"; - description - "Interval, in seconds, to measure the extended metric - values."; - } - leaf advertisement-interval { - type uint32; - default "0"; - description - "Interval, in seconds, to advertise the extended metric - values."; - } - leaf suppression-interval { - type uint32 { - range "1..max"; - } - default "120"; - description - "Interval, in seconds, to suppress advertisement of the - extended metric values."; - reference - "RFC 8570: IS-IS Traffic Engineering (TE) Metric - Extensions, Section 6"; - } - container threshold-out { - uses performance-metrics-thresholds; - description - "If the measured parameter falls outside an upper bound - for all but the minimum-delay metric (or a lower bound - for the minimum-delay metric only) and the advertised - value is not already outside that bound, an 'anomalous' - announcement (anomalous bit set) will be triggered."; - } - container threshold-in { - uses performance-metrics-thresholds; - description - "If the measured parameter falls inside an upper bound - for all but the minimum-delay metric (or a lower bound - for the minimum-delay metric only) and the advertised - value is not already inside that bound, a 'normal' - announcement (anomalous bit cleared) will be triggered."; - } - container threshold-accelerated-advertisement { - description - "When the difference between the last advertised value and - the current measured value exceeds this threshold, an - 'anomalous' announcement (anomalous bit set) will be - triggered."; - uses performance-metrics-thresholds; - } - } - } - - /** - * TE tunnel generic groupings - **/ - - grouping explicit-route-hop { - description - "The explicit route entry grouping."; - choice type { - description - "The explicit route entry type."; - case numbered-node-hop { - container numbered-node-hop { - leaf node-id { - type te-node-id; - mandatory true; - description - "The identifier of a node in the TE topology."; - } - leaf hop-type { - type te-hop-type; - default "strict"; - description - "Strict or loose hop."; - } - description - "Numbered node route hop."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.3, EXPLICIT_ROUTE in RSVP-TE - RFC 3477: Signalling Unnumbered Links in Resource - ReSerVation Protocol - Traffic Engineering (RSVP-TE)"; - } - } - case numbered-link-hop { - container numbered-link-hop { - leaf link-tp-id { - type te-tp-id; - mandatory true; - description - "TE Link Termination Point (LTP) identifier."; - } - leaf hop-type { - type te-hop-type; - default "strict"; - description - "Strict or loose hop."; - } - leaf direction { - type te-link-direction; - default "outgoing"; - description - "Link route object direction."; - } - description - "Numbered link explicit route hop."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.3, EXPLICIT_ROUTE in RSVP-TE - RFC 3477: Signalling Unnumbered Links in Resource - ReSerVation Protocol - Traffic Engineering (RSVP-TE)"; - } - } - case unnumbered-link-hop { - container unnumbered-link-hop { - leaf link-tp-id { - type te-tp-id; - mandatory true; - description - "TE LTP identifier. The combination of the TE link ID - and the TE node ID is used to identify an unnumbered - TE link."; - } - leaf node-id { - type te-node-id; - mandatory true; - description - "The identifier of a node in the TE topology."; - } - leaf hop-type { - type te-hop-type; - default "strict"; - description - "Strict or loose hop."; - } - leaf direction { - type te-link-direction; - default "outgoing"; - description - "Link route object direction."; - } - description - "Unnumbered link explicit route hop."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels, - Section 4.3, EXPLICIT_ROUTE in RSVP-TE - RFC 3477: Signalling Unnumbered Links in Resource - ReSerVation Protocol - Traffic Engineering (RSVP-TE)"; - } - } - case as-number { - container as-number-hop { - leaf as-number { - type inet:as-number; - mandatory true; - description - "The Autonomous System (AS) number."; - } - leaf hop-type { - type te-hop-type; - default "strict"; - description - "Strict or loose hop."; - } - description - "AS explicit route hop."; - } - } - case label { - container label-hop { - description - "Label hop type."; - uses te-label; - } - description - "The label explicit route hop type."; - } - } - } - - grouping record-route-state { - description - "The Record Route grouping."; - leaf index { - type uint32; - description - "Record Route hop index. The index is used to - identify an entry in the list. The order of entries - is defined by the user without relying on key values."; - } - choice type { - description - "The Record Route entry type."; - case numbered-node-hop { - container numbered-node-hop { - description - "Numbered node route hop container."; - leaf node-id { - type te-node-id; - mandatory true; - description - "The identifier of a node in the TE topology."; - } - leaf-list flags { - type path-attribute-flags; - description - "Path attributes flags."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels - RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP - Tunnels - RFC 4561: Definition of a Record Route Object (RRO) - Node-Id Sub-Object"; - } - } - description - "Numbered node route hop."; - } - case numbered-link-hop { - container numbered-link-hop { - description - "Numbered link route hop container."; - leaf link-tp-id { - type te-tp-id; - mandatory true; - description - "Numbered TE LTP identifier."; - } - leaf-list flags { - type path-attribute-flags; - description - "Path attributes flags."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels - RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP - Tunnels - RFC 4561: Definition of a Record Route Object (RRO) - Node-Id Sub-Object"; - } - } - description - "Numbered link route hop."; - } - case unnumbered-link-hop { - container unnumbered-link-hop { - leaf link-tp-id { - type te-tp-id; - mandatory true; - description - "TE LTP identifier. The combination of the TE link ID - and the TE node ID is used to identify an unnumbered - TE link."; - } - leaf node-id { - type te-node-id; - description - "The identifier of a node in the TE topology."; - } - leaf-list flags { - type path-attribute-flags; - description - "Path attributes flags."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels - RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP - Tunnels - RFC 4561: Definition of a Record Route Object (RRO) - Node-Id Sub-Object"; - } - description - "Unnumbered link Record Route hop."; - reference - "RFC 3477: Signalling Unnumbered Links in Resource - ReSerVation Protocol - Traffic Engineering (RSVP-TE)"; - } - description - "Unnumbered link route hop."; - } - case label { - container label-hop { - description - "Label route hop type."; - uses te-label; - leaf-list flags { - type path-attribute-flags; - description - "Path attributes flags."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels - RFC 4090: Fast Reroute Extensions to RSVP-TE for LSP - Tunnels - RFC 4561: Definition of a Record Route Object (RRO) - Node-Id Sub-Object"; - } - } - description - "The label Record Route entry types."; - } - } - } - - grouping label-restriction-info { - description - "Label set item information."; - leaf restriction { - type enumeration { - enum inclusive { - description - "The label or label range is inclusive."; - } - enum exclusive { - description - "The label or label range is exclusive."; - } - } - default "inclusive"; - description - "Indicates whether the list item is inclusive or exclusive."; - } - leaf index { - type uint32; - description - "The index of the label restriction list entry."; - } - container label-start { - must "(not(../label-end/te-label/direction) and" - + " not(te-label/direction))" - + " or " - + "(../label-end/te-label/direction = te-label/direction)" - + " or " - + "(not(te-label/direction) and" - + " (../label-end/te-label/direction = 'forward'))" - + " or " - + "(not(../label-end/te-label/direction) and" - + " (te-label/direction = 'forward'))" { - error-message "'label-start' and 'label-end' must have the " - + "same direction."; - } - description - "This is the starting label if a label range is specified. - This is the label value if a single label is specified, - in which case the 'label-end' attribute is not set."; - uses te-label; - } - container label-end { - must "(not(../label-start/te-label/direction) and" - + " not(te-label/direction))" - + " or " - + "(../label-start/te-label/direction = te-label/direction)" - + " or " - + "(not(te-label/direction) and" - + " (../label-start/te-label/direction = 'forward'))" - + " or " - + "(not(../label-start/te-label/direction) and" - + " (te-label/direction = 'forward'))" { - error-message "'label-start' and 'label-end' must have the " - + "same direction."; - } - description - "This is the ending label if a label range is specified. - This attribute is not set if a single label is specified."; - uses te-label; - } - container label-step { - description - "The step increment between labels in the label range. - The label start/end values will have to be consistent - with the sign of label step. For example, - 'label-start' < 'label-end' enforces 'label-step' > 0 - 'label-start' > 'label-end' enforces 'label-step' < 0."; - choice technology { - default "generic"; - description - "Data-plane technology type."; - case generic { - leaf generic { - type int32; - default "1"; - description - "Label range step."; - } - } - } - } - leaf range-bitmap { - type yang:hex-string; - description - "When there are gaps between 'label-start' and 'label-end', - this attribute is used to specify the positions - of the used labels. This is represented in big endian as - 'hex-string'. - The most significant byte in the hex-string is the farthest - to the left in the byte sequence. Leading zero bytes in the - configured value may be omitted for brevity. - Each bit position in the 'range-bitmap' 'hex-string' maps - to a label in the range derived from 'label-start'. - - For example, assuming that 'label-start' = 16000 and - 'range-bitmap' = 0x01000001, then: - - - bit position (0) is set, and the corresponding mapped - label from the range is 16000 + (0 * 'label-step') or - 16000 for default 'label-step' = 1. - - bit position (24) is set, and the corresponding mapped - label from the range is 16000 + (24 * 'label-step') or - 16024 for default 'label-step' = 1."; - } - } - - grouping label-set-info { - description - "Grouping for the list of label restrictions specifying what - labels may or may not be used."; - container label-restrictions { - description - "The label restrictions container."; - list label-restriction { - key "index"; - description - "The absence of the label restrictions container implies - that all labels are acceptable; otherwise, only restricted - labels are available."; - reference - "RFC 7579: General Network Element Constraint Encoding - for GMPLS-Controlled Networks"; - uses label-restriction-info; - } - } - } - - grouping optimization-metric-entry { - description - "Optimization metrics configuration grouping."; - leaf metric-type { - type identityref { - base path-metric-type; - } - description - "Identifies the 'metric-type' that the path computation - process uses for optimization."; - } - leaf weight { - type uint8; - default "1"; - description - "TE path metric normalization weight."; - } - container explicit-route-exclude-objects { - when "../metric-type = " - + "'te-types:path-metric-optimize-excludes'"; - description - "Container for the 'exclude route' object list."; - uses path-route-exclude-objects; - } - container explicit-route-include-objects { - when "../metric-type = " - + "'te-types:path-metric-optimize-includes'"; - description - "Container for the 'include route' object list."; - uses path-route-include-objects; - } - } - - grouping common-constraints { - description - "Common constraints grouping that can be set on - a constraint set or directly on the tunnel."; - uses te-bandwidth { - description - "A requested bandwidth to use for path computation."; - } - leaf link-protection { - type identityref { - base link-protection-type; - } - default "te-types:link-protection-unprotected"; - description - "Link protection type required for the links included - in the computed path."; - reference - "RFC 4202: Routing Extensions in Support of - Generalized Multi-Protocol Label Switching (GMPLS)"; - } - leaf setup-priority { - type uint8 { - range "0..7"; - } - default "7"; - description - "TE LSP requested setup priority."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - leaf hold-priority { - type uint8 { - range "0..7"; - } - default "7"; - description - "TE LSP requested hold priority."; - reference - "RFC 3209: RSVP-TE: Extensions to RSVP for LSP Tunnels"; - } - leaf signaling-type { - type identityref { - base path-signaling-type; - } - default "te-types:path-setup-rsvp"; - description - "TE tunnel path signaling type."; - } - } - - grouping tunnel-constraints { - description - "Tunnel constraints grouping that can be set on - a constraint set or directly on the tunnel."; - uses te-topology-identifier; - uses common-constraints; - } - - grouping path-constraints-route-objects { - description - "List of route entries to be included or excluded when - performing the path computation."; - container explicit-route-objects-always { - description - "Container for the 'exclude route' object list."; - list route-object-exclude-always { - key "index"; - ordered-by user; - description - "List of route objects to always exclude from the path - computation."; - leaf index { - type uint32; - description - "Explicit Route Object index. The index is used to - identify an entry in the list. The order of entries - is defined by the user without relying on key values."; - } - uses explicit-route-hop; - } - list route-object-include-exclude { - key "index"; - ordered-by user; - description - "List of route objects to include or exclude in the path - computation."; - leaf explicit-route-usage { - type identityref { - base route-usage-type; - } - default "te-types:route-include-object"; - description - "Indicates whether to include or exclude the - route object. The default is to include it."; - } - leaf index { - type uint32; - description - "Route object include-exclude index. The index is used - to identify an entry in the list. The order of entries - is defined by the user without relying on key values."; - } - uses explicit-route-hop { - augment "type" { - case srlg { - container srlg { - description - "SRLG container."; - leaf srlg { - type uint32; - description - "SRLG value."; - } - } - description - "An SRLG value to be included or excluded."; - } - description - "Augmentation for a generic explicit route for SRLG - exclusion."; - } - } - } - } - } - - grouping path-route-include-objects { - description - "List of route objects to be included when performing - the path computation."; - list route-object-include-object { - key "index"; - ordered-by user; - description - "List of Explicit Route Objects to be included in the - path computation."; - leaf index { - type uint32; - description - "Route object entry index. The index is used to - identify an entry in the list. The order of entries - is defined by the user without relying on key values."; - } - uses explicit-route-hop; - } - } - - grouping path-route-exclude-objects { - description - "List of route objects to be excluded when performing - the path computation."; - list route-object-exclude-object { - key "index"; - ordered-by user; - description - "List of Explicit Route Objects to be excluded in the - path computation."; - leaf index { - type uint32; - description - "Route object entry index. The index is used to - identify an entry in the list. The order of entries - is defined by the user without relying on key values."; - } - uses explicit-route-hop { - augment "type" { - case srlg { - container srlg { - description - "SRLG container."; - leaf srlg { - type uint32; - description - "SRLG value."; - } - } - description - "An SRLG value to be included or excluded."; - } - description - "Augmentation for a generic explicit route for SRLG - exclusion."; - } - } - } - } - - grouping generic-path-metric-bounds { - description - "TE path metric bounds grouping."; - container path-metric-bounds { - description - "TE path metric bounds container."; - list path-metric-bound { - key "metric-type"; - description - "List of TE path metric bounds."; - leaf metric-type { - type identityref { - base path-metric-type; - } - description - "Identifies an entry in the list of 'metric-type' items - bound for the TE path."; - } - leaf upper-bound { - type uint64; - default "0"; - description - "Upper bound on the end-to-end TE path metric. A zero - indicates an unbounded upper limit for the specific - 'metric-type'."; - } - } - } - } - - grouping generic-path-optimization { - description - "TE generic path optimization grouping."; - container optimizations { - description - "The objective function container that includes - attributes to impose when computing a TE path."; - choice algorithm { - description - "Optimizations algorithm."; - case metric { - if-feature "path-optimization-metric"; - /* Optimize by metric */ - list optimization-metric { - key "metric-type"; - description - "TE path metric type."; - uses optimization-metric-entry; - } - /* Tiebreakers */ - container tiebreakers { - description - "Container for the list of tiebreakers."; - list tiebreaker { - key "tiebreaker-type"; - description - "The list of tiebreaker criteria to apply on an - equally favored set of paths, in order to pick - the best."; - leaf tiebreaker-type { - type identityref { - base path-metric-type; - } - description - "Identifies an entry in the list of tiebreakers."; - } - } - } - } - case objective-function { - if-feature "path-optimization-objective-function"; - /* Objective functions */ - container objective-function { - description - "The objective function container that includes - attributes to impose when computing a TE path."; - leaf objective-function-type { - type identityref { - base objective-function-type; - } - default "te-types:of-minimize-cost-path"; - description - "Objective function entry."; - } - } - } - } - } - } - - grouping generic-path-affinities { - description - "Path affinities grouping."; - container path-affinities-values { - description - "Path affinities represented as values."; - list path-affinities-value { - key "usage"; - description - "List of named affinity constraints."; - leaf usage { - type identityref { - base resource-affinities-type; - } - description - "Identifies an entry in the list of value affinity - constraints."; - } - leaf value { - type admin-groups; - default ""; - description - "The affinity value. The default is empty."; - } - } - } - container path-affinity-names { - description - "Path affinities represented as names."; - list path-affinity-name { - key "usage"; - description - "List of named affinity constraints."; - leaf usage { - type identityref { - base resource-affinities-type; - } - description - "Identifies an entry in the list of named affinity - constraints."; - } - list affinity-name { - key "name"; - leaf name { - type string; - description - "Identifies a named affinity entry."; - } - description - "List of named affinities."; - } - } - } - } - - grouping generic-path-srlgs { - description - "Path SRLG grouping."; - container path-srlgs-lists { - description - "Path SRLG properties container."; - list path-srlgs-list { - key "usage"; - description - "List of SRLG values to be included or excluded."; - leaf usage { - type identityref { - base route-usage-type; - } - description - "Identifies an entry in a list of SRLGs to either - include or exclude."; - } - leaf-list values { - type srlg; - description - "List of SRLG values."; - } - } - } - container path-srlgs-names { - description - "Container for the list of named SRLGs."; - list path-srlgs-name { - key "usage"; - description - "List of named SRLGs to be included or excluded."; - leaf usage { - type identityref { - base route-usage-type; - } - description - "Identifies an entry in a list of named SRLGs to either - include or exclude."; - } - leaf-list names { - type string; - description - "List of named SRLGs."; - } - } - } - } - - grouping generic-path-disjointness { - description - "Path disjointness grouping."; - leaf disjointness { - type te-path-disjointness; - description - "The type of resource disjointness. - When configured for a primary path, the disjointness level - applies to all secondary LSPs. When configured for a - secondary path, the disjointness level overrides the level - configured for the primary path."; - } - } - - grouping common-path-constraints-attributes { - description - "Common path constraints configuration grouping."; - uses common-constraints; - uses generic-path-metric-bounds; - uses generic-path-affinities; - uses generic-path-srlgs; - } - - grouping generic-path-constraints { - description - "Global named path constraints configuration grouping."; - container path-constraints { - description - "TE named path constraints container."; - uses common-path-constraints-attributes; - uses generic-path-disjointness; - } - } - - grouping generic-path-properties { - description - "TE generic path properties grouping."; - container path-properties { - config false; - description - "The TE path properties."; - list path-metric { - key "metric-type"; - description - "TE path metric type."; - leaf metric-type { - type identityref { - base path-metric-type; - } - description - "TE path metric type."; - } - leaf accumulative-value { - type uint64; - description - "TE path metric accumulative value."; - } - } - uses generic-path-affinities; - uses generic-path-srlgs; - container path-route-objects { - description - "Container for the list of route objects either returned by - the computation engine or actually used by an LSP."; - list path-route-object { - key "index"; - ordered-by user; - description - "List of route objects either returned by the computation - engine or actually used by an LSP."; - leaf index { - type uint32; - description - "Route object entry index. The index is used to - identify an entry in the list. The order of entries - is defined by the user without relying on key - values."; - } - uses explicit-route-hop; - } - } - } - } -} diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-service@2023-10-23.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-service@2023-10-23.yang deleted file mode 100644 index f0157bcc82e70d1da523074974e8db061d06c32a..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-service@2023-10-23.yang +++ /dev/null @@ -1,325 +0,0 @@ - module ietf-trans-client-service { - /* TODO: FIXME */ - yang-version 1.1; - - namespace "urn:ietf:params:xml:ns:yang:ietf-trans-client-service"; - prefix "clntsvc"; - - import ietf-network { - prefix "nw"; - reference "RFC8345 - A YANG Data Model for Network Topologies"; - } - - import ietf-network-topology { - prefix "nt"; - reference "RFC8345 - A YANG Data Model for Network Topologies"; - } - - import ietf-te-types { - prefix "te-types"; - reference "RFC 8776 - Traffic Engineering Common YANG Types"; - } - - import ietf-layer1-types { - prefix "layer1-types"; - reference "RFC ZZZZ - A YANG Data Model for Layer 1 Types"; - } - - import ietf-yang-types { - prefix "yang"; - reference "RFC 6991 - Common YANG Data Types"; - } - - import ietf-trans-client-svc-types { - prefix "clntsvc-types"; - reference "RFC XXXX - A YANG Data Model for - Transport Network Client Signals"; - } - - organization - "Internet Engineering Task Force (IETF) CCAMP WG"; - contact - " - ID-draft editor: - Haomian Zheng (zhenghaomian@huawei.com); - Aihua Guo (aihuaguo.ietf@gmail.com); - Italo Busi (italo.busi@huawei.com); - Anton Snitser (antons@sedonasys.com); - Francesco Lazzeri (francesco.lazzeri@ericsson.com); - Yunbin Xu (xuyunbin@caict.ac.cn); - Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (Xufeng_Liu@jabil.com); - Giuseppe Fioccola (giuseppe.fioccola@huawei.com); - Chaode Yu (yuchaode@huawei.com); - "; - - description - "This module defines a YANG data model for describing - transport network client services. The model fully conforms - to the Network Management Datastore Architecture (NMDA). - - Copyright (c) 2021 IETF Trust and the persons - identified as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices."; - revision 2023-10-23 { - description - "version -04 as a WG document"; - reference - "draft-ietf-ccamp-client-signal-yang"; - } - - /* - * Groupings - */ - grouping client-svc-access-parameters { - description - "Transport network client signals access parameters"; - - leaf access-node-id { - type te-types:te-node-id; - description - "The identifier of the access node in the TE topology."; - } - - leaf access-node-uri { - type nw:node-id; - description - "The identifier of the access node in the network."; - } - - leaf access-ltp-id { - type te-types:te-tp-id; - description - "The TE link termination point identifier in TE topology, used - together with access-node-id to identify the access LTP."; - } - - leaf access-ltp-uri { - type nt:tp-id; - description - "The link termination point identifier in network topology, - used together with access-node-uri to identify the access LTP"; - } - - leaf client-signal { - type identityref { - base layer1-types:client-signal; - } - description - "Identify the client signal type associated with this port"; - } - - } - - grouping pm-state-grouping { - leaf latency { - description "latency value of the E2E client signal service"; - type uint32; - units microsecond; - } - } - - grouping error-info-grouping { - leaf error-code { - description "error code"; - type uint16; - } - - leaf error-description { - description "detail message of error"; - type string; - } - - leaf error-timestamp { - description "the date and time error is happened"; - type yang:date-and-time; - } - } - - grouping alarm-shreshold-grouping { - leaf latency-threshold { - description "a threshold for the E2E client signal service's - latency. Once the latency value exceed this threshold, an alarm - should be triggered."; - type uint32; - units microsecond; - } - } - - grouping client-svc-tunnel-parameters { - description - "Transport network client signals tunnel parameters"; - - leaf tunnel-name { - type string; - description - "TE tunnel instance name."; - } - } - - grouping client-svc-instance-config { - description - "Configuration parameters for client services."; - leaf client-svc-name { - type string; - description - "Identifier of the p2p transport network client signals."; - } - - leaf client-svc-title { - type string; - description - "Name of the p2p transport network client signals."; - } - - leaf user-label { - type string; - description - "Alias of the p2p transport network client signals."; - } - - leaf client-svc-descr { - type string; - description - "Description of the transport network client signals."; - } - - leaf client-svc-customer { - type string; - description - "Customer of the transport network client signals."; - } - - container resilience { - description "Place holder for resilience functionalities"; - } - - uses te-types:te-topology-identifier; - - leaf admin-status { - type identityref { - base te-types:tunnel-admin-state-type; - } - default te-types:tunnel-admin-state-up; - description "Client signals administrative state."; - } - - container src-access-ports { - description - "Source access port of a client signal."; - uses client-svc-access-parameters; - } - container dst-access-ports { - description - "Destination access port of a client signal."; - uses client-svc-access-parameters; - } - - container pm-state { - config false; - description "PM data of E2E client signal"; - uses pm-state-grouping; - } - - container error-info { - config false; - description "error messages of configuration"; - uses error-info-grouping; - } - - container alarm-shreshold { - description "threshold configuration for the E2E client signal"; - uses alarm-shreshold-grouping; - } - - leaf direction { - type identityref { - base clntsvc-types:direction; - } - description "Uni-dir or Bi-dir for the client signal."; - } - - list svc-tunnels { - key tunnel-name; - description - "List of the TE Tunnels supporting the client signal."; - uses client-svc-tunnel-parameters; - } - } - - grouping client-svc-instance-state { - description - "State parameters for client services."; - leaf operational-state { - type identityref { - base te-types:tunnel-state-type; - } - config false; - description "Client signal operational state."; - } - leaf provisioning-state { - type identityref { - base te-types:lsp-state-type; - } - config false; - description "Client signal provisioning state."; - } - leaf creation-time { - type yang:date-and-time; - config false; - description "The time of the client signal be created."; - } - leaf last-updated-time { - type yang:date-and-time; - config false; - description "The time of the client signal's latest update."; - } - leaf created-by { - type string; - config false; - description - "The client signal is created by whom, - can be a system or staff ID."; - } - leaf last-updated-by { - type string; - config false; - description - "The client signal is last updated by whom, - can be a system or staff ID."; - } - leaf owned-by { - type string; - config false; - description - "The client signal is owned by whom, - can be a system ID."; - } - } - - /* - * Data nodes - */ - - container client-svc { - description - "Transport client services."; - - list client-svc-instances { - key client-svc-name; - description - "The list of p2p transport client service instances"; - - uses client-svc-instance-config; - uses client-svc-instance-state; - } - } - } diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-svc-types@2023-10-23.yang b/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-svc-types@2023-10-23.yang deleted file mode 100644 index 60db5633af691c53678870dc5f087b911726f2c6..0000000000000000000000000000000000000000 --- a/src/nbi/service/rest_server/nbi_plugins/ietf_network_new/yang/ietf-trans-client-svc-types@2023-10-23.yang +++ /dev/null @@ -1,63 +0,0 @@ - module ietf-trans-client-svc-types { - namespace "urn:ietf:params:xml:ns:yang:ietf-trans-client-svc-types"; - prefix "clntsvc-types"; - - organization - "Internet Engineering Task Force (IETF) CCAMP WG"; - contact - " - ID-draft editor: - Haomian Zheng (zhenghaomian@huawei.com); - Aihua Guo (aihuaguo.ietf@gmail.com); - Italo Busi (italo.busi@huawei.com); - Anton Snitser (antons@sedonasys.com); - Francesco Lazzeri (francesco.lazzeri@ericsson.com); - Yunbin Xu (xuyunbin@caict.ac.cn); - Yang Zhao (zhaoyangyjy@chinamobile.com); - Xufeng Liu (Xufeng_Liu@jabil.com); - Giuseppe Fioccola (giuseppe.fioccola@huawei.com); - Chaode Yu (yuchaode@huawei.com); - "; - - description - "This module defines a YANG data model for describing - transport network client types. The model fully conforms - to the Network Management Datastore Architecture (NMDA). - - Copyright (c) 2019 IETF Trust and the persons - identified as authors of the code. All rights reserved. - - Redistribution and use in source and binary forms, with or - without modification, is permitted pursuant to, and subject - to the license terms contained in, the Simplified BSD License - set forth in Section 4.c of the IETF Trust's Legal Provisions - Relating to IETF Documents - (https://trustee.ietf.org/license-info). - This version of this YANG module is part of RFC XXXX; see - the RFC itself for full legal notices."; - - revision 2023-10-23 { - description - "version -01 as a WG document"; - reference - "draft-ietf-ccamp-client-signal-yang"; - } - - identity direction { - description - "Direction information of Client Signal."; - } - - identity bidirectional { - base direction; - description - "Client Signal is bi-directional."; - } - - identity unidirectional { - base direction; - description - "Client Signal is uni-directional."; - } - - } diff --git a/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py b/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py index e67c297bc8246d322e3acb2a803a74edb0a36305..4443d7e2454dd0f612a1074993a56ab84f230db9 100644 --- a/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py +++ b/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py @@ -14,6 +14,7 @@ from nbi.service.rest_server.RestServer import RestServer from nbi.service.rest_server.nbi_plugins.ietf_hardware import Hardware, HardwareMultipleDevices +from nbi.service.rest_server.nbi_plugins.ietf_network_new import Networks from .Resources import ( Connection, ConnectionIds, Connections, Context, ContextIds, Contexts, @@ -64,6 +65,8 @@ RESOURCES = [ ('api.policyrule_ids', PolicyRuleIds, '/policyrule_ids'), ('api.policyrules', PolicyRules, '/policyrules'), ('api.policyrule', PolicyRule, '/policyrule/<path:policyrule_uuid>'), + + ('api.networksl3' , Networks, '/networks') ] def register_tfs_api(rest_server : RestServer): diff --git a/src/webui/service/templates/main/debug.html b/src/webui/service/templates/main/debug.html index 8956856699dc022b826a9384a2df6ac7b28a3e87..e6965cb55fff28794cf8e240be871d82dd021980 100644 --- a/src/webui/service/templates/main/debug.html +++ b/src/webui/service/templates/main/debug.html @@ -24,6 +24,7 @@ <li><a class="nav-link" href="/tfs-api/dummy_contexts" id="dummy_contexts_link" target="dummy_contexts">Dummy Contexts</a></li> <li><a class="nav-link" href="/tfs-api/devices" id="devices_link" target="devices">Devices</a></li> <li><a class="nav-link" href="/tfs-api/links" id="links_link" target="links">Links</a></li> + <li><a class="nav-link" href="/tfs-api/networks" id="networks_link" target="networks">Networks</a></li> </ul> {% endblock %}