The Juniper Networks NorthStar API enables querying of topology, management of topology planning parameters, and management of TE-LSP.
NorthStar API v2 was introduced in NorthStar Controller version 2.1 for id/name separation and is not backwards compatible with v1.
This version allows node and link objects to have separate names and ids. You, as the API user, can control names, while ids are under NorthStar control.
NorthStar 4.3 introduces the followong REST API changes:
New APIs:
LSP Containers: Controller-Based TE++
Access to node BGP routing tables (read-only)
P2MP: P2MP Trees can be provisoned using PCEP.
EPE (Egress Peer Engineering) related changes:
NETCONF-Created SR-TE LSPs support a color attribute (colored SR-TE policy)
Demands can be mapped to SR-TE LSPs (parameter: bindingLSP)
A new parameter usePenultimateHopAsSignalingAddress, allows the use the penultimate hop as destination address for the router. This is introduced becasye SR-TE LSPs used for traffic steering have their Traffic Engineering destinaton towards the remote ASBR, but they should appear as ending on the ASBR.
Support for IOS-XR and GENERIC in device profile.
Upon notification burst, a summary notification (for lsp, demands, node or links) will be sent instead of individual notifications, the recever should consider that the complete set of respective resources has been updated.
P2MP groups and SRLG/Facilities are available through the API since NorthStar 4.2 , and you can use a notification from NorthStar Controller to dynamically push updates to REST API clients.
Use the P2MP REST API calls to create P2MP groups and manage the following P2MP group common attributes:
Bandwidth
Setup/Holding Priority
Coloring Attributes
You can use the TE-LSP API calls or the new P2MP REST API calls to delete the P2MP branches. For more information, see the P2MP section
You access the API through the NorthStar server (as in northstar.example.net), through HTTP port 8091 and HTTPS port 8443, on base URLs like the following:
http://northstar.example.net:8091/NorthStar/API/
https://northstar.example.net:8443/NorthStar/API/
All of the NorthStar RESTful APIS use JSON-formatted data that conforms to the JSON-Schema specification. The main schema is topology_v2.json , and it contains links to the other data types. All schema can be found in this archive. Common data types are described in common.json . The following kinds of data and functionality are accessible and can be manipulated using the RESTful API:
Nodes: communication endpoints.
Links: lines or channels through which data is transmitted.
Topology: A collection of nodes and links.
TE-LSPs: Traffic-engineered label-switched paths.
NorthStar Controller Management, including High Availability status and prefs, and Transport Controllers
You will find some example code associated with the API reference information. In addition, several examples that illustrate common usage can be found later in this document . In our example requests, we use HTTP, however the same functionality is available over HTTPS.
Existing REST APIs that reference plannedProperties/operationalStatus needs to be changed to plannedProperties/routingStatus as backwards compatibility will not be maintained from this release going forward. The reason for the change is based on the feedback from users that under plannedProperties, routingStatus would be more clear than operationalStatus. For an example, please see "LSP update example" under TE-LSPs events section below.
NorthStar provides a
socket.io
interface on which object updates are sent.
The socket.io namespace used is /restNotifications-v2, and the list of events is described in
Event | Schema | Description |
---|---|---|
topologyEvent | topology_v2.json#/definitions/topologyNotification | Event affecting the complete topology, for instance when the administrator does a topology reset or resync. The notification sent can be as follows. First an add notification with empty topology indicating that the Topology has been re-synched or reseted. Second an update notification with a topology object containing only node or link set. This indicates that the complete node (resp. link) should be re-synched. This may happen in high-load situation where the notification rate is too big (northstar.cfg *_state_refresh_threshold). |
nodeEvent | topology_v2.json#/definitions/nodeNotification | Node event notification. |
linkEvent | topology_v2.json#/definitions/linkNotification | Link event notification. |
lspEvent | topology_v2.json#/definitions/lspNotification | TE-LSP event notification. |
lspTopologyEvent | topology_v2.json#/definitions/lspTopologyEvent | This notification is sent when there is a burst of LSP notification, it indicates that the complete set of TE-LSPs is potentially changed. See northstar.cfg lsp_state_refresh_threshold |
demandEvent | topology_v2.json#/definitions/demandNotification | Demand event notification. |
demandTopologyEvent | topology_v2.json#/definitions/lspTopologyEvent | This notification is sent when there is a burst of LSP or demand notification, it indicates that the complete set of TE-LSPs is potentially changed. See northstar.cfg lsp_state_refresh_threshold (This is intentionally the same as TE-LSPs). |
p2mpEvent | topology_v2.json#/definitions/p2mpGroupNotification | P2MP group event notification. The lsp in the update are reduced to their lspIndex to reduce the size of the event |
facilityEvent | topology_v2.json#/definitions/facilityNotification | Facility/SRLG event notification. |
teContainerEvent | topology_v2.json#/definitions/containerNotification | TE Container event notification. |
maintenanceEvent | topology_v2.json#/definitions/maintenanceNotification | Maintenance resource notification. |
haEvent | topology_v2.json#/definitions/haHostNotification | Node state event notification. Only update (no add or remove) events are supported. The notification does not include the list of processes and only contains operational information. |
healthEvent | topology_v2.json#/definitions/healthNotification | Node health event notification. Only update (no add or remove) events are supported. The notifications include utilization of CPU, disk, memory that exceed certain threshold, and processes status. |
componentStatus | topology_v2.json#/definitions/statusComponentNotification | Indicating LSP reconciliation during NS bringup or Switchover. |
The following example is a simple python client for receiving all NorthStar Notifications:
#!/usr/bin/env python
from socketIO_client import SocketIO, BaseNamespace
import requests,json,sys
serverURL = 'https://northstar.example.net'
username = 'user'
password = 'password'
class NSNotificationNamespace(BaseNamespace):
def on_connect(self):
print('Connected to %s:8443/restNotifications-v2'%serverURL)
def on_event(key,name,data):
print "NorthStar Event: %r,data:%r"%(name,json.dumps(data))
# First use NorhtStar OAuth2 authentication API to get a token
payload = {'grant_type': 'password','username': username,'password': password}
r = requests.post(serverURL + ':8443/oauth2/token',data=payload,verify=False,auth=(username, password))
data =r.json()
if "token_type" not in data or "access_token" not in data:
print "Error: Invalid credentials"
sys.exit(1)
headers= {'Authorization': "{token_type} {access_token}".format(**data)}
socketIO = SocketIO(serverURL, 8443,verify=False,headers= headers)
ns = socketIO.define(NSNotificationNamespace, '/restNotifications-v2')
socketIO.wait()
Use the endpoints to retrieve the following information:
Topology list
Node list
Links
TE-LSPs
Demands
Facilities
P2MP group
TE-Containers
Maintenances
Interfaces
Component status
Topology status
The topology schema is: topology_v2.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/topologies [GET: get a list of topologies]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id> [GET: get all Nodes and Links]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/< topology-id>/status [GET: get status of all NorthStar components]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/status/multilayerTopology [GET: get multi-layer topology status]
Returns a list of the topologies that are available.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"topologyIndex": 1,
"topoObjectType": "topology"
}
]
This operation does not accept a request body.
Lists topological elements. The example shows three nodes, and two point-to-point links between node 11 and node 8. One node is PCEP-enabled (node 8, name 62.0.0.104) and one node is a pseudo node (node 2). A pseudo node does not have router-ids in its protocol object. It's pseudoNode attribute set to TRUE.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"links": [
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.104",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000}
},
"srlgs": [{"srlgValue": 407 }],
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9489999872, 9489999872, 9489999872, 9489999872 ]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.107",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [ { "srlgValue": 407 }]
},
"RSVP": {"bandwidth": 10000000000 }
},
"srlgs": [{"srlgValue": 407}],
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616,9989999616,9489999872]
},
"linkIndex": 6,
"name": "L62.104.107.1_62.104.107.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.114.117.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.104",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": { "bandwidth": 10000000000 }
},
"srlgs": [{"srlgValue": 407} ],
"topoObjectType": "interface",
"unreservedBw": [ 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000, 10000000000]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.114.117.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.107",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000}
},
"srlgs": [{"srlgValue": 407}],
"topoObjectType": "interface",
"unreservedBw": [9600000000,600000000,9600000000,9600000000,9600000000,9600000000,9600000000,9600000000]
},
"linkIndex": 7,
"name": "L62.114.117.1_62.114.117.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
],
"nodes": [
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx104-62",
"layer": "IP",
"name": "62.0.0.104",
"nodeIndex": 8,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.104",
"area": "490062",
"isoAddress": "0620.0000.0104",
"routerId": "62.0.0.104"
},
"PCEP": {
"pccAddress": "62.0.0.104"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p107",
"layer": "IP",
"name": "62.0.0.107",
"nodeIndex": 11,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.107",
"area": "490062",
"isoAddress": "0620.0000.0107",
"routerId": "62.0.0.107"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"name": "0620.0000.0101.02",
"nodeIndex": 2,
"AutonomousSystem": {"asNumber": 62},
"layer": "IP",
"pseudoNode": true,
"protocols": {
"ISIS": { }
}
}
],
"topoObjectType": "topology",
"topologyIndex": 1
}
This operation does not accept a request body.
Deletes all of the topology planned data. The information acquired through BGP-LS reappears immediately.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
This operation does not accept a request body and does not return a response body.
Returns the status of all NorthStar components.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
Returns the following JSON document: topology_v2.json#/definitions/componentStatusList .
[
{
"component": "PCE",
"status": "PCE is up.",
"statusTimestamp": 1468006441666,
"statusTimestampTime": "2016-07-08T19:34:01.666Z"
},
{
"component": "Topology acquisition",
"status": "Connected to NTAD: 172.16.16.2 port: 450",
"statusTimestamp": 1468006441632,
"statusTimestampTime": "2016-07-08T19:34:01.632Z"
},
{
"component": "Path Computation Server",
"status": "Active Path Stat: 3 up 0 down 0 detoured 0 being provisioned. Link Stat: 19 up 0 down. Node Stat: 7 active nodes, 0 PCC nodes",
"statusTimestamp": 1468153795771,
"statusTimestampTime": "2016-07-10T12:29:55.771Z"
},
{
"component": "Transport Topology acquisition",
"status": "Up",
"childs": [
{
"status": "Up; current peer: hostname='' ip='192.0.2.10'",
"statusTimestamp": 1468153845392,
"statusTimestampTime": "2016-07-10T12:30:45.392062Z",
"component": "VendorX"
}
],
"statusTimestamp": 1468153853495,
"statusTimestampTime": "2016-07-10T12:30:53.495Z"
}
]
This operation does not accept a request body.
Returns the status of the PCEP protocol adapter component.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "PCE",
"status": "PCE is up.",
"statusTimestamp": 0
}
This operation does not accept a request body.
Returns the status of the Network Topology Acquisition Daemon (NTAD, BGP-LSP protocol adapter) component.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "Topology acquisition",
"status": "Connected to NTAD: 62.105.199.2 port: 450",
"statusTimestamp": 1427167092212
}
This operation does not accept a request body.
Returns the status of the Path Computation Server component.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "Path Computation Server",
"status": "Active Path Stat: 3 up 0 down 0 detoured 0 being provisioned. Link Stat: 19 up 0 down. Node Stat: 7 active nodes, 0 PCC nodes",
"statusTimestamp": 1468153795771,
"statusTimestampTime": "2016-07-10T12:29:55.771Z"
}
This operation does not accept a request body.
Returns the status of the Transport Network Topology Acquisition Daemon.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "Transport Topology acquisition",
"status": "Up",
"childs": [
{
"status": "Up; current peer: hostname='' ip='192.0.2.10'",
"statusTimestamp": 1468153845392,
"statusTimestampTime": "2016-07-10T12:30:45.392062Z",
"component": "VendorX"
}
],
"statusTimestamp": 1468153853495,
"statusTimestampTime": "2016-07-10T12:30:53.495Z"
}
This operation does not accept a request body.
Returns the status of the analytics data collection.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "Analytics data collection",
"status": "host=pcs-server, status=OK",
"statusTimestampTime": "2017-07-27T04:09:05.239Z",
"statusTimestamp": 1501128545239
}
This operation does not accept a request body.
Returns the status of the analytics data collection database.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"component": "Analytics database",
"status": "Analytics Database Status:green Cluster NorthStar nodes count:1 (1 data nodes)",
"statusTimestamp": 1501129483764,
"statusTimestampTime": "2017-07-27T04:24:43.764Z"
}
This operation does not accept a request body.
Use these endpoints for access to the nodes retrieved through BGP-LS and planned nodes.
The node schema is: node_v2.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes [GET : get all nodes, POST : create a new node]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/search URL parameters : name, AS, queryType=OR [ GET : search nodes (name/as)]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/<nodeIndex> [ GET : get node, POST : modify node , DELETE]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/nodes/<nodeIndex>/history [ GET : node history]
Returns a full list of nodes.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"AutonomousSystem": {"asNumber": 62},
"layer": "IP",
"name": "0620.0000.0101.02",
"nodeIndex": 2,
"protocols": {
"ISIS": {}
},
"pseudoNode": true,
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx101-62",
"layer": "IP",
"name": "62.0.0.101",
"nodeIndex": 1,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.101",
"area": "490062",
"isoAddress": "0620.0000.0101",
"routerId": "62.0.0.101"
},
"PCEP": {
"pccAddress": "62.0.0.101"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p105",
"layer": "IP",
"name": "62.0.0.105",
"nodeIndex": 9,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.105",
"area": "490062",
"isoAddress": "0620.0000.0105",
"routerId": "62.0.0.105"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p106",
"layer": "IP",
"name": "62.0.0.106",
"nodeIndex": 10,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.106",
"area": "490062",
"isoAddress": "0620.0000.0106",
"routerId": "62.0.0.106"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p107",
"layer": "IP",
"name": "62.0.0.107",
"nodeIndex": 11,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.107",
"area": "490062",
"isoAddress": "0620.0000.0107",
"routerId": "62.0.0.107"
}
},
"topology": {
"coordinates": {
"type": "Point",
"coordinates": [-0.025,-49.459999]
}
}
"topoObjectType": "node",
"topologyIndex": 1
}
]
This operation does not accept a request body.
Creates a planned node using the following schema: node_v2.json#/definitions/createNode .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The following JSON sample shows the minimum required information to add a planned node. The Following parameters are required:
Attribute | Type | Description | Fixed |
---|---|---|---|
name | string | No | Node Name |
topologyIndex | integer | Yes | 1 |
topoObjectType | string | Yes | node |
The following parameters can be set:
Name
Autonomous System
management address
hostName
nodeType
design parameter: canFail
Node coordinates
{
"name": "PlannedNode",
"topoObjectType": "node",
"topologyIndex": 1
}
{
"layer": "IP",
"name": "PlannedNode",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1
}
Searches the list of nodes for specific URI parameters. For example, search?name=62.0.0.101 must return one node.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
name (Optional) | query | xsd:string |
Filters on node name. The parameter is treated as a regular expression. Simple strings such as 62.0.0.101 are accepted. JavaScript regexp (for example, /^62/) is also accepted. |
hostName (Optional) | query | xsd:int |
Filters on hostname |
AS (Optional) | query | xsd:int |
Filters on AS number |
queryType (Optional) | query | xsd:string |
The queryType parameter sets the logical operator to be used between the query parameters. By default, the queryType is AND. If queryType is set to OR, node is included in the result if any of the query parameters matches. |
[
{
"AutonomousSystem": {"asNumber": 62},
"layer": "IP",
"name": "0620.0000.0101.02",
"nodeIndex": 2,
"protocols": {
"ISIS": {}
},
"pseudoNode": true,
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx101-62",
"layer": "IP",
"name": "62.0.0.101",
"nodeIndex": 1,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.101",
"area": "490062",
"isoAddress": "0620.0000.0101",
"routerId": "62.0.0.101"
},
"PCEP": {
"pccAddress": "62.0.0.101"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p105",
"layer": "IP",
"name": "62.0.0.105",
"nodeIndex": 9,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.105",
"area": "490062",
"isoAddress": "0620.0000.0105",
"routerId": "62.0.0.105"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p106",
"layer": "IP",
"name": "62.0.0.106",
"nodeIndex": 10,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.106",
"area": "490062",
"isoAddress": "0620.0000.0106",
"routerId": "62.0.0.106"
}
},
"topoObjectType": "node",
"topologyIndex": 1
},
{
"AutonomousSystem": {"asNumber": 62},
"hostName": "vmx105-62-p107",
"layer": "IP",
"name": "62.0.0.107",
"nodeIndex": 11,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.107",
"area": "490062",
"isoAddress": "0620.0000.0107",
"routerId": "62.0.0.107"
}
},
"topology": {
"coordinates": {
"type": "Point",
"coordinates": [-0.025,-49.459999]
}
}
"topoObjectType": "node",
"topologyIndex": 1
}
]
Returns details for a node.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
nodeIndex | URI | xsd:int |
The unique nodeIndex. |
{
"AutonomousSystem": {
"asNumber": 62
},
"hostName": "vmx101-62",
"layer": "IP",
"name": "62.0.0.101",
"nodeIndex": 1,
"protocols": {
"ISIS": {
"TERouterId": "62.0.0.101",
"area": "490062",
"isoAddress": "0620.0000.0101",
"routerId": "62.0.0.101"
},
"PCEP": {
"pccAddress": "62.0.0.101"
}
},
"topoObjectType": "node",
"topologyIndex": 1
}
This operation does not accept a request body.
Updates a node using the following schema: node_v2.json#/definitions/updateNode
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
nodeIndex | URI | xsd:int |
The unique nodeIndex. |
{
"layer": "IP",
"name": "PlannedNode",
"hostName" : "plannedNode.domain.example.com",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1,
}
{
"layer": "IP",
"name": "PlannedNode",
"hostName" : "plannedNode.domain.example.com",
"nodeIndex": 12,
"protocols": {},
"topoObjectType": "node",
"topologyIndex": 1,
}
Deletes a node. (You cannot delete a live node; it reappears on the next update from Topology server.)
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
nodeIndex | URI | xsd:int |
The unique nodeIndex. |
This operation does not accept a request body and does not return a response body.
Returns the event history for a node.
The history contains a list of Unix-timestamped events for the node resource.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
nodeIndex | URI | xsd:int |
The unique nodeIndex. |
start (Optional) | query | xsd:int |
Start timestamp: Include events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"topoObjectType": "node",
"topologyIndex": 1,
"name": "62.0.0.101",
"nodeIndex": 1,
"AutonomousSystem": {
"asNumber": 62
},
"layer": "IP",
"protocols": {
"ISIS": {
"routerId": "62.0.0.101",
"TERouterId": "62.0.0.101",
"isoAddress": "0620.0000.0101",
"area": "490062"
}
},
"hostName": "vmx101-62",
"timestamp": 1427130726939
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"name": "62.0.0.101",
"nodeIndex": 1,
"AutonomousSystem": {
"asNumber": 62
},
"layer": "IP",
"protocols": {
"ISIS": {
"routerId": "62.0.0.101",
"TERouterId": "62.0.0.101",
"isoAddress": "0620.0000.0101",
"area": "490062"
}
},
"hostName": "vmx101-62",
"timestamp": 1427130727025
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"name": "62.0.0.101",
"nodeIndex": 1,
"AutonomousSystem": {
"asNumber": 62
},
"layer": "IP",
"protocols": {
"ISIS": {
"routerId": "62.0.0.101",
"TERouterId": "62.0.0.101",
"isoAddress": "0620.0000.0101",
"area": "490062"
}
},
"hostName": "vmx101-62",
"timestamp": 1427135395317
},
{
"topoObjectType": "node",
"topologyIndex": 1,
"name": "62.0.0.101",
"nodeIndex": 1,
"AutonomousSystem": {
"asNumber": 62
},
"layer": "IP",
"protocols": {
"ISIS": {
"routerId": "62.0.0.101",
"TERouterId": "62.0.0.101",
"isoAddress": "0620.0000.0101",
"area": "490062"
}
},
"hostName": "CHI",
"topology": {
"coordinates": {
"type": "Point",
"coordinates": [
4.29167,
2.9
]
}
},
"timestamp": 1427168112286
}
]
Use these endpoints for access to links and information about them.
The link schema is: link_v2.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links [GET : get all links, POST: create link]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/search URL parameters : name, address, queryType=OR [ GET : search links )]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/<linkId> [GET: get property, PUT: modify link, DELETE]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/links/<linkId>/history [GET : get link history]
Returns a full list of links.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The example shows three links:
One point-to-point link (link #6, named "L62.104.107.1_62.104.107.2").
Two broadcast links (link 1 and 8). Broadcast links do not have protocols on one end (pseudo node end).
[
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.104",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000 }
},
"srlgs": [{"srlgValue": 407}]
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9489999872, 9489999872, 9489999872, 9489999872]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.107",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000}
},
"srlgs": [{"srlgValue": 407}]
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9489999872]
},
"linkIndex": 6,
"name": "L62.104.107.1_62.104.107.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"node": {
"topoObjectType": "node",
"name": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.101",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 100}]
},
"RSVP": {"bandwidth": 40000000000}
},
"srlgs": [{"srlgValue": 100}]
"topoObjectType": "interface",
"unreservedBw": [39990001664, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848]
},
"linkIndex": 1,
"name": "L_62.101.105.1",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"node": {
"topoObjectType": "node",
"name": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.105",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {"bandwidth": 40000000000}
},
"topoObjectType": "interface",
"unreservedBw": [39570001920, 39570001920, 39570001920, 39070003200, 38570004480, 38570004480, 38570004480, 38570004480]
},
"linkIndex": 8,
"name": "L_62.101.105.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
]
This operation does not accept a request body.
Creates a planned link using optional and required parameters defined in the following schema: link_v2.json#/definitions/createLink .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The example shows the creation of a numbered 40G planned link between node 62.0.0.102 and PlannedNode.
Attribute | Type | Description | Fixed |
---|---|---|---|
endA/node | string | No | Link source node |
endZ/node | string | No | Link destination node |
topologyIndex | integer | Yes | 1 |
topoObjectType | string | Yes | link |
{
"topoObjectType": "link",
"topologyIndex": 1,
"endA": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node","name": "62.0.0.102","topologyIndex": 1
},
"ipv4Address": { "topoObjectType": "ipv4","address": "62.102.166.1"},
"bandwidth": 40000000000,
"TEmetric": 10,
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
}
},
"endZ": {
"topoObjectType": "interface",
"node": {
"topoObjectType": "node", "name": "PlannedNode","topologyIndex": 1
},
"ipv4Address": { "topoObjectType": "ipv4","address": "62.102.166.2"},
"bandwidth": 40000000000,
"TEmetric": 10,
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
}
}
}
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.102.166.1_62.102.166.2",
"operationalStatus": "Planned",
"linkIndex": 16,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.102.166.1"},
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
},
"bandwidth": 40000000000,
"node": {"topoObjectType": "node","name": "62.0.0.102","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.102.166.2"},
"protocols": {
"RSVP": {
"bandwidth": 40000000000
}
},
"bandwidth": 40000000000,
"node": {"topoObjectType": "node","name": "PlannedNode","topologyIndex": 1}
}
}
Searches the link list based on URI parameters. For example, search?name=62.101.105 must return one Link.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
name (Optional) | query | xsd:string |
Filters based on the link name. The parameter is treated as a regular expression. Simple strings such as L62 are accepted. JavaScript regexp (for example, /^L62/) is also accepted |
address (Optional) | query | xsd:string |
Filters based on the link address (endA/ipv4Address/address and endZ/ipv4Address/address). |
queryType (Optional) | query | xsd:string |
The queryType parameter sets the logical operator to be used between the query parameters. By default, the queryType is AND. If the queryType is set to OR, a link is included in the results if any of the query parameters matches. |
[
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.104",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000 }
},
"srlgs": [{"srlgValue": 407}]
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9489999872, 9489999872, 9489999872, 9489999872]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 10000000000,
"ipv4Address": {
"address": "62.104.107.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.107",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 407}]
},
"RSVP": {"bandwidth": 10000000000}
},
"srlgs": [{"srlgValue": 407}]
"topoObjectType": "interface",
"unreservedBw": [9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9989999616, 9489999872]
},
"linkIndex": 6,
"name": "L62.104.107.1_62.104.107.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"node": {
"topoObjectType": "node",
"name": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.1",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.101",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"srlgs": [{"srlgValue": 100}]
},
"RSVP": {"bandwidth": 40000000000}
},
"srlgs": [{"srlgValue": 100}]
"topoObjectType": "interface",
"unreservedBw": [39990001664, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848, 39489998848]
},
"linkIndex": 1,
"name": "L_62.101.105.1",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
},
{
"endA": {
"node": {
"topoObjectType": "node",
"name": "0620.0000.0101.02",
"topologyIndex": 1
}
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "62.101.105.2",
"topoObjectType": "ipv4"
},
"node": {
"name": "62.0.0.105",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {"bandwidth": 40000000000}
},
"topoObjectType": "interface",
"unreservedBw": [39570001920, 39570001920, 39570001920, 39070003200, 38570004480, 38570004480, 38570004480, 38570004480]
},
"linkIndex": 8,
"name": "L_62.101.105.2",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
]
Returns the details for a link.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
{
"endA": {
"TEcolor": 0,
"TEmetric": 10,
"delay" : 600,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "192.0.2.13",
"topoObjectType": "ipv4"
},
"node": {
"id": "192.0.2.3",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {
"bandwidth": 40000000000
}
},
"topoObjectType": "interface",
"unreservedBw": [39970000896, 39970000896, 39970000896, 39469998080, 39469998080, 39469998080, 39469998080, 39469998080]
},
"endZ": {
"TEcolor": 0,
"TEmetric": 10,
"delay": 600,
"bandwidth": 40000000000,
"ipv4Address": {
"address": "192.0.2.14",
"topoObjectType": "ipv4"
},
"node": {
"id": "192.0.2.7",
"topoObjectType": "node",
"topologyIndex": 1
},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2"
},
"RSVP": {
"bandwidth": 40000000000
}
},
"unreservedBw": [39289999360, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640, 38790000640]
},
"linkIndex": 1,
"id": "L192.0.2.13_192.0.2.14",
"operationalStatus": "Up",
"topoObjectType": "link",
"topologyIndex": 1
}
This operation does not accept a request body.
Updates a planned link using the optional and required parameters defined in the following schema: link_v2.json#/definitions/updateLink .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
The following example sets the link delay for the link L62.103.107.1_62.103.107.2
{
"topoObjectType":"link", "topologyIndex":1,
"linkIndex":4,
"endA":{
"topoObjectType":"interface",
"ipv4Address" : {"topoObjectType":"ipv4","address":"62.103.107.1"},
"protocols":{
"ISIS" : {
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.103","topologyIndex":1}
},"endZ" : {
"topoObjectType":"interface",
"ipv4Address":{"topoObjectType":"ipv4","address":"62.103.107.2"},
"protocols":{
"ISIS":{
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.107","topologyIndex":1}
}
}
{
"topoObjectType":"link", "topologyIndex":1,
"name":"L62.103.107.1_62.103.107.2",
"linkIndex":4,
"operationalStatus": "Up",
"endA":{
"topoObjectType":"interface",
"ipv4Address" : {"topoObjectType":"ipv4","address":"62.103.107.1"},
"protocols":{
"ISIS" : {
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.103","topologyIndex":1}
},"endZ" : {
"topoObjectType":"interface",
"ipv4Address":{"topoObjectType":"ipv4","address":"62.103.107.2"},
"protocols":{
"ISIS":{
"TEMetric":10,
"level":"L2",
"metric":10
},
"RSVP":{"bandwidth":40000000000}
},
"bandwidth":40000000000,
"TEmetric":10,
"TEcolor":0,
"delay":600,
"node":{"topoObjectType":"node","name":"62.0.0.107","topologyIndex":1}
}
}
Deletes a link. Live links reappear on the next update from the Topology server.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
This operation does not accept a request body and does not return a response body.
Returns the history for a Link.
The history contains a list of Unix-timestamped events for the link resource.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
linkIndex | URI | xsd:int |
The unique linkIndex. |
start (Optional) | query | xsd:int |
Start timestamp: Include events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.103.107.1_62.103.107.2",
"operationalStatus": "Up",
"linkIndex": 4,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.1" },
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [40000000000,40000000000,40000000000,40000000000,40000000000,40000000000,40000000000,40000000000],
"node": {"topoObjectType": "node","name": "62.0.0.103","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.2"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39469998080,38969999360,38470000640,38470000640,37970001920,37970001920,37970001920,37970001920],
"node": {"topoObjectType": "node","name": "62.0.0.107","topologyIndex": 1}
},
"timestamp": 1427129349771
},
{
"topoObjectType": "link",
"topologyIndex": 1,
"name": "L62.103.107.1_62.103.107.2",
"operationalStatus": "Up",
"linkIndex": 4,
"endA": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.1"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39970000896,39970000896,39970000896,38470000640,38470000640,38470000640,38470000640,38470000640],
"node": {"topoObjectType": "node","name": "62.0.0.103","topologyIndex": 1}
},
"endZ": {
"topoObjectType": "interface",
"ipv4Address": {"topoObjectType": "ipv4","address": "62.103.107.2"},
"protocols": {
"ISIS": {
"TEMetric": 10,
"level": "L2",
"metric": 10
},
"RSVP": {"bandwidth": 40000000000}
},
"bandwidth": 40000000000,
"TEmetric": 10,
"TEcolor": 0,
"unreservedBw": [39469998080,38969999360,38470000640,38470000640,37970001920,37970001920,37970001920,37970001920],
"node": {"topoObjectType": "node","name": "62.0.0.107","topologyIndex": 1}
},
"timestamp": 1427129349871
}
]
Use these endpoints to access TE-LSPs and the related information.
The TE-LSP schema is: lsp.json .
You can perform the following operations using the TE-LSP endpoints:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/ [GET : get all te-lsps, POST : create one LSP]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/search search parameters : name={nameFilter}, from={fromIpV4} operStatus={operationalStatus} queryType=OR [ GET : search LSPs ()]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/bulk Bulk LSP operations: allows to create/update/delete a list of te-lsps [ POST : create LSPs , PUT/PATCH : update lsps, DELETE : delete]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<lspIndex> [ GET : get te-lsp, PUT/PATCH : update, DELETE : delete]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<lspIndex>/history [ GET : get historical index of te-lsps]
Note: Use this API to create point-to-point LSPs only. The API supports RSVP and SR LSPs. Starting from Northstar release 4.1 onwards, binding SID SR LSPs are supported. Do not use this API to create the P2MP members. Ensure that you use the P2MP resources to create P2MP resources.
Returns the TE-LSP list.
The example contains 10 TE-LSPs:
A simple delegated LSP (index 1, named LSP_Node101_Node102). A delegated LSP is configured in the PCC and delegated to NorthStar. NorthStar controls the path and some attributes of the LSP.
A delegated LSP with a configured explicit path (index 2, name LSP_101_103). The path name in the router is Path_Node101_Node103_Strict_1.
A protected tunnel with a primary and secondary path. The two paths (each represented as a TE-LSP) of a tunnel (index 3 and 4). The tunnel is named LSP_Node102_Node104_with_secondary and each path has a pathName. The tunnel name is used for correlation. One path (index3) is the primary path, while the other is the secondary path. The secondary path will be activated upon primary path failure. LSPs carrying traffic are marked as "Active" rather than "Up".
A protected tunnel with a primary and secondary standby path (index 5 and 6). The model is similar to a tunnel with a secondary path, the difference is that the standby path has a pathType set to standby and the path is signaled in the control plane (making its operational status "Up").
A set of three TE-LSPs in a TE++ configuration (index 7,8,9). The TE-LSPs are named TEplusplus-Node102-Node103-<index>. Correlation of the entries can be done using liveProperties, options, and TEPlusPlusId. Those LSPs are not delegated to NorthStar, as indicated by the attribute controlType set to PCC. NorthStar will not modify those LSPs.
A PCE-Initiated LSP (index 10).
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-105-106",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"lspIndex": 13,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.106",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 1
},
"tunnelId": 60274,
"liveProperties": {
"bandwidth": 0,
"metric": 10,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
},
{
"operationalStatus": "Active",
"name": "11.0.0.101:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 14
},
{
"operationalStatus": "Active",
"name": "11.0.0.103:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 15
},
{
"operationalStatus": "Active",
"name": "11.0.0.106:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 16
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990091",
"correlatedRROHopCount": 3
},
"name": "Silver-104-101",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lspIndex": 17,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 32533,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990082",
"correlatedRROHopCount": 3
},
"name": "Silver-104-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 18,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.102",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 29910,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990087",
"correlatedRROHopCount": 2
},
"name": "Silver-104-103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 19,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32451,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-104-105",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 20,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32072,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
}
]
This operation does not accept a request body.
Creates a TE-LSP using the following JSON schema: lsp.json#/definitions/createLSP . For example, protection and custom service mapping parameters set.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
Attribute | Type | Description | Fixed |
---|---|---|---|
name | string | No | Tunnel name |
from/address | string | No | Tunnel ingress |
to/address | string | No | Tunnel egress |
The following examples show different set of parameters and results:
LSP with a bandwidth of 100M
{
"name": "Rest_LSP_1",
"from": {
"topoObjectType": "ipv4",
"address": "62.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "62.0.0.103"
},
"plannedProperties": {
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7
}
}
Primary and standby LSPs. The source (from), destination (to), and name must be the same. The standby (and secondary) LSPs must have a pathName attribute set in order to differentiate them. The Primary LSP may have a pathName set.
Primary LSP:
{
"name": "REST_LSP_2",
"from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
"pathType": "primary",
"plannedProperties": {
"bandwidth": "400M",
"setupPriority": 7,
"holdingPriority": 7
}
}
Standby LSP:
{
"name": "REST_LSP_2",
"from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
"pathType": "standby",
"plannedProperties": {
"pathName" : "standby_path_for_second_LSP",
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7
}
}
LSP with a loose explicit route. The loose hop must follow a hop; if no other hop can be supplied, usual best practice is use of the ingress node ID.
{
"name": "REST_LPS_with_explicit_route",
"from": {"topoObjectType": "ipv4","address": "62.0.0.101"},
"to": {"topoObjectType": "ipv4","address": "62.0.0.103"},
"plannedProperties": {
"bandwidth": 10000000,
"setupPriority": 7,
"holdingPriority": 7,
"ero" : [
{"topoObjectType": "ipv4","address": "62.0.0.101","loose": false},
{"topoObjectType": "ipv4","address": "62.0.0.102","loose": true}
]
}
}
Creates a TE LSP and associates it with a CCC VPN via userProperties.
{
"name": "lintalphaomega",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "RSVP",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "24k",
"setupPriority": 7,
"holdingPriority": 7,
"userProperties": {
"ccc-vpn-name": "vpnsisisi",
"ccc-interface": "ge-0/0/7.987",
"transmit-lsp": "lintalphaomega",
"receive-lsp": "lintomegaalpha"
}
}
}
The response is :
{
"plannedProperties": {
"bandwidth": "24K",
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "lintalphaomega_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"userProperties": {
"ccc-vpn-name": "vpnsisisi",
"ccc-interface": "ge-0/0/7.987",
"transmit-lsp": "lintalphaomega",
"receive-lsp": "lintomegaalpha"
},
"lastStatusString": "[ConfigServer]<Netconf provisioning order received",
"correlatedRROHopCount": 0
},
"name": "lintalphaomega",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 95,
"controlType": "PCC",
"provisioningType": "RSVP"
}
In the following NETCONF SR LSP examples, the following should be noted:
Only Juniper routers are supported.
Only NETCONF provisioning is supported.
The binding SID label, if specified, is checked by the device based on the configured label range.
Only one primary LSP path is supported.
SR LSP examples:
In this example, the SR LSP has a node SID specified for the destination.
{
"name": "restSRNodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restSRNodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 106,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the SR LSP has a list of link SIDs specified to reach the destination.
{
"name": "restSRLinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
],
"design": {
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
}
]
},
"name": "restSRLinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"lspIndex": 107,
"controlType": "PCC",
"provisioningType": "SR"
}
In NorthStar, a privateForwardingAdjacency is comprised of a pair of binding SID SR LSPs from node A to node Z and from node Z to node A.
In this example, the Binding SID SR LSP named restBindingSIDSRnodeSID from vmx105 to vmx 107 has a node SID specified for the destination.
{
"name": "restBindingSIDSRnodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048048,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restBindingSIDSRnodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"lspIndex": 108,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRnodeSID from vmx107 to vmx 105 has a node SID specified for the destination.
{
"name": "restBindingSIDSRnodeSID",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048048,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice",
"adminGroups": {}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": true
}
],
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "restBindingSIDSRnodeSID",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 109,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRlinkSIDs from vmx105 to vmx 107 has a list of SIDs specified to reach the destination.
{
"name": "restBindingSIDSRlinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048049,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
}
]
},
"name": "restBindingSIDSRlinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"lspIndex": 110,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the Binding SID SR LSP named restBindingSIDSRlinkSIDs from vmx107 to vmx 105 has a list of SIDs specified to reach the destination.
{
"name": "restBindingSIDSRlinkSIDs",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"bindingSID": 1048049,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.107",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.106.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.2",
"loose": false
}
]
},
"name": "restBindingSIDSRlinkSIDs",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 111,
"controlType": "PCC",
"provisioningType": "SR"
}
In this example, the SR LSP named restSRoverPFA1 from vmx101 to vmx 103 has a list of SIDs specified to reach the destination; along the path, a privateForwardingAdjacency is used.
{
"name": "restSRoverPFA1",
"creationConfigurationMethod": "NETCONF",
"provisioningType": "SR",
"pathType": "primary",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "hopId",
"id": "binding:0110.0000.0105:restBindingSIDSRlinkSIDs",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"design": {
"adminGroups": {
}
}
}
}
The response is:
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "hopId",
"id": "binding:0110.0000.0105:restBindingSIDSRlinkSIDs",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
]
},
"name": "restSRoverPFA1",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 112,
"controlType": "PCC",
"provisioningType": "SR"
}
The following example shows the creation of an LSP with a bandwidth of 100M:
{
"lspIndex": 20,
"name": "Rest_LSP_1",
"from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"controlType": "PCEInitiated",
"plannedProperties": {
"adminStatus": "Up",
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"lastStatusString": "Provisioning Order from REST Interface",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
If the input does not conform to the JSON schema, the response includes an HTTP Error 400 and the validation errors.
{
"error": "Input Validation error :Invalid type: number (expected string) /name"
}
Performs a search in the LSP list based on the URI parameters. For example, "search?name=62.101.105" returns one link.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
name (Optional) | query | xsd:string |
Filters on specified LSP Name, which is treated as a regular expression. Simple strings like "LP_" are acceptable, as are JavaScript regular expressions such as "/104$/"). |
from (Optional) | query | xsd:string |
Filters on the LSP from/address property. |
operationalStatus (Optional) | query | xsd:string |
Filters based on the LSP operationalStatus property. |
queryType (Optional) | query | xsd:string |
The queryType parameter sets the logical operator to be used between the query parameters. By default, the queryType is AND. If the queryType is set to OR, an LSP is included in the results if any of its parameter values match the query. |
[
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.106.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-105-106",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"lspIndex": 13,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.106",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 1
},
"tunnelId": 60274,
"liveProperties": {
"bandwidth": 0,
"metric": 10,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
},
{
"operationalStatus": "Active",
"name": "11.0.0.101:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 14
},
{
"operationalStatus": "Active",
"name": "11.0.0.103:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 15
},
{
"operationalStatus": "Active",
"name": "11.0.0.106:11.0.0.104:300:vpls:vpn_200",
"p2mpIndex": 184549480,
"p2mpName": "11.0.0.104:300:vpls:vpn_200",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.106"
},
"liveProperties": {
"bandwidth": 0,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.106.2",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controlType": "PCC",
"controller": "External",
"pathType": "primary",
"lspIndex": 16
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990091",
"correlatedRROHopCount": 3
},
"name": "Silver-104-101",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"lspIndex": 17,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.101",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 32533,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.101.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990082",
"correlatedRROHopCount": 3
},
"name": "Silver-104-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 18,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.102",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 3
},
"tunnelId": 29910,
"liveProperties": {
"bandwidth": 0,
"metric": 30,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"lastStatusString": "[PCServer]<PCC ACK request_id=417990087",
"correlatedRROHopCount": 2
},
"name": "Silver-104-103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 19,
"controlType": "Delegated",
"provisioningType": "RSVP",
"initiator": "PCC",
"controller": "NorthStar",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.103",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32451,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
}
},
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
}
],
"routingStatus": "Down",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
},
"lastStatusString": "[PCServer]<Down controller_state=Path found on down lsp",
"controllerStatus": {
"status": "Path found on down lsp"
},
"correlatedRROHopCount": 2
},
"name": "rsvp-104-105",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.105"
},
"lspIndex": 20,
"controlType": "PCC",
"provisioningType": "RSVP",
"collectedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.0.0.104",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.0.0.105",
"loose": false
}
],
"routingStatus": "Up",
"adminStatus": "Up",
"correlatedRROHopCount": 2
},
"tunnelId": 32072,
"liveProperties": {
"bandwidth": 0,
"metric": 20,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.104.107.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.1",
"protectionInUse": false,
"protectionAvailable": false
}
]
},
"controller": "External"
}
]
Returns the details for a TE-LSP.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
{
"lspIndex": 2,
"name": "LP_101_103",
"from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"controlType": "Delegated",
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{"topoObjectType": "ipv4","address": "62.101.105.2","loose": false},
{"topoObjectType": "ipv4","address": "62.102.105.1","loose": false},
{"topoObjectType": "ipv4","address": "62.102.106.2","loose": false},
{"topoObjectType": "ipv4","address": "62.104.106.1","loose": false},
{"topoObjectType": "ipv4","address": "62.104.107.2","loose": false},
{"topoObjectType": "ipv4","address": "62.103.107.1","loose": false}
],
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Up",
"lastStatusString": "<Active PCS initialization"
},
"liveProperties": {
"adminStatus": "Up",
"bandwidth": 10000000,
"ero": [
{"address": "62.101.105.2", "loose": false, "topoObjectType": "ipv4" },
{"address": "62.105.107.2", "loose": false, "topoObjectType": "ipv4" },
{"address": "62.103.107.1", "loose": false, "topoObjectType": "ipv4" }
],
"holdingPriority": 0,
"metric": 40,
"pathName": "Path_Node101_Node103_Strict_1",
"rro": [
{"address": "62.0.0.105", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
{"address": "62.101.105.2", "protectionAvailable": true, "protectionInUse": false, "topoObjectType": "ipv4"},
{"address": "62.0.0.107", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
{"address": "62.105.107.2", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
{"address": "62.0.0.103", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"},
{"address": "62.103.107.1", "protectionAvailable": false, "protectionInUse": false, "topoObjectType": "ipv4"}
],
"setupPriority": 7
},
"operationalStatus": "Active",
"pathType": "primary",
"tunnelId": 56614
}
This operation does not accept a request body.
Updates a TE-LSP using the JSON schema: lsp.json#/definitions/updateLSP .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
The update accepts the same parameters as the create, except for parameters that cannot be modified (from, to, name, pathName, pathType).
{
"lspIndex": 31,
"name": "Rest_LSP_1",
"from": {"topoObjectType": "ipv4","address": "62.0.0.101" },
"to": {"topoObjectType": "ipv4","address": "62.0.0.103" },
"pathType": "primary",
"plannedProperties": {
"bandwidth": "15M",
"setupPriority": 7,
"holdingPriority": 7
}
}
{
"lspIndex": 20,
"name": "Rest_LSP_1",
"from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"controlType": "PCEInitiated",
"plannedProperties": {
"adminStatus": "Up",
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"lastStatusString": "Provisioning Order from REST Interface",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
Updates a TE-LSP using a RFC6902 patch: json-patch.json. The result of the patch must confirm to lsp.json#/definitions/updateLsp. The REST server remove all operational parameters like operationalStatus, ..etc. .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
The Patched update accepts the same parameters as the create, except for parameters that cannot be modified (from, to, name, pathName, pathType).
[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "100M" }]
{
"lspIndex": 20,
"name": "Rest_LSP_1",
"from": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"controlType": "PCEInitiated",
"plannedProperties": {
"adminStatus": "Up",
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"lastStatusString": "Provisioning Order from REST Interface",
"routingStatus": "Unknown"
},
"operationalStatus": "Unknown",
"pathType": "primary"
}
Deletes a TE-LSP. This function is supported only on the PCE-initiated LSPs. PCC-controlled and PCC-delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
This operation does not accept a request body and does not return a response body.
Creates several TE-LSPs using the following JSON schema: lsp.json#/definitions/createLSPList .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The request must contain a list of LSPs to be created. The LSP parameters are the same as creating an individual LSP. The following example shows the creation of two diverse LSPs at the same time.
[
{
"name": "REST_LSP_DIVERSE_1",
"from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
"plannedProperties": {
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"}
}
},
{
"name": "REST_LSP_DIVERSE_2",
"from": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"plannedProperties": {
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"}
}
}
]
[
{
"name": "REST_LSP_DIVERSE_1",
"from": {"address": "62.0.0.102", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.104", "topoObjectType": "ipv4"},
"lspIndex": 21,
"plannedProperties": {
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"routingStatus": "Unknown",
"design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"},
"lastStatusString": ">Provisioning Order from REST Interface"
},
"controlType": "PCEInitiated",
"operationalStatus": "Unknown"
},
{
"name": "REST_LSP_DIVERSE_2",
"from": {"address": "62.0.0.103", "topoObjectType": "ipv4"},
"to": {"address": "62.0.0.101", "topoObjectType": "ipv4"},
"lspIndex": 22,
"plannedProperties": {
"bandwidth": "100M",
"setupPriority": 7,
"holdingPriority": 7,
"adminStatus": "Up",
"routingStatus": "Unknown",
"design" : {"diversityLevel":"srlg","diversityGroup":"DiverseGroup1"},
"lastStatusString": ">Provisioning Order from REST Interface"
},
"controlType": "PCEInitiated",
"operationalStatus": "Unknown"
}
]
Updates several TE-LSPs using the following JSON schema: lsp.json#/definitions/lspListUpdate .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The bulk update accepts a list of LSP updates. Each entry requires the same parameters and logic as updating a single LSP.
Response example:The response contains a list of individual update responses (see TE-LSP update).
Updates several TE-LSPs using the following JSON schema: lsp.json#/definitions/lspListPatch .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The bulk PATCH accepts a list consisting of lspIndex and patch:
[
{"lspIndex" : 1,"patch":[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "1M" }]},
{"lspIndex" : 2,"patch":[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "2M" }]}
]
The response contains a list of individual update responses (see TE-LSP update).
Deletes a list of TE-LSPs. This function is supported only on the PCE-initiated LSPs. PCC-controlled and PCC-delegated LSPs cannot be deleted from NorthStar. They must be deleted in the node.b The payload must conform to lsp.json#/definitions/lspListDelete
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
This operation does not accept a request body and does not return a response body.
Returns the history for a TE-LSP.
The history contains a list of Unix-timestamped events for the LSP resource.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
start (Optional) | query | xsd:int |
Start timestamp: Include events with the starting timetime and later. |
end (Optional) | query | xsd:int |
End timestamp: Include events before (but not including) the ending timestamp. |
[
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "PCC",
"eventStatusString": "<Down",
"timestamp": 1427128941053,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "0",
"setupPriority": 7,
"holdingPriority": 0,
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "PCC",
"eventStatusString": "<Down PCS initialization",
"timestamp": 1427128941057,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "VMX103_VMX101",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "reprovision:provisioning new delegated lsp",
"timestamp": 1427132006714,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427132006720,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427132006780,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Up",
"timestamp": 1427132007053,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427132007069,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427132009764,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Node103_Node101",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427135406437,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "reprovision:Provision using planned data",
"timestamp": 1427167092366,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down, PCS initialization",
"timestamp": 1427167092372,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427167092475,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Down"
},
"controlType": "Delegated",
"eventStatusString": "Down",
"timestamp": 1427167092516,
"operation": "State Change"
},
{
"plannedProperties": {
"bandwidth": "10M",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "Path_Node101_Node103_Strict_1",
"adminStatus": "Up",
"routingStatus": "Up"
},
"controlType": "Delegated",
"eventStatusString": "Active",
"timestamp": 1427167092865,
"operation": "State Change"
}
]
Use the following endpoints to access demands and the related information. Demands can be created based on netflow or LDP collection tasks.
The demand resources are described in demands.json .
Returns a full list of Demands.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"operationalStatus":"Unknown",
"plannedProperties":{
"bandwidth":"1.684666M",
"setupPriority":7,
"holdingPriority":7,
"calculatedEro":[
{
"topoObjectType":"ipv4",
"address":"11.103.107.2",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.105.107.1",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.101.105.1",
"loose":false
}
],
"routingStatus":"Up",
"pathName":"11.0.0.101",
"adminStatus":"Up",
"lastStatusString":"[PCServer]>demand update",
"controllerStatus":{
"status":""
},
"correlatedRROHopCount":3
},
"name":"vmx103_11.0.0.101/32_NONE_IP",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.103"
},
"pathType":"primary",
"to":{
"topoObjectType":"prefix",
"address":"11.0.0.101",
"length":32
},
"demandIndex":30,
"liveProperties":{
"bandwidth":"1.684666M"
}
},
{
"operationalStatus":"Unknown",
"plannedProperties":{
"bandwidth":"1.613733M",
"setupPriority":7,
"holdingPriority":7,
"calculatedEro":[
{
"topoObjectType":"ipv4",
"address":"11.104.107.2",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.105.107.1",
"loose":false
},
{
"topoObjectType":"ipv4",
"address":"11.102.105.1",
"loose":false
}
],
"routingStatus":"Up",
"pathName":"11.0.0.102",
"adminStatus":"Up",
"lastStatusString":"[PCServer]>demand update",
"controllerStatus":{
"status":""
},
"correlatedRROHopCount":3
},
"name":"vmx104_11.0.0.102/32_NONE_IP",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
},
"pathType":"primary",
"to":{
"topoObjectType":"prefix",
"address":"11.0.0.102",
"length":32
},
"demandIndex":31,
"liveProperties":{
"bandwidth":"1.613733M"
}
}
]
This operation does not accept a request body.
Create a demand using the following JSON schema: demands.json#/definitions/createDemand .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.10.0",
"length":24
}
}
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 17,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
}
Return the details of a specified demand.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
{
"operationalStatus": "Unknown",
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "10.1.10.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.1.2.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.2.11.11",
"loose": false
}
],
"routingStatus": "Up",
"correlatedRROHopCount": 3,
"lastStatusString": "[PCServer]<demand orders update"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 27,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
}
This operation does not accept a request body.
Modify a specific demand using the following JSON schema: demands.json#/definitions/updateDemand .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
{
"plannedProperties": {
"bandwidth": 4727,
"setupPriority": 7,
"holdingPriority": 7,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "10.1.10.1",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.1.2.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "10.2.11.11",
"loose": false
}
],
"bindingLSP":"sr-color-test",
"routingStatus": "Up",
"pathName": "11.0.0.11",
"adminStatus": "Up",
"lastStatusString": "[PCServer]>new demand",
"correlatedRROHopCount": 3
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 47,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
{
"plannedProperties": {
"bandwidth": 4727,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"bindingLSP": "sr-color-test"
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 47,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
Patch a specific demand using a RFC6902 patch: json-patch.json. The result of the patch must confirm to demands.json#/definitions/updateDemand. The REST server remove all operational parameters like operationalStatus, ..etc. .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
[{ "op": "add", "path": "/plannedProperties/bindingLSP", "value": "sr-color-test" }]
{
"plannedProperties": {
"bandwidth": 140019,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up",
"bindingLSP": "sr-color-test"
},
"name": "PE1_10.4.0.0/24_IP",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 50,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.0.0",
"length": 24
}
}
Delete a specific demand.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
demandIndex | URI | xsd:int |
The unique demandIndex. |
This operation does not accept a request body and does not return a response body.
Create a set of demands using the following JSON schema: demands.json#/definitions/createDemandList. The resulting list of demands (after the patch is applied) must also conform to demands.json#/definitions/demandListUpdate . The return code indicates the request acceptance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.10.0",
"length":24
}
},
{
"plannedProperties":{
"pathName":"11.0.0.11",
"bandwidth":"0",
"setupPriority":7,
"holdingPriority":7,
"design":{
"routingMethod":"default",
"adminGroups":{
}
}
},
"name":"testprefix2",
"pathType":"primary",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.10"
},
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.11"
},
"prefix":{
"topoObjectType":"ipv4",
"address":"10.4.11.0",
"length":24
}
}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.10.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.11.0",
"length": 24
}
}
]
Update a set of demands using the following JSON schema: demands.json#/definitions/demandListUpdate . The return code indicates the request acceptance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.20.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.21.0",
"length": 24
}
}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.20.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.21.0",
"length": 24
}
}
]
Patch a set of demands using the following JSON schema: demands.json#/definitions/demandListPatch . The return code indicates the request acceptance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{"demandIndex" : 51,"patch":[{ "op": "replace", "path": "/prefix/address", "value": "10.4.30.0" }]},
{"demandIndex" : 52,"patch":[{ "op": "replace", "path": "/prefix/address", "value": "10.4.31.0" }]}
]
[
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 51,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.30.0",
"length": 24
}
},
{
"plannedProperties": {
"bandwidth": 0,
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "11.0.0.11",
"adminStatus": "Up"
},
"name": "testprefix2",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.10"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.11"
},
"demandIndex": 52,
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.31.0",
"length": 24
}
}
]
Delete a set of demands. The return code indicates the request acceptance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{"demandIndex":32},
{"demandIndex":31}
]
This operation does not return a response body.
Use these endpoints to work with device profiles.
The device profile schema is: deviceProfile.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/netconf/profiles/ [GET : get all device profile, POST : create new device profiles, PUT: update device profiles, DELETE : delete device profiles]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/netconf/netconfCollection/liveNetwork [ POST: create a collection job with requested device profile ids ]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/netconf/netconfCollection/<id> [ GET: get a collection job status with requested job id ]
Gets all profiles.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
Returns the following JSON document: deviceProfile.json#/definitions/profileList .
This operation does not accept a request body.
Creates new profiles.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The request must use the following JSON schema: deviceProfile.json#/definitions/createProfileList .
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Updates profiles.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The request must use the following JSON schema: deviceProfile.json#/definitions/updateProfileList and must contain an id in each profile: deviceProfile.json#/definitions/profile
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Deletes profiles.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The request must use the following JSON schema: deviceProfile.json#/definitions/deleteProfileList and must contain an id in each profile: deviceProfile.json#/definitions/profile
Response example:Returns the following JSON document: deviceProfile.json#/definitions/profileList
Creates a new collection.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The request must use the following JSON schema: deviceProfile.json#/definitions/startCollection .
Response example:Returns the following JSON document: deviceProfile.json#/definitions/collectionStatus .
Gets the Status of a collection job.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
collectionJobId | URI | xsd:int |
The unique identifier of the collection job. |
Returns the following JSON document: deviceProfile.json#/definitions/collectionStatus .
This operation does not accept a request body.
TE-Containers are related to TE-LSPs, similar to JunOS TE++ containers. The API allows the access to those TE-Containers parameter. A TE-Container has most of the TE-LSP parameters and split/merge parameters. A TE-Container will create a set of child TE-LSPs to adjust for traffic. The container normalization is handled as a separate global task.
The TE-containers schema is: lsp-containers.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/ [GET, POST]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/<containerIndex> [ GET , PUT, PATCH , DELETE]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-containers/bulk [ POST , PUT, PATCH , DELETE] Bulk API
List all TE-containers.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
Returns the following JSON document: lsp-containers.json.json#/definitions/containerList .
This operation does not accept a request body.
Creates a container.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The input must conform to the lsp-containers.json#/definitions/createContainer schema.
Response example:Gets a TE Container.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
Follows lsp-containers.json#/definitions/container .
This operation does not accept a request body.
Updates a TE Container
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
The input must conform to the lsp-containers.json#/definitions/updateContainer schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/container .
Updates a TE Container using an RFC6902 document
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
The input must conform to the rest-schemas/json-patch.json schema, the produced document (Original resource +patch) must conform to the lsp-containers.json#/definitions/updateContainer schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/container
Deletes a container.
The container must exist, no payload is expected or returned.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
containerIndex | URI | xsd:int |
Program ID of a TE-container. |
No content is expected.
Response example:No content
Create a list of TE Container
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The input must conform to the lsp-containers.json#/definitions/containerCreateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList .
Modify a list of TE Container
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The input must conform to the lsp-containers.json#/definitions/containerUpdateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList .
Modify a list of TE Container using a PATCH
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The input must conform to the lsp-containers.json#/definitions/containerListPatch schema. the resulting container list (with patch applied) must also comply to the lsp-containers.json#/definitions/containerUpdateList schema.
Response example:Returns the following JSON document: lsp-containers.json#/definitions/containerList
Deletes a list of containers.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
The containers must exist, the payload must conform to lsp-containers.json#/definitions/containerListDelete.
Response example:Use these endpoints to work with facilities.
The facilities schema is: facilities.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/facilities/ [GET : get all facilities]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/facilities/<facilityIndex> [ GET : get a facilitity, PUT : update, DELETE: delete]
Gets all Facilities.
Returns the following JSON document: facilities.json#/definitions/facilityList .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
This operation does not accept a request body and does not return a response body.
Creates a facility.
Returns the following JSON document: facilities.json#/definitions/facility .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
This operation does not accept a request body and does not return a response body.
Gets a Facility.
Returns the following JSON document: facilities.json#/definitions/facility .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
facilityIndex | URI | xsd:int |
Program ID of a facility. |
This operation does not accept a request body and does not return a response body.
Updates a facility
Returns the following JSON document: facilities.json#/definitions/facility .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
facilityIndex | URI | xsd:int |
Program ID of a facility. |
This operation does not accept a request body and does not return a response body.
Deletes a facility.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
facilityIndex | URI | xsd:int |
Program ID of a facility. |
This operation does not accept a request body and does not return a response body.
Use these endpoints to retrieve the P2MP lists and manage the P2MP groups, and create the TE-LSPs members in the P2MP group. For more information on schema, refer p2mp.json. . The operations supported for the P2MP resource are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/p2mp/ [GET : get all P2MP groups, POST: create a new P2MP group]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<p2mpGroupIndex> [ GET : get a P2MP group specified by index, PUT/PATCH: modify the P2MP group, POST: Create a list of member DELETE: Delete the P2MP group and all its members]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<p2mpGroupIndex>/<lspIndex> [ GET : get a P2MP branch specified by index, DELETE: remove a member]
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/te-lsps/<p2mpGroupIndex>/bulk [ DELETE only: delete a list of TE-LSP members]
Returns a full list of P2MP groups.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"p2mpGroupIndex": 3,
"p2mpIndex": 40,
"name": "geeiamtree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"links": [
{
"rel": "self",
"href": "3/"
}
]
},
{
"p2mpGroupIndex": 4,
"p2mpIndex": 43,
"name": "mapletree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"links": [
{
"rel": "self",
"href": "4/"
}
]
}
]
This operation does not accept a request body.
Create a P2MP group using the following schema: p2mp.json#/definitions/createP2mpGroup. The API request contains the destination list and the common planned properties. The common planned properties may include user properties with multicast VPN parameters.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
While creating the P2MP group, ensure that either the following plannedProperties parameters of all the members are identical, or the group plannedProperties are applied. Do not set the plannedProperties in the members. If you do not provide the plannedProperties parameter, the default value is applied.
Attribute | Type | Default | Description |
---|---|---|---|
name | string | None | P2MP group name name |
from/address | string | none | P2MP group ingress ingress |
plannedProperties/bandwidth | string or integer | 0 | P2MP members bandwidth |
plannedProperties/setupPriority | integer | 7 | P2MP member setup priority |
plannedProperties/holdingPriority | integer | 0 | P2MP member setup holdingPriority |
plannedProperties/design/adminGroups/attributeIncludeAny | integer | 0 (not set) | P2MP member setup administrative color include any |
plannedProperties/design/adminGroups/attributeIncludeAll | integer | 0 (not set) | P2MP member setup administrative color include all |
plannedProperties/design/adminGroups/attributeExclude | integer | 0 (not set) | P2MP member setup administrative color exclude |
lsps | list | None | List of members with name and destination. The name must be unique on the ingress. |
The following examples show different set of parameters and results:
A P2MP tree with 3 Members.
{
"name": "alphatree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"plannedProperties": {
"setupPriority": 7,
"holdingPriority": 7,
"bandwidth": "99k",
"design": {
"diversityGroup": "twins",
"adminGroups" :{
"attributeIncludeAll" : 0,
"attributeIncludeAny" : 0,
"attributeExclude" : 0
}
}
},
"lsps": [
{
"name": "alphatree-101102",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
}
},
{
"name": "alphatree-101103",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
}
},
{
"name": "alphatree-101104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
}
]
}
The response is:
{
"name": "alphatree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"topoObjectType": "p2mpGroup",
"lsps": [
{
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "alphatree-101102_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"lastStatusString": "[ConfigServer]<Netconf provisioning order received",
"correlatedRROHopCount": 0
},
"name": "alphatree-101102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 91,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "alphatree-101103_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.105.107.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.103.107.1",
"loose": false
}
],
"lastStatusString": "[ConfigServer]<Netconf provisioning order received",
"correlatedRROHopCount": 0
},
"name": "alphatree-101103",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.103"
},
"lspIndex": 92,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"pathName": "alphatree-101104_p0",
"adminStatus": "Up",
"design": {
"diversityGroup": "TWINS"
},
"ero": [
{
"topoObjectType": "ipv4",
"address": "dynamic",
"loose": false
}
],
"lastStatusString": "[ConfigServer]<Netconf provisioning order received",
"correlatedRROHopCount": 0
},
"name": "alphatree-101104",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
},
"lspIndex": 93,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}
]
}
Create a P2MP group (P2MP TE LSP) and associate it with a Multicast VPN (userProperties).
{
"name": "alphatree",
"from": {
"address": "11.0.0.191",
"topoObjectType": "ipv4"
},
"creationConfigurationMethod": "NETCONF",
"plannedProperties": {
"bandwidth": "99k",
"setupPriority": 7,
"holdingPriority": 7,
"userProperties": {
"vpn-name": "mymvpn",
"group-ip": "239.3.2.1",
"source-ip": "10.3.2.1"
}
},
"lsps": [{
"name": "alphatree_to213",
"to": {
"address": "11.0.0.213",
"topoObjectType": "ipv4"
}
},
{
"name": "alphatree_to214",
"to": {
"address": "11.0.0.214",
"topoObjectType": "ipv4"
}
}]
}
The response is:
{
"name": "alphatree",
"from": {
"address": "11.0.0.191",
"topoObjectType": "ipv4"
},
"topoObjectType": "p2mpGroup",
"lsps": [{
"plannedProperties": {
"bandwidth": "99k",
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "alphatree_to213_p0",
"adminStatus": "Up",
"userProperties": {
"vpn-name": "mymvpn",
"group-ip": "239.3.2.1",
"source-ip": "10.3.2.1"
}
},
"name": "alphatree_to213",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.213"
},
"lspIndex": 145953,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"plannedProperties": {
"bandwidth": "99k",
"setupPriority": 7,
"holdingPriority": 7,
"pathName": "alphatree_to214_p0",
"adminStatus": "Up",
"userProperties": {
"vpn-name": "mymvpn",
"group-ip": "239.3.2.1",
"source-ip": "10.3.2.1"
}
},
"name": "alphatree_to214",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.214"
},
"lspIndex": 145954,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}],
"plannedProperties": {
"bandwidth": "99k",
"setupPriority": 7,
"holdingPriority": 7,
"design" : {
"adminGroups": {
"attributeIncludeAny": 0,
"attributeIncludeAll": 0,
"attributeExclude": 0
}
}
},
"userProperties": {
"vpn-name": "mymvpn",
"group-ip": "239.3.2.1",
"source-ip": "10.3.2.1"
}
}
The responses are shown per example in the request section. In general the response is a JSON document conforming to p2mp.json#/definitions/p2mpGroup.
Returns the details of a specified P2MP group.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
{
"p2mpGroupIndex": 8,
"p2mpIndex": 638,
"name": "geeiamtree",
"topoObjectType": "p2mpGroup",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"plannedProperties": {
"bandwidth": "99k",
"setupPriority": 7,
"holdingPriority": 0,
"design": {
"adminGroups": {
"attributeIncludeAny": 0,
"attributeIncludeAll": 0,
"attributeExclude": 0
}
}
},
"lsps": [
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"lastStatusString": "[PCServer]<Active",
"correlatedRROHopCount": 2
},
"name": "geeiamtree101-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 638,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "geeiamtree",
"collectedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"explicitPathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"correlatedRROHopCount": 2
},
"p2mpIndex": 184549477,
"liveProperties": {
"bandwidth": 99000,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
],
"pathName": "geeiamtree101-102_p0"
},
"controller": "External"
}
]
}
This operation does not accept a request body.
Modify a specific P2MP group, if the LSPS are not specified, the common properties are changed, not the LSPs. If the LSPs are specified, the set of LSPs will be modified. i.e LSP that is not in the new list will be remove, the other will be added/updated".
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
{
"name": "alphatree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"plannedProperties": {
"bandwidth": "21k",
"holdingPriority": 3,
"setupPriority": 3
}
}
{
"name": "alphatree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"topoObjectType": "p2mpGroup",
"lsps": [{
"plannedProperties": {
"bandwidth": "21k",
"setupPriority": 3,
"holdingPriority": 3,
"pathName": "alphatree_to213_p0",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "alphatree_to213",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.213"
},
"lspIndex": 145948,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"plannedProperties": {
"bandwidth": "21k",
"setupPriority": 3,
"holdingPriority": 3,
"pathName": "alphatree_to214_p0",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "alphatree_to214",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.214"
},
"lspIndex": 145949,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}],
"plannedProperties": {
"bandwidth": "21k",
"holdingPriority": 3,
"setupPriority": 3,
"design": {
"adminGroups": {
"attributeIncludeAny": 0,
"attributeIncludeAll": 0,
"attributeExclude": 0
}
}
}
}
Modify a specific P2MP group using a PATCH document (RFC6906). The operation has the same behavior as the PUT method".
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
[{ "op": "replace", "path": "/plannedProperties/bandwidth", "value": "21k" },{ "op": "replace", "path": "/plannedProperties/setupPriority", "value": 3 },{ "op": "replace", "path": "/plannedProperties/holdingPriority", "value": 3 }]
{
"name": "alphatree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"topoObjectType": "p2mpGroup",
"lsps": [{
"plannedProperties": {
"bandwidth": "21k",
"setupPriority": 3,
"holdingPriority": 3,
"pathName": "alphatree_to213_p0",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "alphatree_to213",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.213"
},
"lspIndex": 145948,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
},
{
"plannedProperties": {
"bandwidth": "21k",
"setupPriority": 3,
"holdingPriority": 3,
"pathName": "alphatree_to214_p0",
"adminStatus": "Up",
"design": {
"routingMethod": "routeByDevice"
}
},
"name": "alphatree_to214",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.214"
},
"lspIndex": 145949,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}],
"plannedProperties": {
"bandwidth": "21k",
"holdingPriority": 3,
"setupPriority": 3,
"design": {
"adminGroups": {
"attributeIncludeAny": 0,
"attributeIncludeAll": 0,
"attributeExclude": 0
}
}
}
}
No response is received from the REST API unless an error occurs.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
This operation does not accept a request body and does not return a response body.
No response is received from the REST API unless an error occurs.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Bulk process P2MP Groups. |
[
{"p2mpGroupIndex": 3},
{"p2mpGroupIndex": 4}
]
This operation does not return a response body.
The POST URL accepts a list of new branches. Use the following schema to create a P2MP branch: p2mp.json#/definitions/createP2mpLeavesList .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
[
{
"name": "alphatree_to225",
"to": {
"address": "11.0.0.225",
"topoObjectType": "ipv4"
}
}
]
[
{
"plannedProperties": {
"bandwidth": "21k",
"setupPriority": 3,
"holdingPriority": 3,
"pathName": "alphatree_to225_p0",
"adminStatus": "Up"
},
"name": "alphatree_to225",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.191"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.225"
},
"lspIndex": 145950,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "alphatree"
}
]
Returns the details of a specified P2MP branch.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
{
"operationalStatus": "Active",
"plannedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"pathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"lastStatusString": "[PCServer]<Active",
"correlatedRROHopCount": 2
},
"name": "geeiamtree101-102",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.101"
},
"pathType": "primary",
"to": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"lspIndex": 638,
"controlType": "PCC",
"provisioningType": "RSVP",
"p2mpName": "geeiamtree",
"collectedProperties": {
"bandwidth": "99K",
"setupPriority": 7,
"holdingPriority": 0,
"calculatedEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"routingStatus": "Up",
"explicitPathName": "geeiamtree101-102_p0",
"adminStatus": "Up",
"preferredEro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"correlatedRROHopCount": 2
},
"p2mpIndex": 184549477,
"liveProperties": {
"bandwidth": 99000,
"metric": 0,
"setupPriority": 7,
"holdingPriority": 0,
"operationalStatus": "Active",
"adminStatus": "Up",
"ero": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"loose": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"loose": false
}
],
"rro": [
{
"topoObjectType": "ipv4",
"address": "11.101.105.2",
"protectionInUse": false,
"protectionAvailable": false
},
{
"topoObjectType": "ipv4",
"address": "11.102.105.1",
"protectionInUse": false,
"protectionAvailable": false
}
],
"pathName": "geeiamtree101-102_p0"
},
"controller": "External"
}
This operation does not accept a request body.
No response is received from the REST API unless an error occurs.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
The unique lspIndex. |
This operation does not accept a request body and does not return a response body.
No response is received from the REST API unless an error occurs.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
p2mpGroupIndex | URI | xsd:int |
Signaling protocol P2MP id, which may be empty, and is the same for all TE-LSPs of a tunnel. |
lspIndex | URI | xsd:int |
Bulk process P2MP Branches. |
[
{"lspIndex": 145948},
{"lspIndex": 145950}
]
This operation does not return a response body.
If PRDP is configured for a set of nodes, this API allows to see the BGP routes retrived by NorthStar.
The schema is: route.json . The operations are:
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/routes/ [GET : get the list of nodes with bgp routes (summary only)
https://northstar.example.net:8443/NorthStar/API/v2/tenant/<tenant-id>/topology/<topology-id>/routes/<nodeIndex> [ GET : get the list of routes on a node]
List all nodes with BGP routes and the number of routes for that node.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
Returns the following JSON document: route.json.json#/definitions/summaryList .
[
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"entries": 50
},
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 5,
"id": "0110.0000.0010",
"topologyIndex": 1
},
"entries": 98
},
{
"topologyIndex": 1,
"topologyObjectType": "routeSummary",
"node": {
"topoObjectType": "node",
"nodeIndex": 6,
"id": "0110.0000.0011",
"topologyIndex": 1
},
"entries": 50
}
]
This operation does not accept a request body.
Gets the routes maintained by NorthStar for a node.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
nodeIndex | URI | xsd:int |
Program ID of a node. |
Follows route.json#/definitions/routeList .
[
{
"topologyIndex": 1,
"topologyObjectType": "route",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"table": "inet.0",
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.4.0",
"length": 24
},
"pathCookie": 190819980,
"asPath": [
"3",
"4"
],
"protocolNextHops": [
"11.0.0.22",
"11.0.0.31"
],
"protocol": "BGP",
"routePreference": 170,
"localPreference": 100,
"vpnLabel": 0
},
{
"topologyIndex": 1,
"topologyObjectType": "route",
"node": {
"topoObjectType": "node",
"nodeIndex": 7,
"id": "0110.0000.0012",
"topologyIndex": 1
},
"table": "inet.0",
"prefix": {
"topoObjectType": "prefix",
"address": "10.4.22.0",
"length": 24
},
"pathCookie": 190821156,
"asPath": [
"2",
"4"
],
"protocolNextHops": [
"11.0.0.22"
],
"protocol": "BGP",
"routePreference": 170,
"localPreference": 100,
"vpnLabel": 0
}
]
This operation does not accept a request body.
The analytics REST API allows to query the analytics data collected by NorthStar controller. Each URL accepts a POST request with as set of parameters refining the query.
Each queried object has specific counters. Those counters are dynamically generated based on the data collected. The queries are
Interfaces: /NorthStar/API/v2/tenant/1/statistics/interfaces/fields
LSP/demands: /NorthStar/API/v2/tenant/1/statistics/te-lsps/fields
Interface delay/loss: /NorthStar/API/v2/tenant/1/statistics/delay/fields
{ "fields": [ "average_rtt", "jitter", "loss_percent", "max_rtt", "min_rtt", "one_way" ]}
Other common parameters are startTime and endTime, Those parameter represent an absolute or relative time.
Absolute values can be either a string (ISO8601 format, date is required, time is optional) or an integer (milliseconds since epoch). The special value now is accepted.
The Date mathematic consist of a plus or minus followed by a time unit: y (year), M(month), w (week), d (day), h or H (hours), m (minutes) or s (seconds). For instance a query with startTime set to "now-1d", endTime "now" will retrieve the statistics for the last day. This field is based on ElasticSearch Date Math
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
demand (array ): Array of demand objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "demands-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET bulk demand API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"demand": {
"$ref": "/stats-templates/common.json#/definitions/demandArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interfaces/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (integer ): Max number of interfaces top return.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"size": {
"description": "Max number of interfaces top return",
"type": "integer",
"minimum": 1
},
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "interface-traffic.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST interface-traffic API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "interface-traffic.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST interface-traffic API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{interface_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (integer ): Max number of interfaces top return.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"size": {
"description": "Max number of interfaces top return",
"type": "integer",
"minimum": 1
},
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interface (array ): Array of interface objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /jnxcos/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/interfaceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "lsp-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
startTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/fields API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "lsp-traffic.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /te-lsps/traffic API",
"type": "object",
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
from (number ): TODO.
startTime (Either string or integer): Date time. .
filter (object ): Generic filter object, ???.
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
order : Result order (asc or desc).the value must be one of:
asc
desc
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"id": "events-bulk.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/lspArray"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"from": {
"$ref": "/stats-templates/common.json#/definitions/from"
},
"order": {
"$ref": "/stats-templates/common.json#/definitions/order"
},
"filter": {
"$ref": "/stats-templates/common.json#/definitions/filter"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
This query does not accept any parameter.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{lsp_name} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
device (array ): Array of node objects.
endTime (Either string or integer): Date time. .
size (number ): ???.
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /device/top API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"size": {
"$ref": "/stats-templates/common.json#/definitions/size"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"device": {
"$ref": "/stats-templates/common.json#/definitions/deviceArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
startTime (Either string or integer): Date time. .
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
lsp (array ): Array of lsp objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"id": "ldp-lsps.hjson",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET bulk lsp API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"lsp": {
"$ref": "/stats-templates/common.json#/definitions/fecArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
counter (string ): Name of the counter to aggregate by..
endTime (Either string or integer): Date time. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
interval (string ): Time duration for instance 1d, 1y, 24h,.
The POST data must conform to the following JSON schema.
{
"id": "lsp-traffic.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the GET /te-lsps/traffic API",
"type": "object",
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counter"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{device_name} | URI | xsd:string |
TODO |
{fec} | URI | xsd:string |
TODO |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
demand (array ): Array of demand objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /interface/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"demand": {
"$ref": "/stats-templates/common.json#/definitions/demandArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
sid (array ): Array of sid objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /sid/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/sidArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The POST request accepts a JSON object describing the query parameters.
interval (string ): Time duration for instance 1d, 1y, 24h,.
counter : Either a single counter or an array of counters. .
aggregation (string ): Aggregation function to use to aggregate values.the value must be one of:
avg
max
min
cardinality
sum
startTime (Either string or integer): Date time. .
policy (array ): Array of policy objects.
endTime (Either string or integer): Date time. .
The POST data must conform to the following JSON schema.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"description": "Specifies the parameters expected in the POST /sr-te-policy/bulk API",
"type": "object",
"additionalProperties": false,
"properties": {
"startTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"endTime": {
"$ref": "/stats-templates/common.json#/definitions/date"
},
"interval": {
"$ref": "/stats-templates/common.json#/definitions/interval"
},
"counter": {
"$ref": "/stats-templates/common.json#/definitions/counters"
},
"aggregation": {
"$ref": "/stats-templates/common.json#/definitions/aggregation"
},
"interface": {
"$ref": "/stats-templates/common.json#/definitions/policyArray"
}
}
}
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
Enables configuration of the NorthStar connection to the transport controller for retrieval of abstracted transport topology and automation of addition of information to the IP layer.
The corresponding schema is: transportController.json .
The following tables show the set of parameters describing a transport controller configuration.
Attribute | Type | Fixed | Description |
---|---|---|---|
name | string | No | Transport controller name |
notifyUrl | string | No | The REST/RESTCONF URL publishing (via Server-Sent-event) topology notifications |
profileName | string | No | The profile group name the NorthStar controller must use to connect to the transport controller instances. |
topologyUrl | string | No | The URL providing the abstract topology, following the IETF model supported by NorthStar . |
topoObjectType | string | Yes | transportController |
The other parameters are:
Attribute | Type | Fixed | Description |
---|---|---|---|
interfaceType | string | No | Indicates whether the transport controller interface follows the RESTCONF draft or a more simple REST interface. This does not affect the NorthStar Operation. |
pollUrl | string | No | The URL on the server to poll server liveliness, by default /.well-known/host-meta. |
reconnectTimeout | string | No | The time, in seconds, between two reconnect attempts between controller instances. |
rootUrl | string | No | Default root URL for RESTCONF datastores. |
srlgPrefix | string | No | Use the SRLG prefix to generate the SRLGs for the IP topology. If set, the SRLGs will be TSRLG_<srlgPrefix>_<SRLG>, otherwise TSRLG_<SRLG>. This permits you to either separate or merge two controller SRLG spaces. By default, SRLG is not set, or it has an empty string which corresponds to merging the SRLGs space. |
topologyToUse | string | No | The transport controller might return several topologies. This field permits you to select a specific topology to apply as a filter to the model te-topology-id field. |
Returns a full list of the transport controllers using the following schema: transportController.json#/definitions/transportControllerList
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"transportControllerIndex": 1,
"name": "Nortel",
"interfaceType": "RESTCONF",
"notifyUrl": "/streams/NETCONF-JSON",
"pollUrl": "",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"rootUrl": "",
"srlgPrefix": "",
"topologyToUse": "",
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController"
}
]
This operation does not accept a request body.
Creates a transport controller using the following schema: transportController.json#/definitions/createTransportController
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"name": "Nortel",
"topologyModel":"ietf-te-topology-01",
"interfaceType": "RESTCONF",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController"
}
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"topologyModel":"ietf-te-topology-01",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController",
"transportControllerIndex": 1
}
Returns the configuration of a transport controller.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerIndex | URI | xsd:int |
The unique transportControllerIndex. |
Returns the following JSON document: transportController.json#/definitions/transportController .
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"topologyModel":"ietf-te-topology-01",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"topoObjectType": "transportController",
"transportControllerIndex": 1
}
This operation does not accept a request body.
Updates a transport controller using the following schema: transportController.json#/definitions/updateTransportController The parameters are the same as for transport controller creation. A parameter change triggers reconnection to the transport controller using the new parameters.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerIndex | URI | xsd:int |
The unique transportControllerIndex. |
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"srlgPrefix": "space1",
"topoObjectType": "transportController",
"transportControllerIndex": 1
}
{
"name": "Nortel",
"interfaceType": "RESTCONF",
"notifyUrl": "/streams/NETCONF-JSON",
"profileName": "NortelProfile",
"reconnectTimeout": 10,
"topologyUrl": "/restconf/data/ietf-te-topology:te-topologies-state",
"srlgPrefix": "space1",
"topoObjectType": "transportController",
"transportControllerIndex": 1
}
Deletes a transport controller configuration. The transport node, link, and circuits created from that transport controller are not deleted. You must delete them manually, if required.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerIndex | URI | xsd:int |
The unique transportControllerIndex. |
This operation does not accept a request body and does not return a response body.
Manages a set of instances of a transport controller.
The corresponding schema is: transportControllerEndpoint.json .
The devices are managed as group of devices. For each device the following parameters can be managed:
Attribute | Type | Fixed | Description |
---|---|---|---|
ipAddr | string | No | IP address to connect |
accessMethod | string | No | Either HTTP or HTTPS |
authMethod | string | No | Authentication method; can be BASIC or NOAUTH |
The other parameters are:
Attribute | Type | Fixed | Description |
---|---|---|---|
hostName | string | No | Device name. |
httpPort | int | No | HTTP port. |
login | string | Yes | Login to be used for the BASIC auth. |
passwd | string | Yes | Encrypted password to be used for the BASIC auth. |
retry | int | No | Number of retries for the heartbeat, before the device is considered down. |
timeout | int | No | Request timeout for the device. |
Returns the full list of transport controller groups using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupList .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"name": "NortelProfile"
},
{
"name": "Default"
}
]
This operation does not accept a request body.
Creates a group of transport controller devices using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription .
The request must contain the group name to be created, as shown in the example.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"name": "NortelProfile",
"profileType": "Network Controllers"
}
{
"success": true
}
Deletes a group of transport controller devices using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroupDescription
The request must contain the group name to be deleted, as shown in the example.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"name": "NortelProfile",
"profileType": "Network Controllers"
}
{
"success": true
}
Returns a list of transport controller groups using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup The password is set by empty strings.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerGroupName | URI | xsd:string |
The name of the transport controller devices group. |
[
{
"id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf",
"accessMethod": "HTTP",
"authMethod": "BASIC",
"hostName": "",
"httpPort": 80,
"ipAddr": "10.0.1.3",
"login": "Login2",
"passwd": "",
"retry": 3,
"timeout": 2
},
{
"id": "7bcf5b8a-30f4-46ad-9a51-29daac671587",
"accessMethod": "HTTP",
"authMethod": "BASIC",
"hostName": "",
"httpPort": 80,
"ipAddr": "10.0.1.2",
"login": "Login",
"passwd": "",
"retry": 3,
"timeout": 2
}
]
This operation does not accept a request body.
Creates devices in a group using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup
The request contains a list of devices to be created.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerGroupName | URI | xsd:string |
The name of the transport controller devices group. |
[
{
"accessMethod": "HTTP",
"authMethod": "BASIC",
"hostName": "",
"httpPort": 80,
"ipAddr": "10.0.1.2",
"login": "Login",
"passwd" : "XYXYXYXYXYX",
"retry": 3,
"timeout": 2
},
{
"accessMethod": "HTTP",
"authMethod": "BASIC",
"hostName": "",
"httpPort": 80,
"ipAddr": "10.0.1.3",
"login": "Login2",
"passwd" : "XYXYXYXYXYX",
"retry": 3,
"timeout": 2
}
]
{
"success": true
}
Updates devices in a group using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup
The request contains a list of devices to be updated. The id parameter is required.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerGroupName | URI | xsd:string |
The name of the transport controller devices group. |
[
{
"id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf",
"accessMethod": "HTTP",
"authMethod": "BASIC",
"hostName": "",
"httpPort": 80,
"ipAddr": "10.0.1.3",
"login": "Login3",
"passwd": "",
"retry": 3,
"timeout": 2
}
]
{
"success": true
}
Deletes devices from a group using the following schema: transportControllerEndpoint.json#/definitions/transportControllerGroup
The request contains a list of devices to be deleted. The id parameter is required, while other parameters are ignored.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
transportControllerGroupName | URI | xsd:string |
The name of the transport controller devices group. |
[
{
"id": "91172e83-7b45-422c-ac1e-1940fb9a7ddf"
}
]
{
"success": true
}
Permits monitoring and configuration of NorthStar high availability cluster.
The corresponding schema is: ha.json .
Get the status of all of the nodes and processes in the cluster.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The response returned by the server conforms to: ha.json#/definitions/hostList . The data indicates which nodes are in the cluster and the processes running on each node. The role indicates the current role of the node and has the following two components: - Indicator for Active or Standby; the Active node is where the path computation is running. - Indicator for whether node is running as HA coordinator. This does not reflect the status of the zookeeper master available in a different URL.
[
{
"hostname": "northstar-cluster-3",
"ipv4": "10.0.0.1",
"status": "Up",
"role": "Standby,Coordinator",
"version": "2.0.0-20160216_081948.x86_64",
"processes": [
{
"processId": 26683,
"processName": "junosvm",
"startTime": "2016-02-16T19:24:07.000Z",
"role": "Standby"
},
{
"processId": 8389,
"processName": "zookeeper",
"startTime": "2016-02-16T22:54:15.000Z",
"role": "Standby"
},
{
"processId": 12347,
"processName": "ha_agent",
"startTime": "2016-02-16T23:07:09.000Z",
"role": "Standby"
},
{
"processId": 12276,
"processName": "npat",
"startTime": "2016-02-16T23:06:56.000Z",
"role": "Standby"
},
{
"processId": 12243,
"processName": "pceserver",
"startTime": "2016-02-16T23:06:54.000Z",
"role": "Standby"
},
{
"processId": 12192,
"processName": "nodejs",
"startTime": "2016-02-16T23:06:44.000Z",
"role": "Standby"
},
{
"processId": 7821,
"processName": "rabbitmq",
"startTime": "2016-02-16T22:54:12.000Z",
"role": "Standby"
},
{
"processName": "keepalived",
"startTime": "2016-02-16T19:59:46.000Z",
"role": "Standby"
},
{
"processId": 12248,
"processName": "toposerver",
"startTime": "2016-02-16T23:06:54.000Z",
"role": "Standby"
},
{
"processId": 8138,
"processName": "cassandra",
"startTime": "2016-02-16T22:54:12.000Z",
"role": "Standby"
},
{
"processId": 3455,
"processName": "haproxy",
"startTime": "2016-02-16T19:59:46.000Z",
"role": "Standby"
},
{
"processId": 8453,
"processName": "listener1_00",
"startTime": "2016-02-16T22:54:12.000Z",
"role": "Standby"
},
{
"processId": 12255,
"processName": "pcserver",
"startTime": "2016-02-16T23:06:54.000Z",
"role": "Standby"
},
{
"processId": 12268,
"processName": "mladapter",
"startTime": "2016-02-16T23:06:56.000Z",
"role": "Standby"
},
{
"processId": 12242,
"processName": "npat_ro",
"startTime": "2016-02-16T23:06:54.000Z",
"role": "Standby"
}
]
},
{
"hostname": "northstar-cluster-2",
"ipv4": "10.0.0.2",
"status": "Up",
"role": "Standby",
"version": "2.0.0-20160216_081948.x86_64",
"processes": [
{
"processId": 5427,
"processName": "junosvm",
"startTime": "2016-02-16T19:23:29.000Z",
"role": "Standby"
},
{
"processId": 18452,
"processName": "zookeeper",
"startTime": "2016-02-16T22:49:58.000Z",
"role": "Standby"
},
{
"processId": 22489,
"processName": "ha_agent",
"startTime": "2016-02-16T23:08:13.000Z",
"role": "Standby"
},
{
"processId": 22419,
"processName": "npat",
"startTime": "2016-02-16T23:08:01.000Z",
"role": "Standby"
},
{
"processId": 22387,
"processName": "pceserver",
"startTime": "2016-02-16T23:07:59.000Z",
"role": "Standby"
},
{
"processId": 22344,
"processName": "nodejs",
"startTime": "2016-02-16T23:07:49.000Z",
"role": "Standby"
},
{
"processId": 17884,
"processName": "rabbitmq",
"startTime": "2016-02-16T22:49:55.000Z",
"role": "Standby"
},
{
"processName": "keepalived",
"startTime": "2016-02-16T19:44:45.000Z",
"role": "Standby"
},
{
"processId": 22393,
"processName": "toposerver",
"startTime": "2016-02-16T23:07:59.000Z",
"role": "Standby"
},
{
"processId": 18196,
"processName": "cassandra",
"startTime": "2016-02-16T22:49:55.000Z",
"role": "Standby"
},
{
"processId": 11334,
"processName": "haproxy",
"startTime": "2016-02-16T19:44:45.000Z",
"role": "Standby"
},
{
"processId": 18516,
"processName": "listener1_00",
"startTime": "2016-02-16T22:49:55.000Z",
"role": "Standby"
},
{
"processId": 22404,
"processName": "pcserver",
"startTime": "2016-02-16T23:07:59.000Z",
"role": "Standby"
},
{
"processId": 22411,
"processName": "mladapter",
"startTime": "2016-02-16T23:08:00.000Z",
"role": "Standby"
},
{
"processId": 22386,
"processName": "npat_ro",
"startTime": "2016-02-16T23:07:59.000Z",
"role": "Standby"
}
]
},
{
"hostname": "northstar-cluster-1",
"ipv4": "10.0.0.3",
"status": "Up",
"role": "Active",
"version": "2.0.0-20160216_081948.x86_64",
"processes": [
{
"processId": 11420,
"processName": "junosvm",
"startTime": "2016-02-16T19:24:28.000Z",
"role": "Active"
},
{
"processId": 23745,
"processName": "zookeeper",
"startTime": "2016-02-16T22:47:26.000Z",
"role": "Active"
},
{
"processId": 27746,
"processName": "ha_agent",
"startTime": "2016-02-16T23:08:19.000Z",
"role": "Active"
},
{
"processId": 28375,
"processName": "npat",
"startTime": "2016-02-16T23:10:57.000Z",
"role": "Active"
},
{
"processId": 27799,
"processName": "pceserver",
"startTime": "2016-02-16T23:08:35.000Z",
"role": "Active"
},
{
"processId": 27604,
"processName": "nodejs",
"startTime": "2016-02-16T23:07:55.000Z",
"role": "Active"
},
{
"processId": 23190,
"processName": "rabbitmq",
"startTime": "2016-02-16T22:47:23.000Z",
"role": "Active"
},
{
"processId": 28379,
"processName": "keepalived",
"startTime": "2016-02-16T23:10:57.000Z",
"role": "Active"
},
{
"processId": 28358,
"processName": "toposerver",
"startTime": "2016-02-16T23:10:56.000Z",
"role": "Active"
},
{
"processId": 23505,
"processName": "cassandra",
"startTime": "2016-02-16T22:47:23.000Z",
"role": "Active"
},
{
"processId": 13960,
"processName": "haproxy",
"startTime": "2016-02-16T19:29:31.000Z",
"role": "Active"
},
{
"processId": 23806,
"processName": "listener1_00",
"startTime": "2016-02-16T22:47:23.000Z",
"role": "Active"
},
{
"processId": 27848,
"processName": "pcserver",
"startTime": "2016-02-16T23:08:45.000Z",
"role": "Active"
},
{
"processId": 28360,
"processName": "mladapter",
"startTime": "2016-02-16T23:10:56.000Z",
"role": "Active"
},
{
"processId": 28357,
"processName": "npat_ro",
"startTime": "2016-02-16T23:10:56.000Z",
"role": "Active"
}
]
}
]
This operation does not accept a request body.
Gets status of all of the zookeeper clusters. .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The response returned by the server conforms to: ha.json#/definitions/zookeeperStatus . NorthStar uses a zookeeper cluster to coordinate nodes. The endpoint provides the zookeeper subsystem's status. During normal maintenance, you must check this information, because a failure of the zookeeper master could, in some cases, trigger a switchover.
{
"master": "northstar-cluster-2",
"followers": [
{
"ip": "10.0.0.1",
"synced": true,
"host": "northstar-cluster-3"
},
{
"ip": "10.0.0.3",
"synced": true,
"host": "northstar-cluster-1"
}
]
}
This operation does not accept a request body.
Returns the list of preferences.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
Returns the following JSON document: ha.json#/definitions/highAvailability .
[
{
"preferenceType": "primaryNode",
"host": "northstar-cluster-3",
"priority": 0
},
{
"preferenceType": "primaryNode",
"host": "northstar-cluster-2",
"priority": 0
},
{
"preferenceType": "primaryNode",
"host": "northstar-cluster-1",
"priority": 0
}
]
This operation does not accept a request body.
Sets the node preferences.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The JSON document should use the following schema: ha.json#/definitions/highAvailability You must set the new preferences for the node.
This operation does not return a response body.
Triggers a switchover.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The request body must be empty.
This operation does not return a response body.
The path computation APIs enable you to compute a path on the TE topology without creating an LSP. It supports the TE-LSP API constraints. The LSP is assumed to be an RSVP LSP by default. The SR-TE path is supported by using the provisioningType parameter, as described in pathComputation.json, and illustrated in the following example:
NOTE: The path computation API for SR-TE provides only the path and does not provide the SIDs.
Use the following schema to request for a path computation: pathComputation.json#/definitions/pathComputationRequests . Response: pathComputation.json#/definitions/pathComputationResponses .
The request/response example illustrates a set of three path computation requests. The first request is successful. The two subsequent requests cannot be computed due to routing constraints because there is no path with fewer than two hops and no path that can carry 100G in the topology. All of the paths in the request list are computed in the order they are specified. This API does NOT re-shuffle the request order to optimize the solution or the constraints. No bandwidth is reserved by the path computation request. For example, if only 5G is available between two nodes, one path computation requesting two paths with 3G each will return a partial result, where only the first path is calculated.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{"requests" :
[
{"from": {"topoObjectType": "ipv4","address": "11.0.0.101"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.104"},
"bandwidth" : 1000000,"design" :{"maxDelay":5},"extra" :"allowed"
},
{"from": {"topoObjectType": "ipv4","address": "11.0.0.104"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.101"},
"bandwidth" : 1000000,"design" :{"maxHop":2}
},
{"from": {"topoObjectType": "ipv4","address": "11.0.0.102"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.103"},
"bandwidth" : "100G"}
]
}
{
"result": "partial",
"responses": [
{"from": {"topoObjectType": "ipv4","address": "11.0.0.101"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.104"},
"bandwidth" : 1000000,"design" :{"maxDelay":5},"extra" :"allowed",
"status": "success",
"path": [
{"topoObjectType": "ipv4","address": "11.101.105.2"},
{"topoObjectType": "ipv4","address": "11.105.107.2"},
{"topoObjectType": "ipv4","address": "11.114.117.1"}
]
},
{"from": {"topoObjectType": "ipv4","address": "11.0.0.104"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.101"},
"bandwidth" : 1000000,"design" :{"maxHop":2},
"status": "noPathAvailable"
},
{"from": {"topoObjectType": "ipv4","address": "11.0.0.102"},
"to" : {"topoObjectType": "ipv4","address": "11.0.0.103"},
"bandwidth" : "100G",
"status": "noPathAvailable"
}
]
}
Use these endpoints to work with maintenance.
The corresponding schema is: maintenance.json .
Returns a full list of Maintenance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
[
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 1,
"user": "admin",
"name": "1LinkMaint1",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
},
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
}
]
This operation does not accept a request body.
Create a new maintenance using the following schema: maintenance.json#/definitions/createMaintenance .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"startTime": "20180220T120700",
"endTime": "20180220T120700",
"name": "2LinksMaint",
"elements": [
{
"topoObjectType": "link",
"index": 1
},
{
"topoObjectType": "link",
"index": 3
}
]
}
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 3,
"user": "admin",
"name": "2LinksMaint",
"status": "planned",
"startTime": "2018-04-20T16:07:00Z",
"endTime": "2018-04-20T16:15:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 1,
"id": "L11.101.105.1_11.101.105.2"
},
{
"topoObjectType": "link",
"index": 3,
"id": "L11.102.105.1_11.102.105.2"
}
]
}
Returns the details of a specified maintenance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-20T17:00:00Z",
"endTime": "2018-04-20T17:30:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 8,
"id": "L11.105.107.1_11.105.107.2"
}
]
}
This operation does not accept a request body.
Modify a specific maintenance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"startTime": "20180408T154500",
"endTime": "20180408T155000",
"maintenanceIndex": 2,
"name": "1LinkMaint",
"elements": [
{
"topoObjectType": "link",
"index": 1
},
{
"topoObjectType": "link",
"index": 2
}
]
}
{
"topoObjectType": "maintenance",
"topologyIndex": 1,
"maintenanceIndex": 2,
"user": "admin",
"name": "1LinkMaint",
"status": "planned",
"startTime": "2018-04-08T20:45:00Z",
"endTime": "2018-04-08T20:50:00Z",
"elements": [
{
"topoObjectType": "link",
"index": 1,
"id": "L11.101.105.1_11.101.105.2"
},
{
"topoObjectType": "link",
"index": 2,
"id": "L11.102.105.1_11.102.105.2"
}
]
}
Delete a specific maintenance.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
topologyId | URI | xsd:int |
A unique identifier for the topology. In NorthStar version 2, the unique identifier is set to 1. |
maintenanceIndex | URI | xsd:int |
The unique maintenanceIndex. |
This operation does not accept a request body and does not return a response body.
Remote Procedure Call (RPC) REST APIs allow subroutines that are written for NorthStar Planner to be utilized via the REST API. For instance Diverse P2MP Tree Design and Bandwidth Calendaring Simulation functionality can be called via these RPC type of REST APIs.
The corresponding schema is: rpcs.json .
These REST APIs are used to perform global or targeted path optimizations runs. The REST POST without a request body is used to call the global path optimization and with a request body to call the targeted path optimization functionalities. The REST GET is used to return the last global path optimization result that shows the difference between the previous vs. the optimized results. The REST GET doesn't support for targeted path optimization.
Trigger global path optimization.
The request body must be empty. The response returned by the server conforms to: rpcs.json#/definitions/optimizationResponse .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"result ": "Path optimization started."
}
This operation does not accept a request body.
Get last global path optimization results.
The response returned by the server conforms to: rpcs.json#/definitions/optimizationStatus .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"previous": {
"bandwidth": 20000000,
"hopCount": 98,
"latency": 5
},
"optimized": {
"bandwidth": 17000000,
"hopCount": 85,
"latency": 4
},
"numberOfOptimizedPaths": 6,
"maxHopCount": 5,
"maxLatency": 0.6,
"tunnelCount": 21,
"lastOptimizationTimeStamp": "2017-12-01T12:02:36.367Z"
}
This operation does not accept a request body.
Trigger targeted path optimization.
The request body must not be empty. The body consists of a list of elements. The elements can be either LSP, link or mixed. The elements are identified by the element index number. The response consists of a list of candidate elements to be optimized.
The response returned by the server conforms to: rpcs.json#/definitions/optimizationResponse .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"elements":[
{
"index":1,
"topoObjectType":"lsp"
},
{
"index":3,
"topoObjectType":"lsp"
},
{
"index":47,
"topoObjectType":"lsp"
}
]
}
{
"elements":[
{
"topoObjectType":"lsp",
"index":1
},
{
"topoObjectType":"lsp",
"index":3
}
]
}
The routing and failure simulation APIs are used to simulate bandwidth calendaring (time based) and failure. Use the first REST POST function to perform routing simulation or failure simulation. Use the subsequent three REST GET operations to return the reports to the calling program for further analysis.
NOTE: Starting from Northstar release 4.1, all the requests are timestamped.
Use the following API to simulate routes and failures:
Perform failure simulation analysis.
The request body must follow the schema rpcs.json#/definitions/simulationRequest The response returned by the server conforms to: rpcs.json#/definitions/simulationResponse .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The following example show different set of request:
The following example shows maintenance simulation creation with exhaustive node, link and facility failure:
{
"topologyIndex": 1,
"elements":
[
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example shows maintenance simulation creation without exhaustive failure:
{
"topologyIndex": 1,
"elements":
[
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example show different set of response based on the request above:
The following example shows the response of maintenance simulation creation with exhaustive node, link and facility failure:
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"results": {
"links": [
{
"rel": "results",
"href": "c203d890-24ee-4592-84b4-0975c7c0b79a"
}
]
},
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
The following example shows the response of maintenance simulation creation without exhaustive failure:
{
"status": "success",
"simulationId": "852c34b8-368d-4ae8-82d2-e9ed2dd8d223",
"results": {
"links": [
{
"rel": "results",
"href": "852c34b8-368d-4ae8-82d2-e9ed2dd8d223"
}
]
},
"topologyIndex": 1,
"elements": [
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
}
Returns the simulation list.
The response returned by the server conforms to: rpcs.json#/definitions/simulationsList .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
{
"topologyIndex": 1,
"simulationReports": [
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"results": {
"links": [
{
"rel": "results",
"href": "c203d890-24ee-4592-84b4-0975c7c0b79a"
}
]
},
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
]
},
{
"simulationId": "20facea2-4ca6-4883-93da-0af22a0a4b75",
"results": {
"links": [
{
"rel": "results",
"href": "20facea2-4ca6-4883-93da-0af22a0a4b75"
}
]
},
"topologyIndex": 1,
"elements": [
{
"type": "maintenance",
"maintenanceName": "2LinkMaint"
}
]
}
]
}
This operation does not accept a request body.
Returns the details of a specified simulation.
The response returned by the server conforms to: rpcs.json#/definitions/simulationReports .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
uuid | URI | xsd:string |
rpc id. |
{
"status": "success",
"simulationId": "c203d890-24ee-4592-84b4-0975c7c0b79a",
"topologyIndex": 1,
"elements": [
"node",
"link",
"srlg",
{
"type": "maintenance",
"maintenanceName": "1LinkMaint"
}
],
"reports": [
{
"reportName": "Report/L2_PathChange.r0",
"links": [
{
"href": "Report/L2_PathChange.r0"
}
]
},
{
"reportName": "Report/L2_PATHDELAY.r0",
"links": [
{
"href": "Report/L2_PATHDELAY.r0"
}
]
},
{
"reportName": "Report/L2_DVSIM.r0",
"links": [
{
"href": "Report/L2_DVSIM.r0"
}
]
},
{
"reportName": "Report/L2_LinkUtilChange.r0",
"links": [
{
"href": "Report/L2_LinkUtilChange.r0"
}
]
},
{
"reportName": "Report/L2_PeakSimLink.r0",
"links": [
{
"href": "Report/L2_PeakSimLink.r0"
}
]
},
{
"reportName": "Report/L2_PeakSimRoute.r0",
"links": [
{
"href": "Report/L2_PeakSimRoute.r0"
}
]
},
{
"reportName": "Report/L2_PHYDVSIM.r0",
"links": [
{
"href": "Report/L2_PHYDVSIM.r0"
}
]
},
{
"reportName": "Report/Maintenance/maintsiminfo.1LinkMaint",
"links": [
{
"href": "Report/Maintenance/maintsiminfo.1LinkMaint"
}
]
},
{
"reportName": "Report/L2_PeakSimSummary.r0",
"links": [
{
"href": "Report/L2_PeakSimSummary.r0"
}
]
}
]
}
This operation does not accept a request body.
Returns specific report details of a selected simulation.
The response returned by the server is a WANDL Report (Text file), see IPMPLSVIew report format documentation.
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
uuid | URI | xsd:string |
rpc id. |
reportName | URI | xsd:string |
report name. |
#**********************************************
# LSP Path Changes
#**********************************************
## Software Release= 4.0.0 20180327_72790_157, 64 bits, Compilation Date= 20180327
## Customer= JNPR_Hanita-test
## Platform=x86_64, OS=Linux 2.6.32-696.1.1.el6.x86_64
## Report Date= 2018-3-28 14:44 Runcode=r0 User=pcs
Name,Node A,Node Z,Orig Hop Count,New Hop Count,Orig Path Cost,New Path Cost,Orig Path,New Path,Protection,Orig Delay,New Delay,Delay Change %,Orig BW,New BW,Type
Silver-101-103,vmx101,vmx103,3,4,30,60,11.101.105.2-11.105.107.2-11.103.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-104-102,vmx104,vmx102,3,4,30,60,11.104.107.2-11.105.107.1-11.102.105.1,11.104.107.2-11.106.107.1-11.105.106.1-11.102.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-103-105,vmx103,vmx105,2,3,20,50,11.103.107.2-11.105.107.1,11.103.107.2-11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-103-102,vmx103,vmx102,3,4,30,60,11.103.107.2-11.105.107.1-11.102.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.102.105.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.103:11.0.0.106:200:vpls:vpn_200,vmx106,vmx103,3,2,30,40,11.105.106.1-11.105.107.2-11.103.107.1,11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.101:11.0.0.103:200:vpls:vpn_200,vmx103,vmx101,3,4,30,60,11.103.107.2-11.105.107.1-11.101.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-105-106,vmx105,vmx106,3,1,70,10,11.105.107.2-11.104.107.1-11.104.106.2,11.105.106.2,, 0.00, 0.00, 0.00%,0,0,,
rsvp-107-105,vmx107,vmx105,1,2,10,40,11.105.107.1,11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.104:11.0.0.101:300:vpls:vpn_200,vmx101,vmx104,3,4,30,60,11.101.105.2-11.105.107.2-11.104.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.104.107.1,, 0.00, 0.00, 0.00%,0,0,,
tcg1tree-102107,vmx102,vmx107,2,-,20,-,11.102.105.2-11.105.107.2, # vmx102--11.0.0.105--11.0.0.107,(path down), 0.00,-,,10.000K,10.000K,,
11.0.0.106:11.0.0.103:200:vpls:vpn_200,vmx103,vmx106,3,2,30,40,11.103.107.2-11.105.107.1-11.105.106.2,11.103.107.2-11.106.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.101:11.0.0.104:300:vpls:vpn_200,vmx104,vmx101,3,3,30,70,11.104.107.2-11.105.107.1-11.101.105.1,11.104.106.2-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
rsvp-106-105,vmx106,vmx105,3,1,70,10,11.104.106.1-11.104.107.2-11.105.107.1,11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
tcg1tree-102106,vmx102,vmx106,3,-,50,-,11.102.105.2-11.105.107.2-11.106.107.1, # vmx102--11.0.0.105--11.0.0.107--11.0.0.106,(path down), 0.00,-,,10.000K,10.000K,,
rsvp-104-105,vmx104,vmx105,2,3,20,50,11.104.107.2-11.105.107.1,11.104.107.2-11.106.107.1-11.105.106.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-102-103,vmx102,vmx103,3,4,30,60,11.102.105.2-11.105.107.2-11.103.107.1,11.102.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-101-104,vmx101,vmx104,3,4,30,60,11.101.105.2-11.105.107.2-11.104.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.104.107.1,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.103:11.0.0.101:300:vpls:vpn_200,vmx101,vmx103,3,4,30,60,11.101.105.2-11.105.107.2-11.103.107.1,11.101.105.2-11.105.106.2-11.106.107.2-11.103.107.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-103-101,vmx103,vmx101,3,4,30,60,11.103.107.2-11.105.107.1-11.101.105.1,11.103.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
Silver-104-101,vmx104,vmx101,3,4,30,60,11.104.107.2-11.105.107.1-11.101.105.1,11.104.107.2-11.106.107.1-11.105.106.1-11.101.105.1,, 0.00, 0.00, 0.00%,0,0,,
tcg0tree-102104,vmx102,vmx104,3,-,30,-,11.102.105.2-11.105.107.2-11.104.107.1, # vmx102--11.0.0.105--11.0.0.107--11.0.0.104,(path down), 0.00,-,,10.000K,10.000K,,
11.0.0.106:11.0.0.104:300:vpls:vpn_200,vmx104,vmx106,3,1,30,50,11.104.107.2-11.105.107.1-11.105.106.2,11.104.106.2,, 0.00, 0.00, 0.00%,0,0,,
11.0.0.104:11.0.0.106:200:vpls:vpn_200,vmx106,vmx104,3,1,30,50,11.105.106.1-11.105.107.2-11.104.107.1,11.104.106.1,, 0.00, 0.00, 0.00%,0,0,,
This operation does not accept a request body.
These REST APIs are used for P2MP Tree Design Simulation. The first REST POST is utilized by the user to perform diverse p2mp tree design, given two trees in the same diversity group. The subsequent two REST GET operations are used to return the resulting list of P2MP trees.
Create 2 P2MP trees and perform Diverse P2MP Tree Design.
The request body must follow the schema rpcs.json#/definitions/diverseTreeRequest The response returned by the server conforms to: rpcs.json#/definitions/diverseTreeResult .
Parameter | Style | Type | Description |
---|---|---|---|
tenant_id | URI | xsd:int |
A unique identifier for the tenant or account. In NorthStar version 2, the unique identifier is set to 1. |
The following example show different set of request:
The following example shows P2MP Diverse Tree Design optimization:
{
"P2MPGroup": {
"name": "hhtree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"design": {
"diversityGroup": "hhzz"
}
},
"lsps": [
{
"name": "hhtree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "hhtree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"diverseP2MPGroup": {
"name": "zztree",
"from": {
"topoObjectType": "ipv4",
"address": "11.0.0.102"
},
"plannedProperties": {
"bandwidth": "99k",
"design": {
"diversityGroup": "hhzz"
}
},
"lsps": [
{
"name": "zztree-102104",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.104"
}
},
{
"name": "zztree-102107",
"to" : {
"topoObjectType": "ipv4",
"address": "11.0.0.107"
}
}
]
},
"ignoreExistingPath" : true,
"useResultAsEro" : true,
"maxIterations" : 1000
}
The following example shows P2MP Diverse Tree Design optimization using sites:
{
"P2MPGroup":{
"name":"tch0tree",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.101"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"h0h1"
}
},
"lsps":[
{
"name":"tch0tree-101104",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.104"
}
},
{
"name":"tch0tree-101107",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"diverseP2MPGroup":{
"name":"tch1tree",
"from":{
"topoObjectType":"ipv4",
"address":"11.0.0.102"
},
"plannedProperties":{
"bandwidth":"10k",
"design":{
"diversityGroup":"h0h1"
}
},
"lsps":[
{
"name":"tch1tree-102106",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.106"
}
},
{
"name":"tch1tree-102107",
"to":{
"topoObjectType":"ipv4",
"address":"11.0.0.107"
}
}
]
},
"ignoreExistingPath":true,
"useResultAsEro":true,
"maxIterations":1000,
"sites":[
{
"site":"site A",
"nodes":[
{"nodeIndex": 4},{"nodeIndex": 6}
]
}
]
}
The following example shows P2MP Diverse Tree Design optimization with bandwidth calendaring. Note that the values in the "name" field under "P2MPGroup" and under "diverseP2MPGroup" are