#!/usr/local/bin/cbsd
#v11.0.7
MYARG="ip"
MYOPTARG=""
MYDESC="Return network interface name by ip"

. ${subr}
. ${tools}

init $*

ipwmask ${ip}
iptype ${IWM}
_inet=$?

[ ${_inet} -eq 0 ] && err 1 "not ip"

ifs=$( ${miscdir}/nics-list -s bridge | /usr/bin/xargs )

for iface in ${ifs}; do
	case "${_inet}" in
		1)
			A=$( /sbin/ifconfig ${iface}| /usr/bin/awk '/inet [0-9]+/{print $2}' | ${GREP_CMD} ^${IWM}$ 2>/dev/null )
			;;
		2)
			A=$( /sbin/ifconfig ${iface}|  /usr/bin/awk '/inet6 *:*+/{print $2}'| ${GREP_CMD} -v %${iface}$ |${GREP_CMD} ^${IWM}$ 2>/dev/null )
			;;
	esac
	[ -z "${A}" ] || err 0 ${iface}
done

case ${_inet} in
	1)
		MODIF="-inet"
		;;
	2)
		MODIF="-inet6"
		;;
esac

IFACE=$( /sbin/route -n get ${MODIF} ${IWM} 2>/dev/null | /usr/bin/awk '/interface:/{print $2}' )

# return default
[ -z ${IFACE} ] && IFACE="lo0"

err 0 ${IFACE}
