FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > ArchLinux > ArchLinux General Discussion

 
 
LinkBack Thread Tools
 
Old 06-30-2010, 09:47 PM
Victor Lowther
 
Default Trivial bashification of network

---
network | 70 +++++++++++++++++++++++++++-----------------------------------
1 files changed, 31 insertions(+), 39 deletions(-)

diff --git a/network b/network
index 40f1a90..20ff9c7 100755
--- a/network
+++ b/network
@@ -9,17 +9,15 @@ done

ifup()
{
- if [ "$1" = "" ]; then
+ if [[ ! $1 ]]; then
echo "usage: $0 ifup <interface_name>"
return 1
fi
-
eval ifcfg="$${1}"

# Get the name of the interface from the first token in the string
-
- if [ "$ifcfg" = "dhcp" ]; then
- ifname="$1"
+ if [[ $ifcfg = dhcp ]]; then
+ ifname=$1
else
ifname=${ifcfg%% *}
fi
@@ -28,7 +26,7 @@ ifup()

wi_up $1 || return 1

- if [ "$ifcfg" = "dhcp" ]; then
+ if [[ $ifcfg = dhcp ]]; then
# remove the .pid file if it exists
/bin/rm -f /var/run/dhcpcd-${1}.pid >/dev/null 2>&1
/bin/rm -f /var/run/dhcpcd-${1}.cache >/dev/null 2>&1
@@ -36,20 +34,19 @@ ifup()
else
/sbin/ifconfig $ifcfg
fi
- return $?
}

