#!/bin/sh
#
#    nic_giga_to_meg: Change gigabit ethernet card to 100Mpbs to save power
#
#    Copyright (C) 2010 Canonical Ltd.
#
#    Authors: Andres Rodriguez <andreserl@ubuntu.com>
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, version 3 of the License.
#
#    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
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.

set_eth_speed() {
	if [ $1 -eq 100 ]; then
		# Save power
		ethtool -s eth0 autoneg off speed $1
	else
		# Roll back to Gigabit
		ethtool -s eth0 autoneg on speed $1
	fi
}

help() {
	echo "Change Gigabit Ethernet card speed to 100Mbps to save power."
}

case $1 in
	true)
		set_eth_speed 100 ;;
	false)
		set_eth_speed 1000 ;;
	help)
		help;;
	*)
		exit $NA ;;
esac
