SONiC
SONiC copied to clipboard
Query: bcmcmd with Broadcom ASIC
Could anyone explain how bcmcmd communicates with ASIC.
From command line, it looks bcmcmd connects to sswsyncd socket; and dsserve (parent of syncd) is listening on this socket.
# USAGE: bcmcmd [-f <sun_path>] -v <cmd>
-v verbose mode
-f domain socket filename, default /var/run/sswsyncd/sswsyncd.socket
root@syncd:/# netstat -alpn | grep dsserv
unix 2 [ ACC ] STREAM LISTENING 267222 20/dsserve /var/run/sswsyncd/sswsyncd.socket
So is dsserve directly communicating with ASIC? I'm trying to understand whether communication is like: bcmcmd <--> dsserve <--> SDK/ASIC or bcmcmd <--> dsserve <--> syncd <--> SDK/ASIC
the second one is correct.
@lguohan Thanks for the response.
Could you please help me understand this flow: bcmcmd <--> dsserve <--> syncd <--> SDK/ASIC. I assume syncd <--> SDK/ASIC means syncd <--> SAI library <--> SDK/ASIC.
Does this mean the ASIC specific SAI library has to support a mechanism to run bcm shell commands? Are there generic SAI APIs for this purpose?
@qiluo-msft @lguohan could you share dsserve and bcmcmd code ?
@qiluo-msft @lguohan could you share dsserve and bcmcmd code ?
Have you received the source code? Can you share it?