aboutsummaryrefslogtreecommitdiffstats
path: root/network-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'network-scripts')
-rwxr-xr-xnetwork-scripts/ifup8
-rwxr-xr-xnetwork-scripts/ifup-aliases2
-rwxr-xr-xnetwork-scripts/ifup-ctc2
-rwxr-xr-xnetwork-scripts/ifup-eth14
-rwxr-xr-xnetwork-scripts/ifup-ippp16
-rwxr-xr-xnetwork-scripts/ifup-plip2
-rwxr-xr-xnetwork-scripts/ifup-plusb2
-rwxr-xr-xnetwork-scripts/ifup-tunnel2
-rw-r--r--network-scripts/network-functions50
-rw-r--r--network-scripts/network-functions-ipv610
10 files changed, 60 insertions, 48 deletions
diff --git a/network-scripts/ifup b/network-scripts/ifup
index 5aac4c9f..a0530779 100755
--- a/network-scripts/ifup
+++ b/network-scripts/ifup
@@ -122,7 +122,7 @@ if is_true "${VLAN}" && is_false "$ISALIAS" && [ -n "$DEVICE" ]; then
}
# Link on Physical device needs to be up but no ip required
- check_device_down ${PHYSDEV} && { ip -o link set dev ${PHYSDEV} up; }
+ check_device_down ${PHYSDEV} && set_link_up ${PHYSDEV}
if [ ! -f /proc/net/vlan/${DEVICE} ]; then
if is_false "${REORDER_HDR}"; then
@@ -134,13 +134,11 @@ if is_true "${VLAN}" && is_false "$ISALIAS" && [ -n "$DEVICE" ]; then
fi
ip link add dev ${DEVICE} link ${PHYSDEV} type vlan id ${VID} ${FLAG_REORDER_HDR} ${FLAG_GVRP} || {
- (/usr/bin/logger -p daemon.info -t ifup \
- $"ERROR: could not add vlan ${VID} as ${DEVICE} on dev ${PHYSDEV}" &) &
- net_log $"ERROR: could not add vlan ${VID} as ${DEVICE} on dev ${PHYSDEV}"
+ net_log $"ERROR: could not add vlan ${VID} as ${DEVICE} on dev ${PHYSDEV}" info ifup
exit 1
}
- [ -n "${VLAN_EGRESS_PRIORITY_MAP}" ] && ip link set ${DEVICE} type vlan egress ${VLAN_EGRESS_PRIORITY_MAP}
+ [ -n "${VLAN_EGRESS_PRIORITY_MAP}" ] && ip link set dev ${DEVICE} type vlan egress ${VLAN_EGRESS_PRIORITY_MAP}
fi
fi
diff --git a/network-scripts/ifup-aliases b/network-scripts/ifup-aliases
index 8020f407..971ce208 100755
--- a/network-scripts/ifup-aliases
+++ b/network-scripts/ifup-aliases
@@ -266,7 +266,7 @@ function new_interface ()
if [ "${parent_device}" != "lo" ] && ! is_false "${ARPCHECK}" && \
is_available ${parent_device} && \
( grep -qswi "up" /sys/class/net/${parent_device}/operstate || grep -qswi "1" /sys/class/net/${parent_device}/carrier ) ; then
- echo $"Determining if ip address ${IPADDR} is already in use for device ${parent_device}..."
+ echo $"Determining if IP address ${IPADDR} is already in use for device ${parent_device}…"
ARPING=$(/sbin/arping -c 2 -w ${ARPING_WAIT:-3} -D -I ${parent_device} ${IPADDR})
if [ $? = 1 ]; then
ARPINGMAC=$(echo $ARPING | sed -ne 's/.*\[\(.*\)\].*/\1/p')
diff --git a/network-scripts/ifup-ctc b/network-scripts/ifup-ctc
index 83f754a0..89f50a09 100755
--- a/network-scripts/ifup-ctc
+++ b/network-scripts/ifup-ctc
@@ -26,7 +26,7 @@ fi
[ -z "$PREFIX" ] && eval $(/bin/ipcalc --prefix ${IPADDR} ${NETMASK})
ip addr add ${IPADDR} peer ${GATEWAY}/${PREFIX} dev ${DEVICE}
-ip link set up dev ${DEVICE}
+set_link_up ${DEVICE}
# Wait for the device to come up - the chandev'ified ctc driver can take
# quite a while...
timeout=0
diff --git a/network-scripts/ifup-eth b/network-scripts/ifup-eth
index 178b5173..730e08fd 100755
--- a/network-scripts/ifup-eth
+++ b/network-scripts/ifup-eth
@@ -60,7 +60,7 @@ if [ "${TYPE}" = "Bridge" ]; then
if [ ! -d /sys/class/net/${DEVICE}/bridge ]; then
ip link add ${DEVICE} type bridge $bridge_opts || exit 1
elif [ -n "${bridge_opts}" ]; then
- ip link set ${DEVICE} type bridge $bridge_opts || exit 1
+ ip link set dev ${DEVICE} type bridge $bridge_opts || exit 1
fi
unset bridge_opts
@@ -76,7 +76,7 @@ if [ "${TYPE}" = "Bridge" ]; then
# set LINKDELAY (used as timeout when calling check_link_down())
# to at least (${DELAY} * 2) + 7 if STP is enabled. This is the
# minimum time required for /sys/class/net/$REALDEVICE/carrier to
- # become 1 after "ip link set dev $DEVICE up" is called.
+ # become 1 after "set_link_up $DEVICE" is called.
if is_true "${STP}"; then
if [ -n "${DELAY}" ]; then
forward_delay="${DELAY}"
@@ -164,7 +164,7 @@ fi
# so it can actually get an IP.
if is_false "$ISALIAS" && is_bonding_device ${DEVICE}; then
install_bonding_driver ${DEVICE}
- /sbin/ip link set dev ${DEVICE} up
+ set_link_up ${DEVICE}
for device in $(LANG=C grep -l "^[[:space:]]*MASTER=['\"]\?${DEVICE}['\"]\?\([[:space:]#]\|$\)" /etc/sysconfig/network-scripts/ifcfg-*) ; do
is_ignored_file "$device" && continue
/sbin/ifup ${device##*/} || net_log "Unable to start slave device ${device##*/} for master ${DEVICE}." warning
@@ -188,10 +188,10 @@ if [ -n "${BRIDGE}" ]; then
ip link add ${BRIDGE} type bridge 2>/dev/null
fi
/sbin/ip addr flush dev ${DEVICE} 2>/dev/null
- /sbin/ip link set dev ${DEVICE} up
+ set_link_up ${DEVICE}
ethtool_set
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
- ip link set ${DEVICE} master ${BRIDGE}
+ ip link set dev ${DEVICE} master ${BRIDGE}
# add the bits to setup driver parameters here
for arg in $BRIDGING_OPTS ; do
key=${arg%%=*};
@@ -243,7 +243,7 @@ if [ -n "${DYNCONFIG}" ] && [ -x /sbin/dhclient ]; then
else
if [ -z "${IPADDR}" -a -z "${IPADDR0}" -a -z "${IPADDR1}" -a -z "${IPADDR2}" ]; then
# enable device without IP, useful for e.g. PPPoE
- ip link set dev ${REALDEVICE} up
+ set_link_up ${REALDEVICE}
ethtool_set
[ -n "${LINKDELAY}" ] && /bin/sleep ${LINKDELAY}
else
@@ -253,7 +253,7 @@ else
[ -n "${ARP}" ] && \
ip link set dev ${REALDEVICE} $(toggle_value arp $ARP)
- if ! ip link set dev ${REALDEVICE} up ; then
+ if ! set_link_up ${REALDEVICE} ; then
net_log $"Failed to bring up ${DEVICE}."
exit 1
fi
diff --git a/network-scripts/ifup-ippp b/network-scripts/ifup-ippp
index b8df7c07..a19c12e0 100755
--- a/network-scripts/ifup-ippp
+++ b/network-scripts/ifup-ippp
@@ -30,20 +30,20 @@ fi
# check that ipppd is available for syncppp
if [ "$ENCAP" = "syncppp" ]; then
if [ ! -x /sbin/ipppd ] && [ ! -x /usr/sbin/ipppd ] ; then
- /usr/bin/logger -p daemon.info -t ifup-ippp "ipppd does not exist or is not executable"
+ net_log $"ipppd does not exist or is not executable" info ifup-ippp
exit 1
fi
fi
# check that isdnctrl is available
if [ ! -x /sbin/isdnctrl ] && [ ! -x /usr/sbin/isdnctrl ] ; then
- /usr/bin/logger -p daemon.info -t ifup-ippp "isdnctrl does not exist or is not executable"
+ net_log $"isdnctrl does not exist or is not executable" info ifup-ippp
exit 1
fi
# check all ISDN devices
if ! isdnctrl list all >/dev/null 2>&1 ; then
- /usr/bin/logger -p daemon.info -t ifup-ippp "cannot list ISDN devices"
+ net_log $"cannot list ISDN devices" info ifup-ippp
exit 1
fi
@@ -52,12 +52,12 @@ isdnctrl list $DEVICE >/dev/null 2>&1 && exit 0
function log_echo()
{
- /usr/bin/logger -p daemon.info -t ifup-ippp $"$*"
+ net_log $"$*" info ifup-ippp
}
function log_isdnctrl()
{
- /usr/bin/logger -p daemon.info -t ifup-ippp isdnctrl $*
+ net_log $"$*" info ifup-ippp
isdnctrl $* >/dev/null 2>&1 || exit 1
}
@@ -340,13 +340,13 @@ function addprovider()
pfx=${val##PREFIX=}
}
# activate ISDN device
- /usr/bin/logger -p daemon.info -t ifup-ippp "ip addr add $IPADDR peer $GATEWAY${pfx:/$pfx} dev $DEVICE"
+ net_log $"ip addr add $IPADDR peer $GATEWAY${pfx:/$pfx} dev $DEVICE" info ifup-ippp
ip addr add $IPADDR peer $GATEWAY${pfx:/$pfx} dev $DEVICE
- ip link set dev $DEVICE up
+ set_link_up ${DEVICE}
if [ "$ENCAP" = "syncppp" ]; then
# start ipppd daemon
- /usr/bin/logger -p daemon.info -t ifup-ippp "ipppd $options $netmask"
+ net_log $"ipppd $options $netmask" info ifup-ippp
ipppd $options $netmask >/dev/null 2>&1
# start ibod daemon
diff --git a/network-scripts/ifup-plip b/network-scripts/ifup-plip
index 2cea68b4..3524b261 100755
--- a/network-scripts/ifup-plip
+++ b/network-scripts/ifup-plip
@@ -12,7 +12,7 @@ fi
[ -z "$PREFIX" ] && eval $(/bin/ipcalc --prefix ${IPADDR} ${NETMASK})
ip addr add ${IPADDR} peer ${REMIP}/${PREFIX} dev ${DEVICE}
-ip link set up dev ${DEVICE}
+set_link_up ${DEVICE}
ip route add ${NETWORK} dev ${DEVICE}
. /etc/sysconfig/network
diff --git a/network-scripts/ifup-plusb b/network-scripts/ifup-plusb
index 1b29afeb..2b2c2c5c 100755
--- a/network-scripts/ifup-plusb
+++ b/network-scripts/ifup-plusb
@@ -29,7 +29,7 @@ if [ ${BROADCAST} != "" ] ; then
else
ip addr add ${IPADDR} peer ${REMIP}/${PREFIX} dev ${DEVICE}
fi
-ip link set up dev ${DEVICE}
+set_link_up ${DEVICE}
. /etc/sysconfig/network
diff --git a/network-scripts/ifup-tunnel b/network-scripts/ifup-tunnel
index ea85df52..f20048a3 100755
--- a/network-scripts/ifup-tunnel
+++ b/network-scripts/ifup-tunnel
@@ -91,7 +91,7 @@ fi
/sbin/ip addr add "$MY_INNER_IPADDR" dev "$DEVICE" \
${PEER_INNER_IPADDR:+peer "$PEER_INNER_IPADDR"}
-/sbin/ip link set dev "$DEVICE" up
+set_link_up "${DEVICE}"
# IPv6 initialisation?
/etc/sysconfig/network-scripts/ifup-ipv6 ${CONFIG}
diff --git a/network-scripts/network-functions b/network-scripts/network-functions
index 99096bd8..c80467ab 100644
--- a/network-scripts/network-functions
+++ b/network-scripts/network-functions
@@ -195,25 +195,29 @@ nm_con_load () {
array:string:"/etc/sysconfig/network-scripts/${1}" >/dev/null 2>&1
}
-ethtool_set()
+ethtool_set ()
{
- oldifs=$IFS;
- IFS=';';
- if [ -n "${ETHTOOL_DELAY}" ]; then
- # Convert microseconds to seconds:
- local ETHTOOL_DELAY_SEC=$(convert2sec ${ETHTOOL_DELAY} micro)
- sleep ${ETHTOOL_DELAY_SEC}
- fi
- for opts in $ETHTOOL_OPTS ; do
- IFS=$oldifs;
- if [[ "${opts}" =~ [[:space:]]*- ]]; then
- /sbin/ethtool $opts
- else
- /sbin/ethtool -s ${REALDEVICE} $opts
- fi
+ if [ -n "${ETHTOOL_OPTS}" ] && [ ! -x /sbin/ethtool ] ; then
+ net_log "ethtool does not exist or is not executable." warning
+ else
+ oldifs=$IFS;
IFS=';';
- done
- IFS=$oldifs;
+ if [ -n "${ETHTOOL_DELAY}" ] ; then
+ # Convert microseconds to seconds:
+ local ETHTOOL_DELAY_SEC=$(convert2sec ${ETHTOOL_DELAY} micro)
+ sleep ${ETHTOOL_DELAY_SEC}
+ fi
+ for opts in $ETHTOOL_OPTS ; do
+ IFS=$oldifs;
+ if [[ "${opts}" =~ [[:space:]]*- ]] ; then
+ /sbin/ethtool $opts
+ else
+ /sbin/ethtool -s ${REALDEVICE} $opts
+ fi
+ IFS=';';
+ done
+ IFS=$oldifs;
+ fi
}
expand_config ()
@@ -453,11 +457,16 @@ check_device_down ()
fi
}
-check_link_down ()
+set_link_up ()
{
- if ! LC_ALL=C ip link show dev $1 2>/dev/null| grep -q ",UP" ; then
+ if [ "$LINKSTATUS" != up ]; then
ip link set dev $1 up >/dev/null 2>&1
fi
+}
+
+check_link_down ()
+{
+ set_link_up $1
timeout=0
delay=10
[ -n "$LINKDELAY" ] && delay=$(($LINKDELAY * 2))
@@ -622,6 +631,8 @@ is_bonding_device ()
# Invoke this when /etc/resolv.conf has changed:
change_resolv_conf ()
{
+ oldumask=$(umask)
+ umask 022
s=$(/bin/grep '^[\ \ ]*option' /etc/resolv.conf 2>/dev/null)
if [ $# -gt 1 ]; then
if [ "x$s" != "x" ]; then
@@ -657,6 +668,7 @@ change_resolv_conf ()
/usr/bin/logger -p local7.notice -t "NET" -i "$0 : updated /etc/resolv.conf"
[ -e /run/nscd/socket ] && /usr/sbin/nscd -i hosts # invalidate cache
fi
+ umask "$oldumask"
return $r
}
diff --git a/network-scripts/network-functions-ipv6 b/network-scripts/network-functions-ipv6
index 2f7b19b8..a85a776d 100644
--- a/network-scripts/network-functions-ipv6
+++ b/network-scripts/network-functions-ipv6
@@ -10,6 +10,8 @@
#
#
+# Source network-functions due to need of set_link_up()
+. ./network-functions
##### Test for IPv6 capabilities
# $1: (optional) testflag: currently supported: "testonly" (do not load a module)
@@ -108,7 +110,7 @@ ipv6_enable_autotunnel() {
true
else
# bring up basic tunnel device
- /sbin/ip link set sit0 up
+ set_link_up sit0
if ! ipv6_test_device_status sit0; then
net_log $"Tunnel device 'sit0' enabling didn't work" err $fn
@@ -159,7 +161,7 @@ ipv6_add_addr_on_device() {
net_log $"Device '$device' doesn't exist" err $fn
return 3
else
- /sbin/ip link set $device up
+ set_link_up $device
if ! ipv6_test_device_status $device; then
net_log $"Device '$device' enabling didn't work" err $fn
@@ -604,7 +606,7 @@ ipv6_add_tunnel_device() {
return 3
fi
- /sbin/ip link set $device up
+ set_link_up $device
if ! ipv6_test_device_status $device; then
net_log $"Tunnel device '$device' bringing up didn't work" err $fn
@@ -1077,7 +1079,7 @@ ipv6_wait_tentative() {
if [ -n "$ip_output" ]; then
net_log $"Some IPv6 address(es) of ${device} remain still in 'tentative' state" warning $fn
- net_log $"Run 'ip -6 addr show dev ${device} tentative' to see more" warning $fn
+ net_log $"Run 'ip -6 addr show dev ${device} tentative' for more info" warning $fn
fi
return 0