This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
sonic-buildimage/platform/broadcom/docker-syncd-brcm/start.sh
Harish Venkatraman 87e942343f [device/dell] Added dynamic sai.profile generation (#1518)
* [device/dell] Added dynamic sai.profile generation

This commit addds new code for generating dynamic sai.profile file.
The sai.profile.j2 will generate the sai.profile dynamically based on
the topology. It will generate the sai.profile under /etc/sai.d/ directory
in syncd. Before syncd is started this J2 file will be run from the start.sh
file from /usr/bin/ directory. Since the sai.profile is dynamically generated
the old sai.profile file is not required so deleted the file for S6100.
It also address couple of more changes for port_config.ini support is added
for speed in the file which can be used later to find the port speed. Also
the buffer_default_t*.j2 file the ports should be from 0 to 64 changed.

Unit tested the code on S6100 for dynamic generation of sai.profile file for
both T0 and T1 and the file was created in /etc/sai.d/sai.profile
Similarly tested the sonic binary on S6000 to make sure that the sai.profile is
copied from the /usr/share/sonic/hwsku/sai.profile to /etc/sai.d/sai.profile.

Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>

* [sonic-buildimage] Updating module sai-redis

Updating the sonic-sairedis point.

Signed-off-by: Harish Venkatraman <Harish_Venkatraman@dell.com>
2018-03-21 09:28:23 -07:00

38 lines
944 B
Bash
Executable File

#!/usr/bin/env bash
PLATFORM_DIR=/usr/share/sonic/platform
HWSKU_DIR=/usr/share/sonic/hwsku
rm -f /var/run/rsyslogd.pid
supervisorctl start rsyslogd
mkdir -p /etc/sai.d/
# Create/Copy the sai.profile to /etc/sai.d/sai.profile
if [ -f $HWSKU_DIR/sai.profile.j2 ]; then
sonic-cfggen -d -t $HWSKU_DIR/sai.profile.j2 > /etc/sai.d/sai.profile
else
if [ -f $HWSKU_DIR/sai.profile ]; then
cp $HWSKU_DIR/sai.profile /etc/sai.d/sai.profile
fi
fi
supervisorctl start syncd
# Function: wait until syncd has created the socket for bcmcmd to connect to
wait_syncd() {
while true; do
if [ -e /var/run/sswsyncd/sswsyncd.socket ]; then
break
fi
sleep 1
done
}
# If this platform has an initialization file for the Broadcom LED microprocessor, load it
if [ -r ${PLATFORM_DIR}/led_proc_init.soc ]; then
wait_syncd
/usr/bin/bcmcmd -t 60 "rcload ${PLATFORM_DIR}/led_proc_init.soc"
fi