//go:build linux
package awgserver
import (
"fmt"
"log/slog"
"os/exec"
)
func setTUNAddress(tunName, address string, logger *slog.Logger) error {
cmd := exec.Command("ip", "addr", "add", address, "dev", tunName)
if out, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("ip addr add: %s: %w", string(out), err)
}
cmd = exec.Command("ip", "link", "set", "up", "dev", tunName)
if out, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("ip link set up: %s: %w", string(out), err)
}
logger.Info("TUN configured.", "name", tunName, "address", address)
return nil
}