HEX
Server: Apache/2.4.63 (Unix)
System: Linux TOMS-220NAS 4.4.302+ #86009 SMP Wed Nov 26 18:19:17 CST 2025 x86_64
User: flavio87 (1026)
PHP: 8.3.27
Disabled: NONE
Upload Files
File: //usr/syno/lib/systemd/scripts/synoovs-db.sh
#!/bin/bash

case $1 in
	start-pre)
		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

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

		# synoovs-db and synoovs-vswitch use same runtime directory
		# remove this if systemd support RuntimeDirectoryPreserve
		run_dir="/var/run/openvswitch"
		if [ ! -f "$run_dir" ]; then
			mkdir -p $run_dir
		fi
	;;

	start-post)
		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
	;;

	stop-post)
		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

	;;
esac

exit 0