Giter Club home page Giter Club logo

Comments (10)

raghunandan403 avatar raghunandan403 commented on July 18, 2024 1

Created the same. Pull request is at:
#1980

Please review the diffs.

from sai.

kcudnik avatar kcudnik commented on July 18, 2024

Not sure, but probably nobody done that yet

from sai.

raghunandan403 avatar raghunandan403 commented on July 18, 2024

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.

kcudnik avatar kcudnik commented on July 18, 2024

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.

raghunandan403 avatar raghunandan403 commented on July 18, 2024

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.

kcudnik avatar kcudnik commented on July 18, 2024

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.

raghunandan403 avatar raghunandan403 commented on July 18, 2024

sai-grpc-writedown.docx

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.

kcudnik avatar kcudnik commented on July 18, 2024

as entry document looks good

from sai.

raghunandan403 avatar raghunandan403 commented on July 18, 2024

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.

kcudnik avatar kcudnik commented on July 18, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.