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 API](#61-tfs-apie)
- [6.2. ETSI Bandwidth Management (BWM)](#62-etsi-bandwidth-management-bwm)
- [6.3. IETF L2VPN Service Delivery (L2SM) [RFC8466]](#63-ietf-l2vpn-service-delivery-l2sm-rfc8466)
- [6.4. IETF L3VPN Service Delivery (L3SM) [RFC8299]](#64-ietf-l3vpn-service-delivery-l3sm-rfc8299)
- [6.5. IETF Network Topology [RFC8345]](#65-ietf-network-topology-rfc8345)
- [6.6. IETF Network Slice Service [draft-ietf-teas-ietf-network-slice-nbi-yang]](#66-ietf-network-slice-service-draft-ietf-teas-ietf-network-slice-nbi-yang)

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:

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

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:

- IETF RFC8299: YANG Data Model for L3VPN Service Delivery

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: