XOS Provided API
ServicePorts
GET api/service/vtn/servicePorts list service ports including port details
GET api/service/vtn/servicePorts/{port_id} show service port details
Parameter | Type | Description |
id | UUID | UUID of the port |
vlan_id (optional) | number | VLAN ID of the port interface |
floating_address_pairs (optional) | list | Additional public IP addresses allowed to the port interface |
ip_address | string | Additional public IP address |
mac_address | string | Additional MAC address mapped to the public IP address |
Example json response: api/service/vtn/servicePorts
{ "servicePorts": [ { "id": "55d1b71f-efe2-455d-a78c-e48e9d3a4094", "vlan_id": null, "network_name": "one_access", "floating_address_pairs": [] }, { "id": "7098f0a8-cdcb-4bce-9706-05aecacb784b", "vlan_id": 222, "network_name": "mysite_vsg-access", "floating_address_pairs": [ { "ip_address": "20.0.0.3", "mac_address" : "fa:16:3e:ca:05:9c" } ] } ] }
Example json response: api/service/vtn/servicePorts/7098f0a8-cdcb-4bce-9706-05aecacb784b
{ "servicePort": { "id": "7098f0a8-cdcb-4bce-9706-05aecacb784b", "vlan_id": 222, "network_name": "mysite_vsg-access", "floating_address_pairs": [ { "ip_address": "20.0.0.3", "mac_address" : "fa:16:3e:ca:05:9c" } ] } }
ServiceNetworks
GET api/service/vtn/serviceNetworks list service networks including the details
GET api/service/vtn/serviceNetworks/{network_id} show service network details
Parameters | Type | Description |
id | UUID | UUID of the network |
type | string | service network type [ PRIVATE|PUBLIC|MANAGEMENT_LOCAL|MANAGEMENT_HOST|VSG|ACCESS_AGENT ]
|
providerNetworks | list | list of provider network IDs |
subscriberNetworks | list | list of tenant network IDs |
bidirectional | boolean | the dependency, which is bidirectional(true) or unidirectional(false) |
name | string | name of the network |
ownerSliceName | string | owner slice of this network |
ownerServiceName | string | owner service of this network |
Example json response: api/service/vtn/serviceNetworks
{ "serviceNetworks": [ { "id": "8ab38619-327e-47ce-9304-2c595c1b6708", "type": "management_local", "providerNetworks": [], "subscriberNetworks": [], "ownerSliceName": "mysite_management", "ownerServiceName": null }, { "id": "a14d7a6b-dffb-4271-8a17-5d715b362d1e", "type": "private", "providerNetworks": [ { "bidirectional": true, "id": "71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "name": "two_access" } ], "subscriberNetworks": [], "ownerSliceName": "mysite_one", "ownerServiceName": "service_one", } ] }
Example json response: api/service/vtn/serviceNetworks/a14d7a6b-dffb-4271-8a17-5d715b362d1e
{ "serviceNetwork": { "id": "a14d7a6b-dffb-4271-8a17-5d715b362d1e", "type": "private", "providerNetworks": [ { "bidirectional": true, "id": "71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "name": "two_access" } ], "subscriberNetworks": [], "ownerSliceName": "mysite_one", "ownerServiceName": "service_one", } }
VTN Provided API
ServicePorts
POST onos/cordvtn/servicePorts create a service port
GET onos/cordvtn/servicePorts list service ports including service port details
GET onos/cordvtn/servicePorts/{port_id} show service port details
DELETE onos/cordvtn/servicePorts/{port_id} delete a service port
Parameter | Type | Description |
* id | UUID | The UUID of the service port. |
* network_id | UUID | The UUID of the attached service network. |
* name | string | The name of the port on the switch. |
vlan_id | number | VLAN ID of the port interface. |
mac_address | string | The MAC address of the port interface. |
ip_address | string | The IP address of the port interface. |
floating_address_pairs | list | Additional public addresses allowed to the port interface. |
ip_address | string | Additional public IP address. |
mac_address | string | Additional MAC address mapped to the public IP address. |
* fields are mandatory for creating a new service port.
Example json request: onos/cordvtn/servicePorts POST
{ "ServicePort":{ "id":"b8ba3d85-1dec-49f9-8503-6f1b90399152", "network_id":"0f30807c-fce0-4fa5-9c36-99ff6d4d0ae1", "name":"tapb8ba3d85-1d", "vlan_id":222, "mac_address":"FA:16:3E:56:77:45", "ip_address":"10.0.2.2", "floating_address_pairs":[ { "ip_address":"10.6.1.131", "mac_address":"02:42:0A:06:01:83" }, { "ip_address":"10.6.1.130", "mac_address":"02:42:0A:06:01:82" } ] } }
Example json response: onos/cordvtn/servicePorts GET
{ "ServicePorts":[ { "id":"f4404de0-8068-45bf-988f-291d18be1216", "network_id":"6e8e39a6-4a5e-4389-9391-dbc14ba2b6ae", "name":"tapf4404de0-80", "mac_address":"FA:16:3E:6C:B9:07", "ip_address":"172.27.0.3", "floating_address_pairs":[] }, { "id":"e568f8e8-c029-45a7-8d3f-e71647341e43", "network_id":"94e67146-ffec-4308-8470-8c9f812460f4", "name":"tape568f8e8-c0", "mac_address":"FA:16:3E:58:43:F8", "ip_address":"10.6.1.194", "floating_address_pairs":[] }, { "id":"04245130-24d9-460f-913c-5f7144527b62", "network_id":"6e8e39a6-4a5e-4389-9391-dbc14ba2b6ae", "name":"tap04245130-24", "mac_address":"FA:16:3E:F2:5D:34", "ip_address":"172.27.0.2", "floating_address_pairs":[] }, { "id":"b8ba3d85-1dec-49f9-8503-6f1b90399152", "network_id":"0f30807c-fce0-4fa5-9c36-99ff6d4d0ae1", "name":"tapb8ba3d85-1d", "vlan_id":222, "mac_address":"FA:16:3E:56:77:45", "ip_address":"10.0.2.2", "floating_address_pairs":[ { "ip_address":"10.6.1.131", "mac_address":"02:42:0A:06:01:83" }, { "ip_address":"10.6.1.130", "mac_address":"02:42:0A:06:01:82" } ] }, { "id":"edc20f5e-86ed-480d-9589-813013a58eed", "network_id":"e4974238-448c-4b5c-9a45-b27c9477eb6a", "name":"tapedc20f5e-86", "mac_address":"FA:16:3E:96:06:30", "ip_address":"10.0.4.2", "floating_address_pairs":[] } ] }
Example json response: onos/cordvtn/servicePorts/b8ba3d85-1dec-49f9-8503-6f1b90399152 GET
{ "ServicePort":{ "id":"b8ba3d85-1dec-49f9-8503-6f1b90399152", "network_id":"0f30807c-fce0-4fa5-9c36-99ff6d4d0ae1", "name":"tapb8ba3d85-1d", "vlan_id":222, "mac_address":"FA:16:3E:56:77:45", "ip_address":"10.0.2.2", "floating_address_pairs":[ { "ip_address":"10.6.1.131", "mac_address":"02:42:0A:06:01:83" }, { "ip_address":"10.6.1.130", "mac_address":"02:42:0A:06:01:82" } ] } }
ServiceNetworks
POST onos/cordvtn/serviceNetworks create a service network
GET onos/cordvtn/serviceNetworks list service networks including the details
GET onos/cordvtn/serviceNetworks/{network_id} show service network details
PUT onos/cordvtn/serviceNetworks/{network_id} update a service network dependencies
DELETE onos/cordvtn/serviceNetworks/{network_id} delete a service network
Parameters | Type | Description |
* id | UUID | The UUID of the service network. |
name | string | The name of the service network. |
* type | string | The type of the service network [ PRIVATE|PUBLIC|MANAGEMENT_LOCAL|MANAGEMENT_HOST|VSG|ACCESS_AGENT ].
|
segment_id | integer | The ID of the isolated segment on the physical network. Currently, only VXLAN based isolation is supported and this ID is a VNI. |
subnet | string | The associated subnet. |
providers | list | The list of the provider service networks. |
id | string | The UUID of the provider service network. |
bidirectional | boolean | The dependency, which is bidirectional(true) or unidirectional(false). |
* fields are mandatory for creating a new service network.
Example json request: onos/cordvtn/serviceNetworks POST
{ "ServiceNetwork":{ "id":"e4974238-448c-4b5c-9a45-b27c9477eb6a", "name":"mysite_one-access", "type":"PRIVATE", "segment_id":1018, "subnet":"10.0.3.0/24", "service_ip":"10.0.3.1", "providers":[ { "id": "71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "bidirectional": true } ] } }
Example json response: onos/cordvtn/serviceNetworks GET
{ "ServiceNetworks":[ { "id":"0f30807c-fce0-4fa5-9c36-99ff6d4d0ae1", "name":"mysite_vsg-access", "type":"VSG", "segment_id":1082, "subnet":"10.0.2.0/24", "service_ip":"10.0.2.1", "providers":[] }, { "id":"6e8e39a6-4a5e-4389-9391-dbc14ba2b6ae", "name":"management", "type":"MANAGEMENT_LOCAL", "segment_id":1096, "subnet":"172.27.0.0/24", "service_ip":"172.27.0.1", "providers":[] }, { "id":"e4974238-448c-4b5c-9a45-b27c9477eb6a", "name":"mysite_one-access", "type":"PRIVATE", "segment_id":1018, "subnet":"10.0.3.0/24", "service_ip":"10.0.3.1", "providers":[ { "id": "71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "bidirectional": true } ] }, { "id":"71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "name":"mysite_two-access", "type":"PRIVATE", "segment_id":1019, "subnet":"10.0.4.0/24", "service_ip":"10.0.4.1", "providers":[] }, { "id":"94e67146-ffec-4308-8470-8c9f812460f4", "name":"public", "type":"PUBLIC", "segment_id":1047, "subnet":"10.6.1.192/26", "service_ip":"10.6.1.193", "providers":[] } ] }
Example json response: onos/cordvtn/serviceNetworks/e4974238-448c-4b5c-9a45-b27c9477eb6a GET
{ "ServiceNetwork":{ "id":"e4974238-448c-4b5c-9a45-b27c9477eb6a", "name":"mysite_one-access", "type":"PRIVATE", "segment_id":1018, "subnet":"10.0.3.0/24", "service_ip":"10.0.3.1", "providers":[ { "id": "71cc8c93-f809-42ff-b1d6-0c8d92c6cd2b", "bidirectional": true } ] } }