# vim: ft=zsh noet ts=4 sts=4 sw=4
#
# confz functions for dealing with iproute2
#
confz_rename_interface_check() {
checkvars name mac
# local -A ifaces
local ignored iface mac rest out old_name
out=$( confz_do ip link show ) || die "ip failed"
while read ignored iface rest; do
read ignored mac rest
if [[ ${iface%:} == $vars[name] ]]; then
[[ $mac == $vars[mac] ]] || \
die "${(qqq)iface%:} already exists with different MAC address"
return 0
fi
if [[ -z $old_name && $mac == $vars[mac] ]]; then
old_name=${iface%:}
fi
done <<<$out
[[ -n $old_name ]] || die "could not find interface with MAC: $vars[mac]"
do_command=( ip link set dev $old_name name $vars[name] )
return 1
}