Commit 2d982365 authored by Javier Velázquez's avatar Javier Velázquez
Browse files

Merge branch 'feat/3-challenge-3-l2vpn-support' of...

Merge branch 'feat/3-challenge-3-l2vpn-support' of https://labs.etsi.org/rep/tfs/nsc into feat/3-challenge-3-l2vpn-support
parents c9ae55eb fc16b406
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -12,10 +12,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# This file includes original contributions from Telefonica Innovación Digital S.L.

import logging, os, json

# Default logging level
DEFAULT_LOGGING_LEVEL = logging.INFO

+51 −33
Original line number Diff line number Diff line
@@ -850,9 +850,27 @@ class NSController:
        # TODO (should be dynamically determined)
        origin_router_id = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][0]["attachment-circuits"]["attachment-circuit"][0]["sdp-peering"]["peer-sap-id"]
        origin_router_if = 'eth2'
        origin_router_if = 'eth2'
        destination_router_id = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][1]["attachment-circuits"]["attachment-circuit"][0]["sdp-peering"]["peer-sap-id"]
        destination_router_if = '0/0/0-GigabitEthernet0/0/0/0'

        # Extract QoS Profile from intent
        QoSProfile = ietf_intent["ietf-network-slice-service:network-slice-services"]["slo-sle-templates"]["slo-sle-template"][0]["id"]
        vlan_value = 0
        self.__load_template(2, os.path.join(TEMPLATES_PATH, "ietfL2VPN_template.json"))
        tfs_request = json.loads(str(self.__teraflow_template))
        full_id = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["id"]
        uuid_only = full_id.split("slice-service-")[-1]
        tfs_request["ietf-l2vpn-svc:vpn-service"][0]["vpn-id"] = uuid_only
        for site in tfs_request["ietf-l2vpn-svc:vpn-service"][0]["site"]:
            if site is tfs_request["ietf-l2vpn-svc:vpn-service"][0]["site"][0]:
                site["site-id"] = origin_router_id
                site["site-location"] = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][0]["node-id"]
                site["site-network-access"]["interface"]["ip-address"] = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][0]["sdp-ip-address"]
            else:
                site["site-id"] = destination_router_id
                site["site-location"] = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][1]["node-id"]
                site["site-network-access"]["interface"]["ip-address"] = ietf_intent["ietf-network-slice-service:network-slice-services"]["slice-service"][0]["sdps"]["sdp"][1]["sdp-ip-address"]
            # Extract QoS Profile from intent
            QoSProfile = ietf_intent["ietf-network-slice-service:network-slice-services"]["slo-sle-templates"]["slo-sle-template"][0]["id"]
            vlan_value = 0