Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature#4851
Add gearbox phy device files and a new physyncd docker to support VS gearbox phy feature#4851lguohan merged 38 commits intosonic-net:masterfrom
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: [email protected]
|
@ |
device/dell/x86_64-dellemc_s5248f_c3538-r0/DellEMC-S5248f-P-25G/gearbox_config.json
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: [email protected]
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: [email protected]