-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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 gearbox phy device files and a new physyncd docker to support VS gearbox phy feature #4851
Conversation
… support VS gearbox phy feature * scripts and configuration needed to support a second syncd docker (physyncd) * physyncd supports gearbox device and phy SAI APIs and runs multiple instances of syncd, one per phy in the device * support for VS target (sonic-sairedis vslib has been extended to support a virtual BCM81724 gearbox PHY). HLD is located at https://github.com/Azure/SONiC/blob/b817a12fd89520d3fd26bbc5897487928e7f6de7/doc/gearbox/gearbox_mgr_design.md **- Why I did it** This work is part of the gearbox phy joint effort between Microsoft and Broadcom, and is based on multi-switch support in sonic-sairedis. **- How I did it** Overall feature was implemented across several projects. The collective pull requests (some in late stages of review at this point): sonic-net/sonic-utilities#931 - CLI (merged) sonic-net/sonic-swss-common#347 - Minor changes (merged) sonic-net/sonic-swss#1321 - gearsyncd, config parsers, changes to orchargent to create gearbox phy on supported systems sonic-net/sonic-sairedis#624 - physyncd, virtual BCM81724 gearbox phy added to vslib **- How to verify it** In a vslib build: root@sonic:/home/admin# show gearbox interfaces status PHY Id Interface MAC Lanes MAC Lane Speed PHY Lanes PHY Lane Speed Line Lanes Line Lane Speed Oper Admin -------- ----------- --------------- ---------------- --------------- ---------------- ------------ ----------------- ------ ------- 1 Ethernet48 121,122,123,124 25G 200,201,202,203 25G 204,205 50G down down 1 Ethernet49 125,126,127,128 25G 206,207,208,209 25G 210,211 50G down down 1 Ethernet50 69,70,71,72 25G 212,213,214,215 25G 216 100G down down In addition, docker ps | grep phy should show a physyncd docker running. Signed-off-by: syd.logan@broadcom.com
@ |
device/dell/x86_64-dellemc_s5248f_c3538-r0/DellEMC-S5248f-P-25G/gearbox_config.json
Outdated
Show resolved
Hide resolved
…ific code not relevant
@lguohan - could you please review and consider merge please, or do you have suggestion on who to request help from? |
@jleveque, can you please review and sign off? thanks. |
device/dell/x86_64-dell_s6000_s1220-r0/Force10-S6000/gearbox_config.json
Outdated
Show resolved
Hide resolved
Retest vsimage please |
Retest baseimage please |
Some explanation of 6eaf960: When looking at the change, it might be hard to see what was done just by looking at context diffs, but essentially this is what was done: syncd_common.sh now has 99% of what was in syncd.sh and gbsyncd. I found that in, say, the start entry point, syncd_common.sh was doing platform specific things that made no sense to do for phy/gb. This was also the case for the other entry points. These had to be pulled out and coupled with syncd,sh, decoupled from gbsyncd.sh. So, I replaced that syncd-specific code with what effectively is a callback to the main script (e.g., syncd.sh). It's kind of like a callback, or maybe a perverse implementation of the pimpl pattern in the classic design patterns book (GOF). In gbsyncd, these callbacks became no-ops -- empty bash functions. In syncd, they implement that which only should be done for syncd, and are called at the very same point they were executed in the original script. |
Retest vsimage please |
2 similar comments
Retest vsimage please |
Retest vsimage please |
can you also bring the submodule up to date in buildimage repo? |
Not sure I follow, which submodule needs to be updated? |
Retest vsimage please |
Retest mellanox please |
Retest baseimage please |
retest vsimage please |
Resolved. sonic-sairedis and sonic-swss-common both had commits we needed, done in commit 623d5c0 |
Retest mellanox please |
…gearbox phy feature (sonic-net#4851) * buildimage: Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature * scripts and configuration needed to support a second syncd docker (physyncd) * physyncd supports gearbox device and phy SAI APIs and runs multiple instances of syncd, one per phy in the device * support for VS target (sonic-sairedis vslib has been extended to support a virtual BCM81724 gearbox PHY). HLD is located at https://github.com/Azure/SONiC/blob/b817a12fd89520d3fd26bbc5897487928e7f6de7/doc/gearbox/gearbox_mgr_design.md **- Why I did it** This work is part of the gearbox phy joint effort between Microsoft and Broadcom, and is based on multi-switch support in sonic-sairedis. **- How I did it** Overall feature was implemented across several projects. The collective pull requests (some in late stages of review at this point): sonic-net/sonic-utilities#931 - CLI (merged) sonic-net/sonic-swss-common#347 - Minor changes (merged) sonic-net/sonic-swss#1321 - gearsyncd, config parsers, changes to orchargent to create gearbox phy on supported systems sonic-net/sonic-sairedis#624 - physyncd, virtual BCM81724 gearbox phy added to vslib **- How to verify it** In a vslib build: root@sonic:/home/admin# show gearbox interfaces status PHY Id Interface MAC Lanes MAC Lane Speed PHY Lanes PHY Lane Speed Line Lanes Line Lane Speed Oper Admin -------- ----------- --------------- ---------------- --------------- ---------------- ------------ ----------------- ------ ------- 1 Ethernet48 121,122,123,124 25G 200,201,202,203 25G 204,205 50G down down 1 Ethernet49 125,126,127,128 25G 206,207,208,209 25G 210,211 50G down down 1 Ethernet50 69,70,71,72 25G 212,213,214,215 25G 216 100G down down In addition, docker ps | grep phy should show a physyncd docker running. Signed-off-by: syd.logan@broadcom.com
HLD is located at https://github.com/Azure/SONiC/blob/b817a12fd89520d3fd26bbc5897487928e7f6de7/doc/gearbox/gearbox_mgr_design.md
- Why I did it
This work is part of the gearbox phy joint effort between Microsoft and Broadcom, and is based
on multi-switch support in sonic-sairedis.
- How I did it
Overall feature was implemented across several projects.
sonic-net/sonic-utilities#931 - CLI
sonic-net/sonic-swss-common#347 - Minor changes
sonic-net/sonic-swss#1321 - gearsyncd, config parsers, changes to orchargent to create gearbox phy on supported systems
sonic-net/sonic-sairedis#632 - physyncd, virtual BCM81724 gearbox phy added to vslib
- How to verify it
In a vslib build (i.e., make target/sonic-vs.img.gz):
root@sonic:/home/admin# show gearbox interfaces status
PHY Id Interface MAC Lanes MAC Lane Speed PHY Lanes PHY Lane Speed Line Lanes Line Lane Speed Oper Admin
In addition, docker ps | grep phy should show a gbsyncd docker running.
Signed-off-by: syd.logan@broadcom.com