Viewing file: avahi-autoipd.action (2.01 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/bin/sh
# $Id: avahi-autoipd.action 1319 2006-09-04 18:10:26Z lennart $ # # This file is part of avahi. # # avahi is free software; you can redistribute it and/or modify it # under the terms of the GNU Lesser General Public License as # published by the Free Software Foundation; either version 2 of the # License, or (at your option) any later version. # # avahi is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public # License for more details. # # You should have received a copy of the GNU Lesser General Public # License along with avahi; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 # USA.
set -e
# Command line arguments: # $1 event that happened: # BIND: Successfully claimed address # CONFLICT: An IP address conflict happened # UNBIND: The IP address is no longer needed # STOP: The daemon is terminating # $2 interface name # $3 IP adddress
if [ -x /bin/ip -o -x /sbin/ip ] ; then
# We have the Linux ip tool from the iproute package
case "$1" in BIND) ip addr add "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" ;;
CONFLICT|UNBIND|STOP) ip addr del "$3"/16 brd 169.254.255.255 label "$2:avahi" scope link dev "$2" ;;
*) echo "Unknown event $1" >&2 exit 1 ;; esac
elif [ -x /bin/ifconfig -o -x /sbin/ifconfig ] ; then
# We have the old ifconfig tool
case "$1" in BIND) ifconfig "$2:3" inet "$3" netmask 255.255.0.0 broadcast 169.254.255.255 up ;;
CONFLICT|STOP|UNBIND) ifconfig "$2:3" down ;;
*) echo "Unknown event $1" >&2 exit 1 ;; esac
else
echo "No network configuration tool found." >&2 exit 1
fi
exit 0
|