#!/usr/bin/bash
source "$(dirname "$0")/_lib.sh"
trace "$@"
TARGET="$1"
if [[ "$TARGET" == pci/* ]]; then
    BDF=$(bdf_from_target "$TARGET")
    IFACE=$(iface_from_bdf "$BDF")
else
    IFACE="$TARGET"
fi
[[ -z "$IFACE" ]] && { echo "Error: no interface for ${TARGET}" >&2; exit 1; }
FLAGS=$(ip -o link show dev "$IFACE" 2>/dev/null | sed -n 's/^[0-9]\+: [^:]\+: <\([^>]*\)>.*/\1/p')
[[ -z "$FLAGS" ]] && { echo "Error: failed to read admin state for ${IFACE}" >&2; exit 1; }
if [[ ",$FLAGS," == *",UP,"* ]]; then
    echo "admin-status=up"
else
    echo "admin-status=down"
fi
