Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Reads the discover network information from AAI.


    URL: /aai/v16/network/logical-links

    Response:
     [{
        "link-name": "cross-link-2",
        "in-maint": false,
        "link-type": "cross-link",
        "operational-status": "up",
        "relationship-list": {
            "relationship": [ {
                    "related-link": "/aai/v13/network/pnfs/pnf/10.10.10.10/p-interfaces/p-interface/nodeId-10.10.10.10-ltpId-58"
                },{
                    "related-link": "/aai/v13/network/pnfs/pnf/11.11.11.11/p-interfaces/p-interface/nodeId-11.11.11.11-ltpId-159"
                  } ]
        }
    }]

    URL: "/aai/v13/network/pnfs/pnf/10.10.10.10/p-interfaces/p-interface/nodeId-10.10.10.10-ltpId-58



  2. prepare the discovery information according to the OOF model structure which is compatible for mini zinc framework. 
  3. push the model information to the mini zinc framework.
  4. get the optimistic route list from the framework.
  5. respond back to sdnc.

API internal process:

  1. Parse the request payload, and get the source and destination (node/LtpId) from the request.
  2. From AAI query all the logical links (preconfigured) by URL /aai/v16/network/logical-links.
  3. From the response of the API call to AAI, the following information can be obtained.
    1. Logical link.
    2. the pnfs this logical link is associated with.
    3. the LtpId's that are available with the pnf's.
  4. From the response of step 3, we would be having data as mentioned below (Considering the below example):

     [{
        "link-name": "cross-link-2",
        "in-maint": false,
        "link-type": "cross-link",
        "operational-status": "up",
        "relationship-list": {
            "relationship": [ {
                    "related-link": "/aai/v13/network/pnfs/pnf/10.10.10.10/p-interfaces/p-interface/nodeId-10.10.10.10-ltpId-58"
                },{
                    "related-link": "/aai/v13/network/pnfs/pnf/11.11.11.11/p-interfaces/p-interface/nodeId-11.11.11.11-ltpId-159"
                  } ]
        }
    },

    {
        "link-name": "cross-link-3",
        "in-maint": false,
        "link-type": "cross-link",
        "operational-status": "up",
        "relationship-list": {
           

...

  1. "relationship": [ {
                    "related-link": "/aai/v13/network/pnfs/pnf/11.11.11.11/p-interfaces/p-interface/nodeId-11.11.11.11-ltpId-59"
                },{
                    "related-link": "/aai/v13/network/pnfs/pnf/12.12.12.12/p-interfaces/p-interface/nodeId-12.12.12.12-ltpId-160"
                  } ]
        }
    },


    {
        "link-name": "cross-link-1",
        "in-maint": false,
        "link-type": "cross-link",
        "operational-status": "up",
        "relationship-list": {
            "relationship": [ {
                    "related-link": "/aai/v13/network/pnfs/pnf/10.10.10.10/p-interfaces/p-interface/nodeId-10.10.10.10-ltpId-72"
                },{
                    "related-link": "/aai/v13/network/pnfs/pnf/12.12.12.12/p-interfaces/p-interface/nodeId-12.12.12.12-ltpId-112"
                  } ]
        }
    }]

    Link Name1st Node Id1st LtpId2nd Node Id2nd LtpId
    cross-link-210.10.10.105811.11.11.11159
    cross-link-311.11.11.115912.12.12.12160
    cross-link-110.10.10.107212.12.12.12112


  2. Get the source and destination entity from request and find the optimistic route between them. For example, if the request contains "accessNodeId" as 10.10.10.10 in RoutePortInfo object of "srcPort", "accessNodeId" as 12.12.12.12 in RoutePortInfo object of "destPort" and then the link between 10.10.10.10 and 12.12.12.12 should be returned as a response.


    InputOutputAdditional Information

    srcPort : 10.10.10.10

    destPort: 12.12.12.12

    Cross-link-1

    Since Cross-link-1 is the shortest path

    between node 10.10.10.10 and 12.12.12.12


  3. Response would be send back to the caller.


Interface definition:

Interface DefinitionDescription
Content-Typeapplication/json
Operation Type

POST

URIhttps://{host}:{port}/api/oof/v1/route

...

Attribute

Required?

Cardinality

Content

Values

Description

startTime
Y1Timestamp

finishTime
Y1Timestamp

VPNsLinks
N0..NList of VPNInfoLinkInfo
List of VPNLink's

...

Link Info

AttributeRequired
?
Cardinality
cordinalityContentValuesDescription

Attribute

Required?

Cardinality

Content

Values

Description

accessTopologyId
Additional Information
LinkIdY1String
Access Topology Id
accessClientId
Y1String
accessProviderId
Y1String
accessNodeId
Y1String
srcAccessLtpId
Y1Integer
dstAccessLtpId
Y1Integer

The Id of the link which provides connectivity between 2 domainsA logical entity which can provide connectivity between 2 domains.

HTTP Response Code

HTTP Code

Response Phrase

Description

201

Created

An optimization solution is found.

202

Accepted

An optimization request is accepted.

400

Bad request

Bad request.

401

Unauthorized

Request body is not compliant with the API definition.

404

Not found

The server cannot find the requested URI.

405

Method not found

The requested method is not supported by a server.

500

Internal server error

The server encountered an internal server error or timed out.

520Solver errorRequested number of solutions cannot be found.


View file
nameswagger v1.0.json
height250
View file
nameswagger v1.0.yaml
height250