wi_up()
{
eval iwcfg="$wlan_${1}"
- [ "$iwcfg" = "" ] && return 0
+ [[ ! $iwcfg ]] && return 0

/usr/sbin/iwconfig $iwcfg
- [[ -z "$WIRELESS_TIMEOUT" ]] && WIRELESS_TIMEOUT=2
+ [[ $WIRELESS_TIMEOUT ]] || WIRELESS_TIMEOUT=2
sleep $WIRELESS_TIMEOUT

- bssid=`iwgetid $1 -ra`
- if [[ "$bssid" = "00:00:00:00:00:00" ]]; then
+ bssid=$(iwgetid $1 -ra)
+ if [[ $bssid = 00:00:00:00:00:00 ]]; then
printhl "Could not associate $1 - try increasing WIRELESS_TIMEOUT and check network is WEP or has no security"
return 1
fi
@@ -58,25 +55,22 @@ wi_up()

ifdown()
{
- if [ "$1" = "" ]; then
+ if [[ ! $1 ]]; then
echo "usage: $0 ifdown <interface_name>"
return 1
fi
eval ifcfg="$${1}"
- if [ "$ifcfg" = "dhcp" ]; then
- if [ -f /var/run/dhcpcd-${1}.pid ]; then
- /bin/kill $(cat /var/run/dhcpcd-${1}.pid)
- fi
+ if [[ $ifcfg = dhcp && -f /var/run/dhcpcd-${1}.pid ]]; then
+ /bin/kill $(cat /var/run/dhcpcd-${1}.pid)
fi
# Always bring the interface itself down
/sbin/ifconfig ${1} down >/dev/null 2>&1
- return $?
}

iflist()
{
for ifline in ${INTERFACES[@]}; do
- if [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $ifline = ${ifline#!} ]]; then
printf " $ifline: "
else
printf "$ifline: "
@@ -88,38 +82,36 @@ iflist()

rtup()
{
- if [ "$1" = "" ]; then
+ if [[ ! $1 ]]; then
echo "usage: $0 rtup <route_name>"
return 1
fi
eval routecfg="$${1}"
- if grep -q :: <<< $routecfg; then
+ if [[ $routecfg =~ :: ]]; then
/sbin/route -A inet6 add $routecfg
else
/sbin/route add $routecfg
fi
- return $?
}

rtdown()
{
- if [ "$1" = "" ]; then
+ if [[ ! $1 ]; then
echo "usage: $0 rtdown <route_name>"
return 1
fi
eval routecfg="$${1}"
- if grep -q :: <<< $routecfg; then
+ if [[ $routecfg =~ :: ]]; then
/sbin/route -A inet6 del $routecfg
else
/sbin/route del $routecfg
fi
- return $?
}

rtlist()
{
for rtline in ${ROUTES[@]}; do
- if [ "$rtline" = "${rtline#!}" ]; then
+ if [[ $rtline = ${rtline#!} ]]; then
printf " $rtline: "
else
printf "$rtline: "
@@ -132,9 +124,9 @@ rtlist()
bond_up()
{
for ifline in ${BOND_INTERFACES[@]}; do
- if [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $ifline = ${ifline#!} ]]; then
eval bondcfg="$bond_${ifline}"
- if [ -n "${bondcfg}" ]; then
+ if [[ ${bondcfg} ]]; then
/sbin/ifenslave $ifline $bondcfg || error=1
fi
fi
@@ -144,7 +136,7 @@ bond_up()
bond_down()
{
for ifline in ${BOND_INTERFACES[@]}; do
- if [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $ifline = ${ifline#!} ]]; then
eval bondcfg="$bond_${ifline}"
/sbin/ifenslave -d $ifline $bondcfg || error=1
fi
@@ -154,18 +146,18 @@ bond_down()
bridge_up()
{
for br in ${BRIDGE_INTERFACES[@]}; do
- if [ "$br" = "${br#!}" ]; then
+ if [[ $br = ${br#!} ]]; then
# if the bridge already exists, remove it
- if [ "$(/sbin/ifconfig $br 2>/dev/null)" ]; then
+ if [[ $(/sbin/ifconfig $br 2>/dev/null) ]]; then
/sbin/ifconfig $br down
/usr/sbin/brctl delbr $br
fi
/usr/sbin/brctl addbr $br
eval brifs="$bridge_${br}"
for brif in $brifs; do
- if [ "$brif" = "${brif#!}" ]; then
+ if [[ $brif = ${brif#!} ]]; then
for ifline in ${BOND_INTERFACES[@]}; do
- if [ "$brif" = "$ifline" ] && [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $brif = $ifline && $ifline = ${ifline#!} ]]; then
ifup $ifline
eval bondcfg="$bond_${ifline}"
/sbin/ifenslave $ifline $bondcfg || error=1
@@ -183,7 +175,7 @@ bridge_up()
bridge_down()
{
for br in ${BRIDGE_INTERFACES[@]}; do
- if [ "$br" = "${br#!}" ]; then
+ if [[ $br = ${br#!} ]]; then
/usr/sbin/brctl delbr $br
fi
done
@@ -203,7 +195,7 @@ case "$1" in
bridge_up
# bring up ethernet interfaces
for ifline in ${INTERFACES[@]}; do
- if [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $ifline = ${ifline#!} ]]; then
ifup $ifline || error=1
fi
done
@@ -215,7 +207,7 @@ case "$1" in
rtup $rtline || error=1
fi
done
- if [ $error -eq 0 ]; then
+ if ((error == 0)); then
add_daemon network
stat_done
else
@@ -228,7 +220,7 @@ case "$1" in
# exit
#fi

- if [ "${NETWORK_PERSIST}" = "yes" -o "${NETWORK_PERSIST}" = "YES" ]; then
+ if [[ $NETWORK_PERSIST =~ yes|YES ]]; then
status "Skipping Network Shutdown" true
exit 0
fi
@@ -237,20 +229,20 @@ case "$1" in
rm_daemon network
error=0
for rtline in "${ROUTES[@]}"; do
- if [ "$rtline" = "${rtline#!}" ]; then
+ if [[ $rtline = ${rtline#!} ]]; then
rtdown $rtline || error=1
fi
done
# bring down bond interfaces
bond_down
for ifline in ${INTERFACES[@]}; do
- if [ "$ifline" = "${ifline#!}" ]; then
+ if [[ $ifline = ${ifline#!} ]]; then
ifdown $ifline || error=1
fi
done
# bring down bridge interfaces
bridge_down
- if [ $error -eq 0 ]; then
+ if ((error == 0)); then
stat_done
else
stat_fail
--
1.7.1
 
Old 07-01-2010, 12:21 AM
Alexander Duscheleit
 
Default Trivial bashification of network

Thomas, while you're working on rc.d/network, could you please have
another look @ FS#16625? It's been sitting stale for quite a while.

It would *really* speed up networking for us bridge
users, and bridging is becoming more and more common with all the
virtualization around.
 

Thread Tools




All times are GMT. The time now is 11:35 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org