for zone in ${ZONES}; do
address="${zone}_MACADDR"
device="${zone}_DEV"
+ mode="${zone}_MODE"
# Skip if address or device is unset
[ -n "${!address}" -a -n "${!device}" ] || continue
+ # Compare MAC addresses
+ [ "${ADDRESS}" = "${!address}" ] || continue
+
# If a matching interface has been found we will
# print the name to which udev will rename it.
- if [ "${ADDRESS}" = "${!address}" ]; then
- echo "${!device}"
- exit 0
- fi
+ case "${!mode}" in
+ bridge)
+ echo "${!device%0}phys0"
+ ;;
+
+ macvtap)
+ # MACVTAP mode doesn't work for WiFi devices
+ if [ -d "/sys/class/net/${INTERFACE}/phy80211" ]; then
+ logger -t network "MACVTAP mode is not supported for wireless devices"
+ echo "${!device}"
+ else
+ echo "${!device%0}phys0"
+ fi
+ ;;
+
+ *)
+ echo "${!device}"
+ ;;
+ esac
+
+ exit 0
done
# If we get here we have not found a matching device,