Use cases have been proposed for the TeraFlowSDN controller. They are classified into the following topics: inventory, topology, service, transport network slicing, monitoring, traffic engineering, automation, policy enforcement, ML-based security, distributed ledger and smart contracts, compute integration, and inter-domain. A complete set of requirements for the TeraFlow SDN Controller are introduced. They have been classified as functional and non-functional and they cover the proposed use cases.
We have presented an architecture for the TeraFlowSDN controller. First, we have provided an overall view of the architecture. Secondly, we have presented each detailed component architecture, with a special focus on RPC and data models involved. Finally, we have presented several workflows that involve multiple component interaction.
ETSI TeraFlowSDN has been implemented following the cloud-native architecture concept. The software is divided into microservices that execute specific tasks and collaborate through messages to achieve the end goal for which the software is designed. In TeraFlowSDN, the communication between components is based on gRPC. We have defined different RPC methods and messages and grouped them by microservice. At TeraFlow project ending, the release for ETSI TeraFlowSDN is 2.1.