NetworkGradeLinux / mion

Main repository for the mion network operating system
Other
15 stars 0 forks source link

External APIs #12

Closed CommitThis closed 3 years ago

CommitThis commented 4 years ago

Stratum (the ONF operating system-in-a-container) exposes several APIs for management. Some of which may be of interest.

If we were running Stratum on Mion directly, having separate APIs for the following becomes a moot point, and I think further work is required before we even get to that stage, especially at this stage since my understanding is we would have to build Stratum from source with every image to work withrunc. However, if we wanted to give customers the choice of not using Stratum, we could include our own versions of these APIs.

I don't think the majority of these are needed, but it would be worth consideration post 1.0 release.

In any case, I think the easiest route would be to go down the Stratum path, but I think we would need to chat with ONF regarding how the integration currently works with existing switches.

The APIs as they are at the moment follow:

P4Runtime

This controls the tables on the switch ASIC for matching packets and selecting actions for them. This sits on top of the whatever P4 management software is running on the switch. This may already be included with Barefoot. More research is required to understand this.

gNOI

This is the gRPC Network Operations Interface. This includes the following:

gNMI

gRPC Network Management Service. Basically a service for steaming telemetry and counters, with associated paths that can be subscribed to. I believe this is the part of Stratum that using the ONLP platform code.

CommitThis commented 4 years ago

Links: P4 Runtime: https://github.com/p4lang/p4runtime gNOI: https://github.com/openconfig/gnoi gNMI: https://github.com/openconfig/gnmi

And there is an unofficial Google project that has reference implementations of the various services, much in the same way Stratum likely has: https://github.com/google/gnxi

CommitThis commented 3 years ago

This was a "lets think about it" ticket, and since things we're pretty much looking at Stratum now, I'm closing this.