1#!/bin/sh 2 3# $Id$ 4# 5# This file is part of avahi. 6# 7# avahi is free software; you can redistribute it and/or modify it 8# under the terms of the GNU Lesser General Public License as 9# published by the Free Software Foundation; either version 2 of the 10# License, or (at your option) any later version. 11# 12# avahi is distributed in the hope that it will be useful, but WITHOUT 13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15# License for more details. 16# 17# You should have received a copy of the GNU Lesser General Public 18# License along with avahi; if not, write to the Free Software 19# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20# USA. 21 22set -e 23 24# Command line arguments: 25# $1 event that happened: 26# BIND: Successfully claimed address 27# CONFLICT: An IP address conflict happened 28# UNBIND: The IP address is no longer needed 29# STOP: The daemon is terminating 30# $2 interface name 31# $3 IP adddress 32 33if [ -x /bin/ip -o -x /sbin/ip ] ; then 34 35 # We have the Linux ip tool from the iproute package 36 37 case "$1" in 38 BIND) 39 ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" 40 ;; 41 42 CONFLICT|UNBIND|STOP) 43 ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" 44 ;; 45 46 *) 47 echo "Unknown event $1" >&2 48 exit 1 49 ;; 50 esac 51 52elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then 53 54 # We have the old ifconfig tool 55 56 case "$1" in 57 BIND) 58 ifconfig "$2:3" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up 59 ;; 60 61 CONFLICT|STOP|UNBIND) 62 ifconfig "$2:3" down 63 ;; 64 65 *) 66 echo "Unknown event $1" >&2 67 exit 1 68 ;; 69 esac 70 71else 72 73 echo "No network configuration tool found." >&2 74 exit 1 75 76fi 77 78exit 0 79