4bb8ab3495
Add support to start fdbsyncd when swss docker starts. New demon is added to sync MAC from Kernel to DB and vise versa.
92 lines
2.0 KiB
Bash
Executable File
92 lines
2.0 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
# generate configuration
|
|
[ -d /etc/sonic ] || mkdir -p /etc/sonic
|
|
|
|
if ! ip link show eth0 &> /dev/null; then
|
|
ip link add eth0 type dummy
|
|
fi
|
|
|
|
SYSTEM_MAC_ADDRESS=$(ip link show eth0 | grep ether | awk '{print $2}')
|
|
sonic-cfggen -a '{"DEVICE_METADATA":{"localhost": {"mac": "'$SYSTEM_MAC_ADDRESS'"}}}' --print-data > /etc/sonic/init_cfg.json
|
|
|
|
if [ -f /etc/sonic/config_db.json ]; then
|
|
sonic-cfggen -j /etc/sonic/init_cfg.json -j /etc/sonic/config_db.json --print-data > /tmp/config_db.json
|
|
mv /tmp/config_db.json /etc/sonic/config_db.json
|
|
else
|
|
sonic-cfggen -j /etc/sonic/init_cfg.json --print-data > /etc/sonic/config_db.json
|
|
fi
|
|
|
|
mkdir -p /etc/swss/config.d/
|
|
|
|
rm -f /var/run/rsyslogd.pid
|
|
|
|
echo "Start rsyslogd"
|
|
supervisorctl start rsyslogd
|
|
|
|
mkdir -p /var/run/redis
|
|
|
|
echo "Start redis"
|
|
supervisorctl start redis-server
|
|
|
|
echo "Veth Setup"
|
|
veth_setup.sh > /tmp/veth_setup.log
|
|
|
|
echo "Start BM"
|
|
rm -rf bm_logs/bridge_log.*
|
|
rm -rf bm_logs/router_log.*
|
|
rm -rf log.txt
|
|
mkdir -p bm_logs
|
|
supervisorctl start bm_bridge
|
|
supervisorctl start bm_router
|
|
|
|
sleep 10
|
|
echo "BM Default config"
|
|
config_bm.sh > /tmp/config_bm.log
|
|
|
|
/usr/bin/configdb-load.sh
|
|
|
|
echo "Start syncd"
|
|
supervisorctl start syncd
|
|
|
|
echo "Start orchagent"
|
|
supervisorctl start orchagent
|
|
|
|
echo "Start portsyncd"
|
|
supervisorctl start portsyncd
|
|
|
|
echo "Start neighsyncd"
|
|
supervisorctl start neighsyncd
|
|
|
|
echo "Start fdbsyncd"
|
|
supervisorctl start fdbsyncd
|
|
|
|
echo "Start teamsyncd"
|
|
supervisorctl start teamsyncd
|
|
|
|
echo "Start fpmsyncd"
|
|
supervisorctl start fpmsyncd
|
|
|
|
echo "Start intfmgrd"
|
|
supervisorctl start intfmgrd
|
|
|
|
echo "Start vlanmgrd"
|
|
supervisorctl start vlanmgrd
|
|
|
|
echo "Start zebra"
|
|
supervisorctl start zebra
|
|
|
|
echo "Start bgpd"
|
|
supervisorctl start bgpd
|
|
|
|
if [ -f /etc/swss/config.d/default_config.json ]; then
|
|
swssconfig /etc/swss/config.d/default_config.json
|
|
fi
|
|
|
|
# Start arp_update when VLAN exists
|
|
VLAN=`sonic-cfggen -d -v 'VLAN.keys() | join(" ") if VLAN'`
|
|
if [ "$VLAN" != "" ]; then
|
|
echo "Start arp_update"
|
|
supervisorctl start arp_update
|
|
fi
|