aboutsummaryrefslogtreecommitdiffstats
path: root/sysconfig/network-scripts/network-functions
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2003-06-24 04:13:19 +0000
committerBill Nottingham <notting@redhat.com>2003-06-24 04:13:19 +0000
commit9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3 (patch)
treebb066f6179947d8bb583ca4e367faf723f3dc301 /sysconfig/network-scripts/network-functions
parent642f9be2bce629712adc76374f472f7e9f691361 (diff)
downloadinitscripts-9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3.tar
initscripts-9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3.tar.gz
initscripts-9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3.tar.bz2
initscripts-9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3.tar.xz
initscripts-9f38f0eeba5d63c36e910cde44b9bc59c2b5aba3.zip
more tweaks
- encapsulate grabing the hw addr into its own function - normalize case of all hwaddrs - if we are passed a device with no config, see if there's a config for that hwaddr
Diffstat (limited to 'sysconfig/network-scripts/network-functions')
-rw-r--r--sysconfig/network-scripts/network-functions25
1 files changed, 24 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions
index eb2d0efc..be94e045 100644
--- a/sysconfig/network-scripts/network-functions
+++ b/sysconfig/network-scripts/network-functions
@@ -7,10 +7,27 @@
PATH="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin"
export PATH
+get_hwaddr ()
+{
+ LC_ALL= LANG= ip -o link show ${1} 2>/dev/null | \
+ sed 's/.*link\/ether \([[:alnum:]:]*\).*/\1/' | \
+ awk '{ print toupper($0) }'
+}
+
need_config ()
{
CONFIG="ifcfg-${1}"
- [ -f "${CONFIG}" ] && return || CONFIG="${1}"
+ [ -f "${CONFIG}" ] && return
+ CONFIG="${1}"
+ [ -f "${CONFIG}" ] && return
+ local addr=`get_hwaddr ${1}`
+ if [ -n "$addr" ]; then
+ local nconfig=`fgrep -il "HWADDR=$addr" /etc/sysconfig/network-scripts/ifcfg-*`
+ if [ -n "$nconfig" ] ; then
+ CONFIG=$nconfig
+ [ -f "${CONFIG}" ] && return
+ fi
+ fi
}
source_config ()
@@ -61,6 +78,12 @@ source_config ()
else
ISALIAS=no
fi
+ if [ -n "$HWADDR" ]; then
+ HWADDR=`echo $HWADDR | awk '{ print toupper($0) }'`
+ fi
+ if [ -n "$MACADDR" ]; then
+ MACADDR=`echo $MACADDR | awk '{ print toupper($0) }'`
+ fi
}