mirror of
https://github.com/caiwx86/small-packages.git
synced 2026-10-29 07:05:15 +08:00
update 2026-07-08 14:23:45
This commit is contained in:
1 parent
b4c7e4a276
commit
f21db3bfeb
1961 files changed
+42
-1523149
No files matched your search
+38
-4
@@ -9,6 +9,8 @@ extra_command "hot_reload" "Hot-reload service"
|
||||
CONF="dae"
|
||||
PROG="/usr/bin/dae"
|
||||
LOG="/var/log/dae/dae.log"
|
||||
DAE_HOST_IFACE="dae0"
|
||||
DAE_PEER_IFACE="dae0peer"
|
||||
DAENETNS="/run/netns/daens"
|
||||
RESOLV_DAE="/tmp/resolv.conf.dae"
|
||||
|
||||
@@ -40,10 +42,35 @@ update_cron() {
|
||||
}
|
||||
|
||||
cleanup_netns() {
|
||||
if [ -e "/run/netns/daens" ]; then
|
||||
ip netns del daens 2>/dev/null
|
||||
rm -f /run/netns/daens 2>/dev/null
|
||||
if ps w | grep -q "[/]usr/bin/daed run"; then
|
||||
logger -t dae "skip dae runtime cleanup while daed is running"
|
||||
return 0
|
||||
fi
|
||||
|
||||
if ip link show "$DAE_HOST_IFACE" >/dev/null 2>&1; then
|
||||
tc qdisc del dev "$DAE_HOST_IFACE" clsact 2>/dev/null || true
|
||||
ip link del "$DAE_HOST_IFACE" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if ip link show "$DAE_PEER_IFACE" >/dev/null 2>&1; then
|
||||
ip link del "$DAE_PEER_IFACE" 2>/dev/null || true
|
||||
fi
|
||||
|
||||
if [ -e "$DAENETNS" ]; then
|
||||
ip netns del "$DAE_NETNS_NAME" 2>/dev/null || true
|
||||
rm -f "$DAENETNS" 2>/dev/null || true
|
||||
fi
|
||||
}
|
||||
|
||||
wait_dae_exit() {
|
||||
local i
|
||||
|
||||
for i in 1 2 3 4 5 6 7 8 9 10; do
|
||||
ps w | grep -q "[/]usr/bin/dae run" || return 0
|
||||
sleep 1
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
hijack_resolv_conf() {
|
||||
@@ -118,7 +145,14 @@ start_service() {
|
||||
stop_service() {
|
||||
update_cron "remove"
|
||||
restore_resolv_conf
|
||||
cleanup_netns
|
||||
}
|
||||
|
||||
service_stopped() {
|
||||
if wait_dae_exit; then
|
||||
cleanup_netns
|
||||
else
|
||||
logger -t dae "skip dae runtime cleanup because dae is still running"
|
||||
fi
|
||||
}
|
||||
|
||||
service_triggers() {
|
||||
|
||||
Reference in new issue
Block a user