Loading proto/context.proto +8 −0 Viewed Changes for proto/context.proto: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package context; import "google/protobuf/any.proto"; import "acl.proto"; import "ip_link.proto"; import "kpi_sample_types.proto"; service ContextService { Loading Loading @@ -347,6 +348,7 @@ enum ServiceTypeEnum { SERVICETYPE_L1NM = 8; SERVICETYPE_INT = 9; SERVICETYPE_ACL = 10; SERVICETYPE_IP_LINK = 11; } enum ServiceStatusEnum { Loading Loading @@ -560,11 +562,17 @@ message ConfigRule_ACL { acl.AclRuleSet rule_set = 2; } message ConfigRule_IP_LINK { EndPointId endpoint_id = 1; ip_link.IpLinkRuleSet rule_set = 2; } message ConfigRule { ConfigActionEnum action = 1; oneof config_rule { ConfigRule_Custom custom = 2; ConfigRule_ACL acl = 3; ConfigRule_IP_LINK ip_link = 4; } } Loading proto/ip_link.proto 0 → 100644 +22 −0 Viewed Changes for proto/ip_link.proto: 22 added lines, 0 removed lines. Original line number Diff line number Diff line // Copyright 2022-2025 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. syntax = "proto3"; package ip_link; message IpLinkRuleSet { string ip = 1; string mask = 3; string vlan = 4; } src/common/tools/object_factory/Service.py +10 −0 Viewed Changes for src/common/tools/object_factory/Service.py: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -93,3 +93,13 @@ def json_service_p4_planned( service_uuid, ServiceTypeEnum.SERVICETYPE_L1NM, context_id=json_context_id(context_uuid), status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, config_rules=config_rules) def json_service_iplink_planned( service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_NAME ): return json_service( service_uuid, ServiceTypeEnum.SERVICETYPE_IP_LINK, context_id=json_context_id(context_uuid), status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, config_rules=config_rules) src/common/type_checkers/Assertions.py +2 −0 Viewed Changes for src/common/type_checkers/Assertions.py: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ def validate_service_type_enum(message): 'SERVICETYPE_TAPI_CONNECTIVITY_SERVICE', 'SERVICETYPE_TE', 'SERVICETYPE_E2E', 'SERVICETYPE_IP_LINK' 'SERVICETYPE_OPTICAL_CONNECTIVITY', 'SERVICETYPE_QKD', ] Loading Loading @@ -152,6 +153,7 @@ def validate_uuid(message, allow_empty=False): CONFIG_RULE_TYPES = { 'custom', 'acl', 'ip_link' } def validate_config_rule(message): assert isinstance(message, dict) Loading src/context/service/database/models/enums/ServiceType.py +2 −1 Viewed Changes for src/context/service/database/models/enums/ServiceType.py: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -25,14 +25,15 @@ class ORM_ServiceTypeEnum(enum.Enum): UNKNOWN = ServiceTypeEnum.SERVICETYPE_UNKNOWN L3NM = ServiceTypeEnum.SERVICETYPE_L3NM L2NM = ServiceTypeEnum.SERVICETYPE_L2NM L1NM = ServiceTypeEnum.SERVICETYPE_L1NM TAPI_CONNECTIVITY_SERVICE = ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE TE = ServiceTypeEnum.SERVICETYPE_TE E2E = ServiceTypeEnum.SERVICETYPE_E2E OPTICAL_CONNECTIVITY = ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY QKD = ServiceTypeEnum.SERVICETYPE_QKD L1NM = ServiceTypeEnum.SERVICETYPE_L1NM INT = ServiceTypeEnum.SERVICETYPE_INT ACL = ServiceTypeEnum.SERVICETYPE_ACL IP_LINK = ServiceTypeEnum.SERVICETYPE_IP_LINK grpc_to_enum__service_type = functools.partial( grpc_to_enum, ServiceTypeEnum, ORM_ServiceTypeEnum) Loading
proto/context.proto +8 −0 Viewed Changes for proto/context.proto: 8 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package context; import "google/protobuf/any.proto"; import "acl.proto"; import "ip_link.proto"; import "kpi_sample_types.proto"; service ContextService { Loading Loading @@ -347,6 +348,7 @@ enum ServiceTypeEnum { SERVICETYPE_L1NM = 8; SERVICETYPE_INT = 9; SERVICETYPE_ACL = 10; SERVICETYPE_IP_LINK = 11; } enum ServiceStatusEnum { Loading Loading @@ -560,11 +562,17 @@ message ConfigRule_ACL { acl.AclRuleSet rule_set = 2; } message ConfigRule_IP_LINK { EndPointId endpoint_id = 1; ip_link.IpLinkRuleSet rule_set = 2; } message ConfigRule { ConfigActionEnum action = 1; oneof config_rule { ConfigRule_Custom custom = 2; ConfigRule_ACL acl = 3; ConfigRule_IP_LINK ip_link = 4; } } Loading
proto/ip_link.proto 0 → 100644 +22 −0 Viewed Changes for proto/ip_link.proto: 22 added lines, 0 removed lines. Original line number Diff line number Diff line // Copyright 2022-2025 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. syntax = "proto3"; package ip_link; message IpLinkRuleSet { string ip = 1; string mask = 3; string vlan = 4; }
src/common/tools/object_factory/Service.py +10 −0 Viewed Changes for src/common/tools/object_factory/Service.py: 10 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -93,3 +93,13 @@ def json_service_p4_planned( service_uuid, ServiceTypeEnum.SERVICETYPE_L1NM, context_id=json_context_id(context_uuid), status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, config_rules=config_rules) def json_service_iplink_planned( service_uuid : str, endpoint_ids : List[Dict] = [], constraints : List[Dict] = [], config_rules : List[Dict] = [], context_uuid : str = DEFAULT_CONTEXT_NAME ): return json_service( service_uuid, ServiceTypeEnum.SERVICETYPE_IP_LINK, context_id=json_context_id(context_uuid), status=ServiceStatusEnum.SERVICESTATUS_PLANNED, endpoint_ids=endpoint_ids, constraints=constraints, config_rules=config_rules)
src/common/type_checkers/Assertions.py +2 −0 Viewed Changes for src/common/type_checkers/Assertions.py: 2 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -113,6 +113,7 @@ def validate_service_type_enum(message): 'SERVICETYPE_TAPI_CONNECTIVITY_SERVICE', 'SERVICETYPE_TE', 'SERVICETYPE_E2E', 'SERVICETYPE_IP_LINK' 'SERVICETYPE_OPTICAL_CONNECTIVITY', 'SERVICETYPE_QKD', ] Loading Loading @@ -152,6 +153,7 @@ def validate_uuid(message, allow_empty=False): CONFIG_RULE_TYPES = { 'custom', 'acl', 'ip_link' } def validate_config_rule(message): assert isinstance(message, dict) Loading
src/context/service/database/models/enums/ServiceType.py +2 −1 Viewed Changes for src/context/service/database/models/enums/ServiceType.py: 2 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -25,14 +25,15 @@ class ORM_ServiceTypeEnum(enum.Enum): UNKNOWN = ServiceTypeEnum.SERVICETYPE_UNKNOWN L3NM = ServiceTypeEnum.SERVICETYPE_L3NM L2NM = ServiceTypeEnum.SERVICETYPE_L2NM L1NM = ServiceTypeEnum.SERVICETYPE_L1NM TAPI_CONNECTIVITY_SERVICE = ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE TE = ServiceTypeEnum.SERVICETYPE_TE E2E = ServiceTypeEnum.SERVICETYPE_E2E OPTICAL_CONNECTIVITY = ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY QKD = ServiceTypeEnum.SERVICETYPE_QKD L1NM = ServiceTypeEnum.SERVICETYPE_L1NM INT = ServiceTypeEnum.SERVICETYPE_INT ACL = ServiceTypeEnum.SERVICETYPE_ACL IP_LINK = ServiceTypeEnum.SERVICETYPE_IP_LINK grpc_to_enum__service_type = functools.partial( grpc_to_enum, ServiceTypeEnum, ORM_ServiceTypeEnum)