#!/bin/sh

#--------------------------------------------------------------------------------
#--------------------------------------------------------------------------------
# Copyright (c) 1999 - 2000, Intel Corporation 
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without 
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, 
#    this list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
#    this list of conditions and the following disclaimer in the documentation 
#    and/or other materials provided with the distribution.
#
# 3. Neither the name of Intel Corporation nor the names of its contributors 
#    may be used to endorse or promote products derived from this software 
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
# EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
#
#--------------------------------------------------------------------------------
#--------------------------------------------------------------------------------

#   /***************************************************************************
#   **                                                                        **
#   ** INTEL CORPORATION                                                      **
#   **                                                                        **
#   ** This software is supplied under the terms of the license included      **
#   ** above.  All use of this software must be in accordance with the terms  **
#   ** of that license.                                                       **
#   **                                                                        **
#   **  Abstract:                                                             **
#   **    Initialization script for ANS (Caldera)                             **
#   **                                                                        **
#   ***************************************************************************/
#
# probe: true

if [ ! -f /etc/sysconfig/network ]; then
    exit 0
fi

. /etc/sysconfig/network

if [ -f /etc/sysconfig/pcmcia ]; then
	 . /etc/sysconfig/pcmcia
fi


# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0

[ -x /sbin/ifconfig ] || exit 0

CWD=`pwd`
cd /etc/sysconfig/network-scripts

# find all the interfaces besides loopback.
# ignore aliases, alternative configurations, and editor backup files
interfaces=`ls ifcfg* | egrep -v '(ifcfg-lo|:)' | \
            egrep -v 'ifcfg-ippp[0-9]+$' | \
            egrep 'ifcfg-[a-z0-9]+$' | \
            sed 's/^ifcfg-//g'`

# See how we were called.
case "$1" in
	 start)
  
		  for i in $interfaces; do
				# Probe module to preserve interface ordering
				/sbin/ifconfig $i 2>&1 > /dev/null
		  done

		  insmod e100  > /dev/null 2>&1
		  insmod e1000 > /dev/null 2>&1
		  echo "Loading ians module"	
		  insmod ians
		  echo "Configuring ANS" 
		  /usr/sbin/ianscfg read_file
		  vadapters=`grep -i vadapter /etc/ians/ians.conf | sed -e 's/[^V]*VADAPTER[^a-zA-Z]*//'`
		  for va in $vadapters; do
				NETMASK=""; IPADDR=""; BROADCAST=""; PTPADDR="";
				nm=""; bc=""; ptp="";
				. /etc/sysconfig/network-scripts/ifcfg-$va
				[ "${ONBOOT}" = "yes" ] || continue;
				[ -n "$NETMASK" ] && nm="netmask $NETMASK"
				[ -n "$BROADCAST" ] && bc="broadcast $BROADCAST"
				[ -n "$PTPADDR" ] && ptp="pointopoint $PTPADDR"

				ifconfig $DEVICE $IPADDR $ptp $nm $bc
		  done
		  ;;
	 stop)
		  ;;
	 status)
		  ianscfg status
		  ;;
	 restart)
		  cd $CWD
		  vadapters=`grep -i vadapter /etc/ians/ians.conf | sed -e 's/[^V]*VADAPTER[^a-zA-Z]*//'`
		  for v in $vadapters; do
				/sbin/ifconfig $v down 2>&1 > /dev/null
		  done
		  echo "Restarting ANS"          
		  rmmod ians
		  $0 start
		  echo "ANS restarted."
		  ;;
	 *)
		  echo "Usage: ans {start|stop|restart|status}"
		  exit 1
esac

exit 0
