#!/bin/sh if [ ! -x /usr/sbin/zeroconf ]; then exit 0 fi # IPv4 link-local addresses (zeroconf) are # only applicable on the 'inet' address family [ "X$ADDRFAM" != "Xinet" ] && exit 0 # However there are some methods where it doesn't # make any sense to configure an IPv4LL address # not on loopback [ "X$METHOD" = "Xloopback" ] && exit 0 # not on ppp or wvdial either [ "X$METHOD" = "Xppp" ] && exit 0 [ "X$METHOD" = "Xwvdial" ] && exit 0 # The administrator may have blacklisted interfaces # or only want zeroconf in a fallback situation [ -f /etc/default/zeroconf ] && . /etc/default/zeroconf [ -n "$DISABLE" ] && exit 0 for BLACK in $IFBLACKLIST; do case $IFACE in $BLACK) exit 0 ;; esac done # should we only allocate an address if we do not already have one? if [ -n "$FALLBACK" ]; then /bin/ip addr show $IFACE scope global | grep -q "inet" IP=$? if [ $IP -eq 0 ]; then /bin/ip route add 169.254.0.0/16 dev $IFACE exit 0 fi fi # otherwise, run if we aren't already going if [ ! -r /var/run/zeroconf.$IFACE.pid ]; then /usr/sbin/zeroconf -i $IFACE fi exit 0