#!/bin/sh
# bee-network.sh — bring up all physical network interfaces via DHCP
# Unattended: runs silently, logs results, never blocks.

LOG_PREFIX="bee-network"

log() { echo "[$LOG_PREFIX] $*"; }

# find physical interfaces: exclude lo and virtual (docker/virbr/veth/tun/tap)
interfaces=$(ip -o link show \
    | awk -F': ' '{print $2}' \
    | grep -v '^lo$' \
    | grep -vE '^(docker|virbr|veth|tun|tap|br-|bond|dummy)' \
    | sort)

if [ -z "$interfaces" ]; then
    log "no physical interfaces found"
    exit 0
fi

for iface in $interfaces; do
    log "bringing up $iface"
    ip link set "$iface" up || { log "WARN: could not bring up $iface"; continue; }

    # DHCP in background — non-blocking, keep dhclient verbose output in the service log.
    dhclient -4 -v -nw "$iface" &
    log "DHCP started for $iface (pid $!)"
done

log "done"
