HEX
Server: Apache/2.2.34 (Unix) mod_fastcgi/mod_fastcgi-SNAP-0910052141
System: Linux Kou-Etsu-Dou 4.4.59+ #25556 SMP PREEMPT Thu Mar 4 18:03:46 CST 2021 x86_64
User: hosam (1026)
PHP: 7.2.29
Disabled: NONE
Upload Files
File: //etc.defaults/init/synoovs-db.conf
description "OpenvSwitch Database daemon"

author "Advanced Network Team"

# do not start/stop on anything

console log
expect fork
respawn
respawn limit 5 10

pre-start script
	ovsschema="/usr/share/openvswitch/vswitch.ovsschema"
	SYNO_MODULE_TOOL="/usr/syno/bin/synomoduletool"

	#insert kernel module
	if [ -f /lib/modules/nf_conntrack.ko ]; then
		$SYNO_MODULE_TOOL --insmod SYNOOVS nf_conntrack.ko nf_defrag_ipv6.ko || true
	fi
	$SYNO_MODULE_TOOL --insmod SYNOOVS gre.ko openvswitch.ko || true

	/usr/bin/ovsdb-tool create /tmp/synoovs.db $ovsschema || true

	run_dir="/var/run/openvswitch"
	if [ ! -f "$run_dir" ]; then
		mkdir -p $run_dir || true
	fi

	echo `/bin/date` "start openvswitch database server"
end script

exec /usr/sbin/ovsdb-server /tmp/synoovs.db \
--remote=punix:/var/run/openvswitch/db.sock \
--remote=db:Open_vSwitch,Open_vSwitch,manager_options \
--pidfile --detach

post-start script
	threads=`ps -C ovsdb-server --no-headers | wc -l`
	retry=0
	while [ $threads -gt 1 -a $retry -lt 10 ]
	do
		echo "wait for parent to exit"
		retry=$(($retry+1))
		sleep 1
		threads=`ps -C ovsdb-server--no-headers | wc -l`
	done
	echo `/bin/date` "start openvswitch database server complete"
end script

pre-stop script
	if /usr/syno/bin/synobootseq --is-safe-shutdown &>/dev/null; then
		start; exit 0
	fi
end script

post-stop script
	echo `/bin/date` "stop the openvswitch database server"
	SYNO_MODULE_TOOL="/usr/syno/bin/synomoduletool"

	#rmmod kernel module
	$SYNO_MODULE_TOOL --rmmod SYNOOVS openvswitch.ko gre.ko || true
	if [ -f /lib/modules/nf_conntrack.ko ]; then
		$SYNO_MODULE_TOOL --rmmod SYNOOVS nf_defrag_ipv6.ko nf_conntrack.ko || true
	fi

end script
# vim:ft=upstart