From 2604a03f2105ed34bdd08817ee91bb653a478bf0 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Tue, 24 Jul 2001 20:47:06 +0000 Subject: do config expansion (NETMASK, PREFIX, etc) in a function, call it from ifdown (fixes #49777, #49783) --- sysconfig/network-scripts/ifdown | 2 ++ sysconfig/network-scripts/ifup | 16 +--------------- sysconfig/network-scripts/network-functions | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 15 deletions(-) (limited to 'sysconfig/network-scripts') diff --git a/sysconfig/network-scripts/ifdown b/sysconfig/network-scripts/ifdown index a1a7c27a..3ccf4547 100755 --- a/sysconfig/network-scripts/ifdown +++ b/sysconfig/network-scripts/ifdown @@ -52,6 +52,8 @@ if [ "${NETWORKING_IPV6}" = "yes" ]; then /etc/sysconfig/network-scripts/ifdown-ipv6 ${CONFIG} fi +expand_config + retcode=0 if [ "$BOOTPROTO" = bootp -o "$BOOTPROTO" = dhcp ]; then [ -n "`pidof -x dhcpcd`" ] && { diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup index fa155f71..2f61aca1 100755 --- a/sysconfig/network-scripts/ifup +++ b/sysconfig/network-scripts/ifup @@ -181,21 +181,7 @@ else exec /etc/sysconfig/network-scripts/ifup-post ${CONFIG} ${2} fi - if [ -z "${NETMASK}" ]; then - eval `/bin/ipcalc --netmask ${IPADDR}` - fi - - if [ -z "${PREFIX}" ]; then - eval `/bin/ipcalc --prefix ${IPADDR} ${NETMASK}` - fi - - if [ -z "${BROADCAST}" ]; then - eval `/bin/ipcalc --broadcast ${IPADDR} ${NETMASK}` - fi - - if [ -z "${NETWORK}" ]; then - eval `/bin/ipcalc --network ${IPADDR} ${NETMASK}` - fi + expand_config [ -n "${ARP}${PROMISC}${ALLMULTI}" ] && \ ip link set ${DEVICE} $(toggle_value arp $ARP) \ diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 3ce52335..ae661a31 100644 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions @@ -29,6 +29,25 @@ source_config () . $CONFIG } +expand_config () +{ + if [ -z "${NETMASK}" ]; then + eval `/bin/ipcalc --netmask ${IPADDR}` + fi + + if [ -z "${PREFIX}" ]; then + eval `/bin/ipcalc --prefix ${IPADDR} ${NETMASK}` + fi + + if [ -z "${BROADCAST}" ]; then + eval `/bin/ipcalc --broadcast ${IPADDR} ${NETMASK}` + fi + + if [ -z "${NETWORK}" ]; then + eval `/bin/ipcalc --network ${IPADDR} ${NETMASK}` + fi +} + toggle_value() { if [ -z "$2" ] -- cgit v1.2.1