#!/bin/sh # # ifplugd.action script for netcfg . /etc/rc.conf . /etc/rc.d/functions . /usr/lib/network/network shopt -s extglob case "$2" in up) # Look for a dhcp based profile to try first # dhcp can actually outright fail, whereas # it's difficult to tell if static succeeded # Also check profile is same iface and is right connection declare -a static_profiles for profile in $(list_profiles); do ( load_profile "$profile" [[ "$INTERFACE" != "$1" ]] && continue [[ "$CONNECTION" != @(ethernet|ethernet-iproute) ]] && continue if [[ "$IP" == "dhcp" ]]; then netcfg "$profile" && exit 0 else static_profiles+=("$profile") fi ) done for profile in "${static_profiles[@]}"; do ( load_profile "$profile" netcfg "$profile" && exit 0 ) done exit 1 ;; down) if check_iface "$1"; then netcfg -i "$1" && exit 0 fi ;; *) echo "Wrong arguments" > /dev/stderr ;; esac exit 1