#!/bin/sh
##########################################################
# Copyright (C) 2006-2008 VMware, Inc. All rights reserved.
#
# This program 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 version 2.1 and no later version.
#
# This program 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 Lesser GNU General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA.
#
##########################################################

##########################################################################
# DO NOT modify this file directly as it will be overwritten the next
# time the VMware Tools are installed.
##########################################################################

echo `date` ": Executing '$0'"
echo

scriptsdir="`dirname $0`/scripts/`basename $0`.d"
if [ -d "$scriptsdir" ]; then
   for scriptfile in "$scriptsdir"/*; do
      [ -x "$scriptfile" ] && "$scriptfile" suspend-vm
   done
fi

ACTIVELIST=/var/run/vmware-active-nics

> $ACTIVELIST

# Release DHCP addresses and note each interface in our
# active list so it can be brought back up on resume
for i in `ifconfig -a | grep DHCP | cut -f1 -d:`; do
   # Sometimes interfaces will claim DHCP and not actually be "under DHCP
   # control".  Let's double check the status to ensure this isn't the case.
   if ifconfig "$i" dhcp status > /dev/null 2>&1; then
      echo "$0: releasing DHCP address for $i"
      echo "$i" >> $ACTIVELIST
      ifconfig "$i" dhcp release
   fi
done
