-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "What is included" section to README #24
Conversation
Signed-off-by: Andy Fingerhut <[email protected]>
Signed-off-by: Andy Fingerhut <[email protected]>
Signed-off-by: Andy Fingerhut <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've left a couple of comments.
README.md
Outdated
The following things are included in this repository: | ||
|
||
+ Driver software | ||
+ bfrt runtime API implementation |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The official name is BRI -- Barefoot Runtime Interface, which consists of two components (APIs):
- The locally callable BfRt API (with bindings in C and C++)
- The gRPC-based protocol, called BF Runtime, together with the server implementation in C++ and both C++ and Python client bindings (others can be generated using the provided proto files as well)
** The additionalbfrt_grpc.client
Python module provides easier-to-use, simplified interface to BF Runtime (used for most PTF tests, for example)
README.md
Outdated
+ bfrt_python code is included, but the build process needs some fixes | ||
before this is available for use. | ||
|
||
This supports developing and compiling P4 programs for Tofino 1 and 2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I parse it in a "lawerly" way, you might be right, but few people will realize that while the repo does, indeed, allow one to develop the P4 code that would run on both ASIC and the model, it will not allow one to develop the control plane SW that runs on anything but the model :)
I would re-word to make the lack of support for running the code on the ASICs more explicit.
README.md
Outdated
after they have been successfully compiled. | ||
+ Note: P4.org personnel are in communication with Intel to see if this | ||
can be released as open source soon. | ||
+ BSPs (Board Support Packages) for booting hardware boards containing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The purpose of BSP is to allow the SDE to access and manage board-specific components, necessary for port management. Without the BSP you can't really have links on physical ports.
It is not used to boot hardware boards (and it is not the purpose of the SDE to begin with)
Signed-off-by: Andy Fingerhut <[email protected]>
@vgurevich Thanks for the detailed comments. I have attempted to address your first 3 comments with the changes in commit 5 of this PR. If you could give it one more look to see if I've messed up somehow, that would be appreciated. |
Signed-off-by: Andy Fingerhut <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, @jafingerhut -- you know I like to comment :)
README.md
Outdated
Some things not included, that one must get from Intel: | ||
|
||
+ P4Insight GUI for visualizing the hardware resources used by P4 programs | ||
after they have been successfully compiled. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the word "successfully" -- P4i is often quite useful precisely when the programs are not successfully compiled.
README.md
Outdated
can be released as open source soon. | ||
+ BSPs (Board Support Packages) that enable the SDE to access and | ||
configure hardware on a physical board, e.g. configuring physical | ||
Ethernet ports. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
... and manage related components, such as repeaters, retimers, SFPs, QSFPs, etc.
README.md
Outdated
+ BSPs (Board Support Packages) that enable the SDE to access and | ||
configure hardware on a physical board, e.g. configuring physical | ||
Ethernet ports. | ||
+ Drivers for Serdes on the ASICs. These are not necessary for running |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ASIC-specific SerDes drivers. These are not necessary to run the simulation model, but essential for running the code on the real ASICs
Signed-off-by: Andy Fingerhut <[email protected]>
@vgurevich I believe I've addressed all of your second round of comments. Keep them coming, if you have more, otherwise please approve the PR. |
Already done! |
@pkotikal Please take quick look at this and see if you notice anything misstated here, or other things included or missing that are not mentioned. Thanks. |
Thanks Andy. Only one comment - the bf-drivers build instructions for HW are here - https://github.com/p4lang/open-p4studio/blob/main/hw/RDC_README. The vendor specific files and patches need to be downloaded from Intel RDC. |
@pkotikal Thanks for the note. I am confused, though. Some Tofino driver code must be running in order to successfully run the PTF test that has been passing so far, even though the Are you saying that in order to build a version of the Tofino drivers that runs with real hardware, you need to follow the instructions? I will assume yes for now, create a proposed PR that tries to explain that, and ask you and Vlad to review. |
That's right @jafingerhut, we are building the driver that works with tofino-model for the PTF tests. @ansamalintel, could you please elaborate on the bf-drivers build for HW. Thanks! |
@jafingerhut Some of the driver source files call third-party proprietary APIs to program their corresponding hardware components. For instance, to program Credo Serdes, we use the API provided by Credo SDK. We requested permission to include these APIs in our Tofino open-source repository, but we did not receive a positive response. Therefore, we decided to remove source code that exposes third-party vendor-specific APIs from our Tofino open-source code. |
@pkotikal @vgurevich I would appreciate your comments on this PR, in case I am leaving anything out.