51a76614a3
* Restore neighbor table to kernel during system warm-reboot Added a service: "restore_neighbors" to restore neighbor table into kernel during system warm reboot. The service is started by supervisord in swss docker when the docker is started. In case system warm reboot is enabled, it will try to restore the neighbor table from appDB into kernel through netlink API calls and update the neighbor table by sending arp/ns requests to all neighbor entries, then it sets the stateDB flag for neighsyncd to continue the reconciliation process. -- Added tcpdump python-scapy debian package into orchagent and vs dockers. -- Added python module: pyroute2 netifaces into orchagent and vc dockers. -- Workarounded tcpdump issue in the vs docker Signed-off-by: Zhenggen Xu <zxu@linkedin.com> * Move the restore_neighbors.py to sonic-swss submodule Made changes to makefiles accordingly Make dockerfile.j2 changes and supervisord config changes Add python monotonic lib for time access Signed-off-by: Zhenggen Xu <zxu@linkedin.com> * Added PYTHON_SWSSCOMMON as swss runtime dependency Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
mkdir -p /etc/swss/config.d/
|
|
|
|
sonic-cfggen -d -t /usr/share/sonic/templates/switch.json.j2 > /etc/swss/config.d/switch.json
|
|
sonic-cfggen -d -t /usr/share/sonic/templates/ipinip.json.j2 > /etc/swss/config.d/ipinip.json
|
|
sonic-cfggen -d -t /usr/share/sonic/templates/ports.json.j2 > /etc/swss/config.d/ports.json
|
|
|
|
# Executed HWSKU specific initialization tasks.
|
|
if [ -x /usr/share/sonic/hwsku/hwsku-init ]; then
|
|
/usr/share/sonic/hwsku/hwsku-init
|
|
fi
|
|
|
|
export platform=`sonic-cfggen -H -v DEVICE_METADATA.localhost.platform`
|
|
|
|
rm -f /var/run/rsyslogd.pid
|
|
|
|
supervisorctl start rsyslogd
|
|
|
|
supervisorctl start orchagent
|
|
|
|
supervisorctl start restore_neighbors
|
|
|
|
supervisorctl start portsyncd
|
|
|
|
supervisorctl start intfsyncd
|
|
|
|
supervisorctl start neighsyncd
|
|
|
|
supervisorctl start swssconfig
|
|
|
|
supervisorctl start vlanmgrd
|
|
|
|
supervisorctl start intfmgrd
|
|
|
|
supervisorctl start portmgrd
|
|
|
|
supervisorctl start buffermgrd
|
|
|
|
supervisorctl start enable_counters
|
|
|
|
supervisorctl start vrfmgrd
|
|
|
|
# Start arp_update when VLAN exists
|
|
VLAN=`sonic-cfggen -d -v 'VLAN.keys() | join(" ") if VLAN'`
|
|
if [ "$VLAN" != "" ]; then
|
|
supervisorctl start arp_update
|
|
fi
|