Comments (10)
Created the same. Pull request is at:
#1980
Please review the diffs.
from sai.
Not sure, but probably nobody done that yet
from sai.
Kamil,
If we want to do this GPB and give it back to community, whats the process to do it?
Any recommendations/suggestions you give, to start this off?
from sai.
I think you could first provide some high level design how you want to do it, also whether you want to implement this in SAI repo, since SAI repo defines only interface headers, so since you want to implement libsai.so which underline uses GPB, it will require code to do it, you can ether make it here or separate repo for that, i think this could be good topic for discussion in SAI community meeting.
PS. do you have GPB documentation somewhere, is it opensource project ? any links or references to it?
from sai.
Kamil,
https://github.com/protocolbuffers/protobuf is the repo for GPB.
- GPB (.proto) file will provide a serialisation format for packets of typed, structured data for all SAI supported features to make RPC from south-bound of NOS to server (running on other OS which includes SAI).
Right now, we don't have any GPB notes/HLD for SAI. We will try to comeup with a draft in few weeks if community is OK to go-ahead with this layer on top of SAI.
At high level, the thought process is to use the same xml generated (while compiling for thrift rpc) and use that xml to generate a .proto, server and client libraries for all supported features in SAI.
We are thinking about:
- when we "make sai",
- .proto files will be generated along with gpb server and client APIs.
- libsai.so will be built containing the server-code, sai-adapter.
- clinet lib.so will also be build.
from sai.
Thanks, i just made a quick look, i sorry but i dont have time to do a deep dive into that lib.
Your steps sounds good and i think it could be beneficial to eveyrone to have such rpc.
I think it should be easy to generate proto files from SAI headers, considering that we have all headers validated and in consistent form. You just need a small parser for SAI headers.
from sai.
I have written down a document on what I plan to do to generate a .proto file.
Please review it. I have the code ready too.
Please let me know on your comments.
from sai.
as entry document looks good
from sai.
Trying to push my diff to a branch "protobuf". I get the following error:
======
git push origin protobuf
ERROR: Permission to opencomputeproject/SAI.git denied to raghunandan403.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
========
Kamil,
Can you help here ?
from sai.
you are trying to push to origin, you need to create fork for your repo, push to your repo branch and then create new PR here
from sai.
Related Issues (20)
- SAI_API_MPLS not supported for Mellanox/Nvidia Spectrum chips
- Possible SAI API struct *_api_t mismatch
- Correct version in saithrift package HOT 3
- Too many saithrift servers in SAI repo HOT 18
- buffer overflow vulnerability in sai_serialize_attribute function HOT 3
- Unused code? HOT 3
- Some generated metadata items are not binary backward compatible HOT 1
- Query: Shared threshold mode for the buffer profile HOT 5
- wrong size of sai_acl_capability_t HOT 3
- outside the range of type ‘sai_object_type_t’ HOT 8
- WEIGHT is valid for SAI_SCHEDULING_TYPE_WRR as well
- How to generate test report for SAI PTF test case
- test
- Clarification on Conflicting Actions Resolution in ACL Table HOT 5
- [information request] do we have a way to set the type of hash algo?
- Get vendor specific version information from SAI HOT 5
- saithrift build issue for bookworm HOT 1
- GCC 12 error in saimetadatatest.c HOT 1
- checkenumlock.sh fails with SAI v1.11 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sai.