Skip to content

6. Supported NBIs

This section summarizes the NBI connectors supported by the TeraFlowSDN controller to interoperate with OSS/BSS/NFVO on top of it.

6.1. TFS APIe

This NBI connector exposes the basic gRPC methods of TeraFlowSDN that enable to manage contexts, topologies, devices, links, services, slices, connections, and policies.

Exposed endpoints:

Endpoint /tfs-api/context_ids

  • Method: GET
    • Used to list the context identifiers

Endpoint /tfs-api/contexts

  • Method: GET
    • Used to list the details of all contexts

Endpoint /tfs-api/dummy_contexts

  • Method: GET
    • Used to dump contexts (including related topologies, devices, links, services, slices, and connections) in a snapshot format that can be imported directly in TeraFlowSDN WebUI.
    • IMPORTANT: the resulting document is processed by WebUI in dummy mode, i.e., just to populate Context database, but not interacting with Device, Service, and Slice components.

Endpoint /tfs-api/context/<path:context_uuid>

  • Method: GET
    • Used to retrieve a specific context

Endpoint /tfs-api/context/<path:context_uuid>/topology_ids

  • Method: GET
    • Used to list the topology identifiers in a context

Endpoint /tfs-api/context/<path:context_uuid>/topologies

  • Method: GET
    • Used to list all the topology details in a context

Endpoint /tfs-api/context/<path:context_uuid>/topology/<path:topology_uuid>

  • Method: GET
    • Used to retrieve a specific topology in a context

Endpoint /tfs-api/context/<path:context_uuid>/service_ids

  • Method: GET
    • Used to list the service identifiers in a context

Endpoint /tfs-api/context/<path:context_uuid>/services

  • Method: GET

    • Used to list all the service details in a context
  • Method: POST

    • Used to create a service
  • Method: PUT

    • Used to update a service
  • Method: DELETE

    • Used to delete a service

Endpoint /tfs-api/context/<path:context_uuid>/service/<path:service_uuid>

  • Method: GET
    • Used to retrieve a specific service in a context

Endpoint /tfs-api/context/<path:context_uuid>/slice_ids

  • Method: GET
    • Used to list the slice identifiers in a context

Endpoint /tfs-api/context/<path:context_uuid>/slices

  • Method: GET
    • Used to list all the slice details in a context

Endpoint /tfs-api/context/<path:context_uuid>/slice/<path:slice_uuid>

  • Method: GET
    • Used to retrieve a specific slice in a context

Endpoint /tfs-api/device_ids

  • Method: GET
    • Used to list the device identifiers

Endpoint /tfs-api/devices

  • Method: GET
    • Used to list the device details

Endpoint /tfs-api/device/<path:device_uuid>

  • Method: GET
    • Used to retrieve a specific device

Endpoint /tfs-api/link_ids

  • Method: GET
    • Used to list the link identifiers

Endpoint /tfs-api/links

  • Method: GET
    • Used to list the link details

Endpoint /tfs-api/link/<path:link_uuid>

  • Method: GET
    • Used to retrieve a specific link

Endpoint /tfs-api/context/<path:context_uuid>/service/<path:service_uuid>/connection_ids

  • Method: GET
    • Used to list the connection identifiers related to a service

Endpoint /tfs-api/context/<path:context_uuid>/service/<path:service_uuid>/connections

  • Method: GET
    • Used to list all the connection details related to a service

Endpoint /tfs-api/connection/<path:connection_uuid>

  • Method: GET
    • Used to retrieve a specific connection

Endpoint /tfs-api/policyrule_ids

  • Method: GET
    • Used to list all the policy rule identifiers

Endpoint /tfs-api/policyrules

  • Method: GET
    • Used to list all the policy rule details

Endpoint /tfs-api/policyrule/<path:policyrule_uuid>

  • Method: GET
    • Used to retrieve a specific policy rule

6.2. ETSI Bandwidth Management (BWM)

ETSI Traffic Bandwidth Management (BWM) API (GS MEC 015)

Documentation in progress

Supported features:

  • L3 connectivity service management

Tested OSS/BSS/NFVO:

  • Proprietary Moonlight extension
  • Standalone script

Reference:

  • ETSI Traffic Bandwidth Management (BWM) API (GS MEC 015)

6.3. IETF L2VPN Service Delivery (L2SM) [RFC8466]

IETF RFC8466: A YANG Data Model for Layer 2 Virtual Private Network (L2VPN) Service Delivery

Documentation in progress

Supported features:

  • L2 VPN management

Tested OSS/BSS/NFVO:

  • ETSI OpenSource MANO v12.1+

Reference:

6.4. IETF L3VPN Service Delivery (L3SM) [RFC8299]

IETF RFC8299: YANG Data Model for L3VPN Service Delivery

Documentation in progress

Supported features:

  • L3 VPN management

Tested OSS/BSS/NFVO:

  • Proprietary OSM extensions
  • Standalone script

Reference:

6.5. IETF Network Topology [RFC8345]

IETF RFC8345: A YANG Data Model for Network Topologies

Documentation in progress

This extension also features partial support for:

  • IETF RFC 8795: YANG Data Model for Traffic Engineering (TE) Topologies
  • IETF RFC draft-ietf-ccamp-eth-client-te-topo-yang-05: A YANG Data Model for Ethernet TE Topology
  • IETF RFC draft-ietf-ccamp-client-signal-yang-10: A YANG Data Model for Transport Network Client Signals

Supported features:

  • Static topology exposition

Tested OSS/BSS/NFVO:

  • Proprietary OSM extensions
  • Standalone script

Reference:

6.6. IETF Network Slice Service [draft-ietf-teas-ietf-network-slice-nbi-yang]

IETF draft-ietf-teas-ietf-network-slice-nbi-yang: A YANG Data Model for the RFC 9543 Network Slice Service

Important: implemented version is based on version 2 of the draft:

  • draft-ietf-teas-ietf-network-slice-nbi-yang-02: IETF Network Slice Service YANG Model

Documentation in progress

Supported features:

  • L2/L3 slice management

Tested OSS/BSS/NFVO:

  • Standalone script

Reference: