Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementing/Refactoring the VLAN assignment on L2 paths. #101

Closed
YufengXin opened this issue Mar 7, 2023 · 3 comments · Fixed by #120
Closed

Implementing/Refactoring the VLAN assignment on L2 paths. #101

YufengXin opened this issue Mar 7, 2023 · 3 comments · Fixed by #120
Assignees

Comments

@YufengXin
Copy link
Collaborator

We would assume every domain by default does VLAN translation on the border interfaces.
(1) Maintaining the VLAN resource pool: add/delete/reserved/released
(2) Assigning VLAN tags to the per-domain segments of computed paths.

@YufengXin
Copy link
Collaborator Author

FIU input: the vlan ranges on the two ports on an inter-domain link should be the same (pre-agreed upon by the admin). So (1) need a validation check when adding topologies on this; (2) vlan translation happens in a domain. vlan assignment becomes simpler after the path is obtained.
An manual configuration example over 3 domains (2 inter-domain links) from Mert/Itlo: the vlan path: 201-202-202-203-203-201.

Amlight domain

curl -H 'Content-type: application/json' -X POST $AMLIGHT/api/kytos/mef_eline/v2/evc -d '{"name": "AMLIGHT_vlan_201_202_Ampath_Tenet", "dynamic_backup_path": true, "uni_a": {"tag": {"value": 201, "tag_type": 1}, "interface_id": "aa:00:00:00:00:00:00:03:50"}, "uni_z": {"tag": {"value": 202, "tag_type": 1}, "interface_id": "aa:00:00:00:00:00:00:01:40"}}'

SAX domain

curl -H 'Content-type: application/json' -X POST $SAX/api/kytos/mef_eline/v2/evc -d '{"name": "SAX_vlan_202_203_Ampath_Tenet", "dynamic_backup_path": true, "uni_a": {"tag": {"value": 202, "tag_type": 1}, "interface_id": "dd:00:00:00:00:00:00:04:40"}, "uni_z": {"tag": {"value": 203, "tag_type": 1}, "interface_id": "dd:00:00:00:00:00:00:05:41"}}'

TENET domain

curl -H 'Content-type: application/json' -X POST $TENET/api/kytos/mef_eline/v2/evc -d '{"name": "TENET_vlan_201_203_Ampath_Tenet", "dynamic_backup_path": true, "uni_a": {"tag": {"value": 203, "tag_type": 1}, "interface_id": "cc:00:00:00:00:00:00:07:41"}, "uni_z": {"tag": {"value": 201, "tag_type": 1}, "interface_id": "cc:00:00:00:00:00:00:08:50"}}'

@YufengXin
Copy link
Collaborator Author

In this case, vlan assignment should be done after breakdown since the inter-domain links on the path become explicit.

@sajith sajith linked a pull request Jun 14, 2023 that will close this issue
@sajith
Copy link
Member

sajith commented Jun 21, 2023

This is in progress in #120. Breakdown looks like below, as of 5ced9d1.

{
    "urn:ogf:network:sdx:topology:zaoxi.net": {
        "name": "test-breakdown",
        "dynamic_backup_path": true,
        "uni_a": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:ogf:network:sdx:port:zaoxi:A1:2"
        },
        "uni_z": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:ogf:network:sdx:port:zaoxi:B1:1"
        }
    },
    "urn:ogf:network:sdx:topology:sax.net": {
        "name": "test-breakdown",
        "dynamic_backup_path": true,
        "uni_a": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:ogf:network:sdx:port:sax:B3:1"
        },
        "uni_z": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:ogf:network:sdx:port:sax:B1:1"
        }
    },
    "urn:ogf:network:sdx:topology:amlight.net": {
        "name": "test-breakdown",
        "dynamic_backup_path": true,
        "uni_a": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:sdx:port:amlight:B1:1"
        },
        "uni_z": {
            "tag": {
                "value": 10001,
                "tag_type": 1
            },
            "port_id": "urn:sdx:port:amlight.net:A1:1"
        }
    }
}

Note that interface_id has been renamed to port_id, because nothing is known to PCE by the name "interface". Also the tag values look funny -- looking into it.

YufengXin added a commit that referenced this issue Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants