I know some of you but not all, I am Don Newton and I joined Brian O'Connor at ONF specifically to work on the PINS project last summer.
There has been some talk about building a platform agnostic P4Runtime service library suitable for embedding in any programmable switch stack. Over the last couple weeks I have extracted such a library from the P4Runtime implementation we are using within the PINS project. We have done some basic testing with it in the ONF lab and it works well. To date we have focused on L3 Routing both single and multi path.
1: It is more likely to stay faithful to the spec.
2: Provides a easy feedback mechanism for evolving the spec to resolve ambiguities and feature enhancements
3: Lower the barrier of entry for (soft)switch stack implementations
4: Attract more vendors to the technology
Legally the library is a derivation of work authored by Google. We have a verbal understanding of the benefits above and agreement to allow publishing but are still waiting on the go - ahead. Feel free to locally clone and build but it shouldn't be publicly forked yet. We do believe approval is imminent.
1: I want to build a "dummy" switch that exposes the P4Runtime interface that would implement the logic of a switch implementation
2: I wrote a Golang P4Runtime client that allows basic testing of all features except packet-io. I plan to extract a library and publish that for use with new Sdn Controllers
I plan to start attending the monthly api meetings beginning next Friday and would be happy to discuss this proposal then, time permitting.
I will be on vacation next Monday thru Thursday so likely won't respond timely to mailing list questions.