You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support of mdio IPC server class using sai switch api and unix socket (#1080)
Why I did it
When MDIO devices (external PHYs) are connected on MDIO bus from NPU, the MDIO access is through SAI switch mdio read/write APIs. The syncd calling the SAI APIs needs to act as an IPC server so that the gbsyncd programming the MDIO devices can use the APIs by the IPC mechanism.
How I did it
MdioIpcServer class is added to start a new thread, to create an unix socket, to listen on the socket, to accept connection and to read/reply IPC messages. The corresponding functions for MDIO clause 45 and clause 22 access are also added to VendorSai class.
How to verify it
We can use socat to simulate the IPC client, e.g.
docker exec -it syncd socat - UNIX-CONNECT:/var/run/sswsyncd/mdio-ipc.srv
to read MDIO clause 45 register at an address and an offset
mdio <address> <reg offset>
to write MDIO clause 45 register at an address and an offset with a value
mdio <address> <reg offset> <value>
to read MDIO clause 22 register at an address and an offset
mdio-cl22 <address> <reg offset>
to write MDIO clause 22 register at an address and an offset with a value
mdio-cl22 <address> <reg offset> <value>
Signed-off-by: Jiahua Wang <[email protected]>
0 commit comments