diff options
| author | Colin Guthrie <colin@mageia.org> | 2011-11-03 23:21:54 +0000 |
|---|---|---|
| committer | Colin Guthrie <colin@mageia.org> | 2011-11-03 23:21:54 +0000 |
| commit | 6ef16c72e9b262d695a5d2662dc1999279cc1b22 (patch) | |
| tree | 980198a56901acae6fae837cfee0550d9b16fccd /sysconfig/network-scripts/network-functions | |
| parent | 1e6179bf54cbc84b4ad33480e7f2f713418bb28a (diff) | |
| download | initscripts-6ef16c72e9b262d695a5d2662dc1999279cc1b22.tar initscripts-6ef16c72e9b262d695a5d2662dc1999279cc1b22.tar.gz initscripts-6ef16c72e9b262d695a5d2662dc1999279cc1b22.tar.bz2 initscripts-6ef16c72e9b262d695a5d2662dc1999279cc1b22.tar.xz initscripts-6ef16c72e9b262d695a5d2662dc1999279cc1b22.zip | |
Reduce differences in network scripts.
This just merges in some upstream changes between 25 and 34 that
allows for multiple static IP addresses to be defined
in the ifcfg files.
Diffstat (limited to 'sysconfig/network-scripts/network-functions')
| -rw-r--r-- | sysconfig/network-scripts/network-functions | 41 |
1 files changed, 31 insertions, 10 deletions
diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 5ca3abe6..46789881 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -168,22 +168,43 @@ ethtool_set() expand_config () { - if [ -z "${NETMASK}" ]; then - eval $(/bin/ipcalc --netmask ${IPADDR}) - fi + local i=0 val + for idx in '' {0..255} ; do + ipaddr[$i]=$(eval echo '$'IPADDR$idx) + if [ -z "${ipaddr[$i]}" ]; then + [ "$idx" ] && [ $idx -ge 2 ] && break + continue + fi + prefix[$i]=$(eval echo '$'PREFIX$idx) + netmask[$i]=$(eval echo '$'NETMASK$idx) + broadcast[$i]=$(eval echo '$'BROADCAST$idx) - if [ -z "${PREFIX}" ]; then - eval $(/bin/ipcalc --prefix ${IPADDR} ${NETMASK}) - fi + if [ "${prefix[$i]}x" != "x" ]; then + val=$(/bin/ipcalc --netmask "${ipaddr[$i]}/${prefix[$i]}") + netmask[$i]=${val##NETMASK=} + fi - if [ -z "${BROADCAST}" ]; then - eval $(/bin/ipcalc --broadcast ${IPADDR} ${NETMASK}) - fi + if [ "${netmask[$i]}x" = "x" ]; then + val=$(/bin/ipcalc --netmask "${ipaddr[$i]}") + netmask[$i]=${val##NETMASK=} + fi + + if [ "${prefix[$i]}x" = "x" ]; then + val=$(/bin/ipcalc --prefix ${ipaddr[$i]} ${netmask[$i]}) + prefix[$i]=${val##PREFIX=} + fi + + if [ "${broadcast[$i]}x" = "x" ]; then + val=$(/bin/ipcalc --broadcast ${ipaddr[$i]} ${netmask[$i]}) + broadcast[$i]=${val##BROADCAST=} + fi + i=$((i+1)) + done [ -n "$DHCP_HOSTNAME" ] && DHCP_HOSTNAME=${DHCP_HOSTNAME%%.*} if [ -z "${NETWORK}" ]; then - eval $(/bin/ipcalc --network ${IPADDR} ${NETMASK}) + eval $(/bin/ipcalc --network ${ipaddr[0]} ${netmask[0]}) fi } |
