diff options
Diffstat (limited to 'sysconfig/network-scripts/ifup-post')
-rwxr-xr-x | sysconfig/network-scripts/ifup-post | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sysconfig/network-scripts/ifup-post b/sysconfig/network-scripts/ifup-post new file mode 100755 index 00000000..f8c07822 --- /dev/null +++ b/sysconfig/network-scripts/ifup-post @@ -0,0 +1,43 @@ +#!/bin/sh + +cd /etc/sysconfig/network-scripts + +. $1 + +DEVICETYPE=`echo $DEVICE | sed "s/[0-9]*$//"` +REALDEVICE=`echo $DEVICE | sed 's/:.*//g'` +if echo $DEVICE | grep -q ':' ; then + ISALIAS=yes +else + ISALIAS=no +fi + +/etc/sysconfig/network-scripts/ifup-routes ${DEVICE} + +if [ "$ISALIAS" = no ] ; then + allow_null_glob_expansion=foo + for alias in /etc/sysconfig/network-scripts/ifcfg-${DEVICE}:* ; do + /etc/sysconfig/network-scripts/ifup $alias + done + unset allow_null_glob_expansion +fi + +if [ `hostname` = '(none)' -o `hostname` = localhost -a ${DEVICE} != lo ]; then + IPADDR=`ifconfig ${DEVICE} | grep 'inet addr' | awk -F: '{ print $2 } ' | awk '{ print $1 }'` + host=`host ${IPADDR} | grep Name: | awk '{ print $2 }'` + if [ -n "$host" ]; then + echo "$host" > /etc/HOSTNAME + hostname $host + fi +fi + +# Notify programs that have requested notification +( cd /var/run/netreport || exit + for i in * ; do + [ -f $i ] && \ + kill -SIGIO $i >/dev/null 2>&1 || \ + rm -f $i >/dev/null 2>&1 + done +) + +exit 0 |