actually fixed creation of service file

This commit is contained in:
crowetic 2025-04-16 21:04:50 +00:00
parent 73f21e5e26
commit efd0461813

View File

@ -32,31 +32,24 @@ echo "VM NICs detected: ${NIC_LIST[*]}"
echo "=== [5/5] Creating persistent systemd service to disable offloads ===" echo "=== [5/5] Creating persistent systemd service to disable offloads ==="
SERVICE_FILE="/etc/systemd/system/disable-vm-nic-offloads.service" SERVICE_FILE="/etc/systemd/system/disable-vm-nic-offloads.service"
DISABLE_CMDS="" {
for nic in "${NIC_LIST[@]}"; do echo "[Unit]"
DISABLE_CMDS+="/usr/sbin/ethtool -K $nic tx off rx off tso off gso off gro off; " echo "Description=Disable all VM NIC offloads at boot"
DISABLE_CMDS+="/sbin/ip link set $nic txqueuelen 10000; " echo "After=network.target"
done echo ""
echo "[Service]"
# Escape for ExecStart echo "Type=oneshot"
DISABLE_CMDS_ESCAPED=$(printf '%q ' "$DISABLE_CMDS") for nic in "${NIC_LIST[@]}"; do
echo "ExecStart=/usr/sbin/ethtool -K $nic tx off rx off tso off gso off gro off"
sudo tee "$SERVICE_FILE" > /dev/null <<EOF echo "ExecStart=/sbin/ip link set $nic txqueuelen 10000"
[Unit] done
Description=Disable all VM NIC offloads at boot echo "RemainAfterExit=yes"
After=network.target echo ""
echo "[Install]"
[Service] echo "WantedBy=multi-user.target"
Type=oneshot } | sudo tee "$SERVICE_FILE" > /dev/null
ExecStart=/bin/bash -c "$DISABLE_CMDS_ESCAPED"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
EOF
echo "=== Enabling and starting NIC offload disable service ===" echo "=== Enabling and starting NIC offload disable service ==="
sudo systemctl daemon-reexec
sudo systemctl daemon-reload sudo systemctl daemon-reload
sudo systemctl enable --now disable-vm-nic-offloads.service sudo systemctl enable --now disable-vm-nic-offloads.service