--- ethtool.old 2005-09-27 10:41:48 +0500 +++ ethtool 2005-12-15 12:48:38 +0400 @@ -11,9 +11,17 @@ LOCKFILE=/var/lock/subsys/ethtool ETHTOOL=/usr/sbin/ethtool ETHCFG=/etc/sysconfig/ethtool -IFCFG=/etc/sysconfig/network-scripts/ifcfg PARAMS="speed duplex port autoneg phyad xcvr wol sopass msglvl" +SourceIfNotEmpty /etc/sysconfig/network + +if [ "$CONFMETHOD" == "etcnet" ]; then + IFCFG=/etc/net/ifaces +else + IFCFG=/etc/sysconfig/network-scripts/ifcfg +fi + + [ -x $ETHTOOL ] || exit 0 # if /etc/sysconfig/ethtool exists and contains non-zero ETH value, it is @@ -23,7 +31,7 @@ SourceIfNotEmpty $ETHCFG && [ -n "$ETH" ] || exit 0 -get_interfaces () { +get_interfaces_netscripts () { unset INTERFACES [ "$ETH" = all ] && { INTERFACES=`ls $IFCFG-eth* \ @@ -38,6 +46,31 @@ echo $INTERFACES } +get_interfaces_etcnet () { + unset INTERFACES + [ "$ETH" = all ] && { + INTERFACES=`ls -d $IFCFG/eth* \ + | egrep 'eth[0-9]+$' \ + | sed 's,^.*/\(eth.*\),\1,'` + } || { + for i in $ETH; do + [ -d $IFCFG/$i ] && INTERFACES="$INTERFACES $i"; + done + } + [ -z "$INTERFACES" ] && exit 0 + echo $INTERFACES +} + +get_interfaces () { + SourceIfNotEmpty /etc/sysconfig/network + + if [ "$CONFMETHOD" == "etcnet" ]; then + echo `get_interfaces_etcnet` + else + echo `get_interfaces_netscripts` + fi +} + tune_interface () { # collect parameters from ground up; use them unset $PARAMS ARGS