SURF ultimate Provider Agent (SuPA)
The SURF ultimate Provider Agent (SuPA) implements the Connection Service (CS) version 2.1 protocol that:
… enables the reservation, creation, management and removal of circuits (connections) that transit several networks managed by different providers.
The CS protocol is one of several in the Network Service Interface (NSI) protocol suite; the CS works together with these NSI services to deliver an integrated Network Services Framework (NSF). One of the active deployments is the Automated GOLE which is part of the Global Network Advancement Group (GNA-G), a worldwide collaboration of open exchange points and R&E networks to deliver network services end-to-end in a fully automated way.
This provider agent uses a plugable backend to interface with a local Network Resource Manager (NRM), or to talk directly to a network device.
SuPA is kind of special in that it does not speak NSI’s native ‘language’ SOAP. Instead, it relies on an gRPC version of the NSI protocol as implemented by PolyNSI, a SOAP <-> gRPC translating proxy that was developed as a companion for SuPA.
The idea is that a modern underlying protocol such gRPC should make it easier to develop NSI Network Service Agents in a wider range of languages than SOAP would have allowed. After all, due to its inherent complexity and ambiguity, support for SOAP was only every fully implemented for .NET, Java and C/C++. With the programming language barrier lifted we hope to increase the adoption of the NSI protocol.
- API
- supa
- supa.const
- supa.main
- supa.db.session
- supa.db.model
- supa.job.shared
- supa.job.reserve
- supa.job.provision
- supa.job.lifecycle
- supa.job.query
- supa.job.dataplane
- supa.connection.fsm
- supa.connection.error
- supa.connection.requester
- supa.connection.provider.server
- supa.util.bandwidth
- supa.util.converter
- supa.util.timestamp
- supa.util.nsi
- supa.util.vlan
- supa.util.functional
- supa.util.find
- supa.util.type
- supa.nrm.backend
- supa.nrm.backends.example
- supa.nrm.backends.surf
- supa.documents.discovery
- supa.documents.topology
- supa.documents.healthcheck