Files
box/bin/netvm-names.sh
T

30 lines
1.2 KiB
Bash
Raw Normal View History

# netvm-names.sh — source this. Sets NETNS WG VETH VPEER SUB GW PEER_IP from NODE.
# 1:1 mapping: profile name = node name. Interface names must fit 15 chars,
# so wg/veth use a deterministic hash tag; the netns keeps the full name.
netvm_names() {
NODE="$1"
NETNS="warp-${NODE}"
_tag=$(echo -n "$NODE" | sha256sum | cut -c1-8)
WG="wb-${_tag}"
VETH="ve-${_tag}"
VPEER="vp-${_tag}"
_idx=$(( 0x${_tag:0:3} % 200 + 10 ))
# CDP_PORT_OVERRIDE lets provisioners assign clean sequential ports
# (9410, 9420, ...) instead of the hash-derived default.
# Unset = previous behavior.
CDP_PORT=${CDP_PORT_OVERRIDE:-$(( 9222 + 0x${_tag:4:3} % 2000 ))}
# Pinned registry ports: single source of truth for the fleet.
# (Was previously duplicated in cdp-relay-watchdog.sh relay_target();
# moved here 2026-10-04 so netvm-node-up.sh stops spawning wrong-port
# zombie relays on every browser relaunch.)
case "$NODE" in
muse) CDP_PORT=9410 ;;
pip) CDP_PORT=9420 ;;
646) CDP_PORT=9430 ;;
opm) CDP_PORT=9440 ;;
2026-10-05 16:39:49 +00:00
def) CDP_PORT=9450 ;;
dev) CDP_PORT=9455 ;;
esac
GW="10.201.${_idx}.1"; PEER_IP="10.201.${_idx}.2"; SUB="10.201.${_idx}.0/30"
}