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
- 6.2. ETSI Bandwidth Management (BWM)
- 6.3. IETF L2VPN Service Delivery (L2SM) [RFC8466]
- 6.4. IETF L3VPN Service Delivery (L3SM) [RFC8299]
- 6.5. IETF Network Topology [RFC8345]
- 6.6. 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:

- IETF RFC8345: A YANG Data Model for Network Topologies
- IETF RFC8795: YANG Data Model for Traffic Engineering (TE) Topologies
- IETF RFC8776: Common YANG Data Types for Traffic Engineering
- IETF RFC6991: Common YANG Data Types
- IETF draft-ietf-ccamp-eth-client-te-topo-yang-05: A YANG Data Model for Ethernet TE Topology
- IETF draft-ietf-ccamp-client-signal-yang-10: A YANG Data Model for Transport Network Client Signals

## 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:

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