sonic-buildimage/platform/p4/docker-sonic-p4/start.sh
YonatanPitz e0af519da2 [p4]: Updated p4 bm (#1228)
* merged new p4 platform from 1.0.3

* reverted SAI-P4-BM to SAI1.0

* changed port_config.ini from alias to name. changed tenjin makefile to https

* updated SAI-P4-BM commit

* [platform/p4]: Updated P4 docker to be up to date with vs.

* Merged swss, swss-common and sai-redis with master, now supports new ConfigDB.
* Changed startup script to work with supervisor for managing processes.

Signed-off-by: Yonatan Piasetzky yonatanp@mellanox.com

* Updated SAI-BM submodule to sai v1.0.4 tag. now supports hostif vlan tag for port netdev

* Updated SAI-P4-BM submodule.
2017-12-12 00:38:36 -08:00

97 lines
2.4 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/config_db.json -j /etc/sonic/init_cfg.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/
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/ipinip.json.j2 > /etc/swss/config.d/ipinip.json
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/mirror.json.j2 > /etc/swss/config.d/mirror.json
# sonic-cfggen -m /etc/sonic/minigraph.xml -d -t /usr/share/sonic/templates/ports.json.j2 > /etc/swss/config.d/ports.json
# export platform=`sonic-cfggen -v platform`
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 intfsyncd"
supervisorctl start intfsyncd
echo "Start neighsyncd"
supervisorctl start neighsyncd
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