Loading src/service/service/service_handlers/tapi_xr/TapiXrServiceHandler.py +16 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ class TapiXrServiceHandler(_ServiceHandler): ) -> List[Union[bool, Exception]]: chk_type('endpoints', endpoints, list) # When using regular mode where XR constellation is a single device, we get two endpoints. # Convert that representation to a form that is understood by the service handler that # expects constellation to be represented as multiple devices. if len(endpoints) == 2: endpoints = [None, endpoints[0], endpoints[1], None] if len(endpoints) != 4: return [] service_uuid = self.__service.service_id.service_uuid.uuid Loading @@ -68,10 +75,17 @@ class TapiXrServiceHandler(_ServiceHandler): raise Exception('Different Src-Dst devices not supported by now') controller = src_controller # If the special mode that splits XR constellation to multiple modelled devices is used, # add the device name to interface name. Otherwise use it as is (it will already contain pipe character # end edge device name). This code should be refactored, as interface name structure is internal matter # to XR driver and subject to change. constellation_unique_src = src_endpoint.name if "|" in src_endpoint.name else '|'.join([src_device.name, src_endpoint.name]) constellation_unique_dst = dst_endpoint.name if "|" in dst_endpoint.name else '|'.join([dst_device.name, dst_endpoint.name]) json_config_rule = json_config_rule_set('/services/service[{:s}]'.format(service_uuid), { 'uuid' : service_uuid, 'input_sip_name' : '|'.join([src_device.name, src_endpoint.name]), 'output_sip_name': '|'.join([dst_device.name, dst_endpoint.name]), 'input_sip_name' : constellation_unique_src, 'output_sip_name': constellation_unique_dst, 'capacity_unit' : capacity_unit, 'capacity_value' : capacity_value, }) Loading Loading
src/service/service/service_handlers/tapi_xr/TapiXrServiceHandler.py +16 −2 Original line number Diff line number Diff line Loading @@ -42,6 +42,13 @@ class TapiXrServiceHandler(_ServiceHandler): ) -> List[Union[bool, Exception]]: chk_type('endpoints', endpoints, list) # When using regular mode where XR constellation is a single device, we get two endpoints. # Convert that representation to a form that is understood by the service handler that # expects constellation to be represented as multiple devices. if len(endpoints) == 2: endpoints = [None, endpoints[0], endpoints[1], None] if len(endpoints) != 4: return [] service_uuid = self.__service.service_id.service_uuid.uuid Loading @@ -68,10 +75,17 @@ class TapiXrServiceHandler(_ServiceHandler): raise Exception('Different Src-Dst devices not supported by now') controller = src_controller # If the special mode that splits XR constellation to multiple modelled devices is used, # add the device name to interface name. Otherwise use it as is (it will already contain pipe character # end edge device name). This code should be refactored, as interface name structure is internal matter # to XR driver and subject to change. constellation_unique_src = src_endpoint.name if "|" in src_endpoint.name else '|'.join([src_device.name, src_endpoint.name]) constellation_unique_dst = dst_endpoint.name if "|" in dst_endpoint.name else '|'.join([dst_device.name, dst_endpoint.name]) json_config_rule = json_config_rule_set('/services/service[{:s}]'.format(service_uuid), { 'uuid' : service_uuid, 'input_sip_name' : '|'.join([src_device.name, src_endpoint.name]), 'output_sip_name': '|'.join([dst_device.name, dst_endpoint.name]), 'input_sip_name' : constellation_unique_src, 'output_sip_name': constellation_unique_dst, 'capacity_unit' : capacity_unit, 'capacity_value' : capacity_value, }) Loading