ctl create cmm

This commit is contained in:
2026-05-11 04:48:00 +08:00
parent dca01e4abf
commit 35f2edc0b5
8 changed files with 318 additions and 34 deletions

View File

@@ -3,36 +3,9 @@ set -eu
CMM_CONFIG="${CMM_CONFIG:-/etc/cmm/cmm.conf}"
# Vendor default from cmm.service: (131072 = 128 * 1024) max active conntrack/offload entries
# Vendor default from cmm.service:
# 131072 = 128 * 1024 max active conntrack/offload entries.
CMM_MAX_CONNECTIONS="${CMM_MAX_CONNECTIONS:-131072}"
mkdir -p /run/ask /var/log
echo "[ask] loading auto_bridge"
modprobe auto_bridge || true
echo "[ask] loading cdx"
modprobe cdx
echo "[ask] waiting for /dev/cdx_ctrl"
for i in $(seq 1 40); do
if [ -e /dev/cdx_ctrl ]; then
break
fi
sleep 0.25
done
test -e /dev/cdx_ctrl
if [ ! -e /run/ask/dpa_app.loaded ]; then
echo "[ask] running dpa_app"
/bin/dpa_app
touch /run/ask/dpa_app.loaded
else
echo "[ask] dpa_app already loaded; skipping"
fi
echo "[ask] loading fci"
modprobe fci
echo "[ask] starting cmm"
exec /bin/cmm -D -f "$CMM_CONFIG" -n "$CMM_MAX_CONNECTIONS"

37
ask/cmm/init_dpa.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/sh
set -eu
STATE_DIR="${CMM_STATE_DIR:-/host/run/monok8s/cmm}"
DONE_FILE="$STATE_DIR/dpa_app.loaded"
LOCK_DIR="$STATE_DIR/dpa_app.lock"
mkdir -p "$STATE_DIR"
if [ -e "$DONE_FILE" ]; then
echo "[ask] dpa_app already loaded for this boot; skipping"
exit 0
fi
if ! mkdir "$LOCK_DIR" 2>/dev/null; then
echo "[ask] another dpa_app initialization is running; waiting"
while [ ! -e "$DONE_FILE" ]; do
sleep 1
done
echo "[ask] dpa_app was loaded by another process; skipping"
exit 0
fi
trap 'rmdir "$LOCK_DIR" 2>/dev/null || true' EXIT
if [ -e "$DONE_FILE" ]; then
echo "[ask] dpa_app already loaded for this boot; skipping"
exit 0
fi
echo "[ask] running dpa_app"
/bin/dpa_app
date -u +"%Y-%m-%dT%H:%M:%SZ" > "$DONE_FILE"
echo "[ask] dpa_app loaded"