summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf')
-rw-r--r--meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf51
1 files changed, 51 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf b/meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf
new file mode 100644
index 0000000000..c3705d2788
--- /dev/null
+++ b/meta/recipes-connectivity/zeroconf/zeroconf/debian-zeroconf
@@ -0,0 +1,51 @@
1#!/bin/sh
2
3if [ ! -x /usr/sbin/zeroconf ]; then
4 exit 0
5fi
6
7# IPv4 link-local addresses (zeroconf) are
8# only applicable on the 'inet' address family
9[ "X$ADDRFAM" != "Xinet" ] && exit 0
10
11# However there are some methods where it doesn't
12# make any sense to configure an IPv4LL address
13
14# not on loopback
15[ "X$METHOD" = "Xloopback" ] && exit 0
16
17# not on ppp or wvdial either
18[ "X$METHOD" = "Xppp" ] && exit 0
19[ "X$METHOD" = "Xwvdial" ] && exit 0
20
21# The administrator may have blacklisted interfaces
22# or only want zeroconf in a fallback situation
23[ -f /etc/default/zeroconf ] &&
24 . /etc/default/zeroconf
25
26[ -n "$DISABLE" ] && exit 0
27
28for BLACK in $IFBLACKLIST; do
29 case $IFACE in
30 $BLACK)
31 exit 0
32 ;;
33 esac
34done
35
36# should we only allocate an address if we do not already have one?
37if [ -n "$FALLBACK" ]; then
38 /bin/ip addr show $IFACE scope global | grep -q "inet"
39 IP=$?
40 if [ $IP -eq 0 ]; then
41 /bin/ip route add 169.254.0.0/16 dev $IFACE
42 exit 0
43 fi
44fi
45
46# otherwise, run if we aren't already going
47if [ ! -r /var/run/zeroconf.$IFACE.pid ]; then
48 /usr/sbin/zeroconf -i $IFACE
49fi
50
51exit 0