summaryrefslogtreecommitdiff
path: root/package/base-files/src/etc/network
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/src/etc/network')
-rwxr-xr-xpackage/base-files/src/etc/network/if-post-down.d/03-wireless5
-rwxr-xr-xpackage/base-files/src/etc/network/if-post-down.d/04-bonding20
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/02-vlan10
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/04-wireless26
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/05-bonding37
-rwxr-xr-xpackage/base-files/src/etc/network/if-up.d/02-wireless1
-rw-r--r--package/base-files/src/etc/network/interfaces59
7 files changed, 79 insertions, 79 deletions
diff --git a/package/base-files/src/etc/network/if-post-down.d/03-wireless b/package/base-files/src/etc/network/if-post-down.d/03-wireless
index 86e0c73e1..a32e58781 100755
--- a/package/base-files/src/etc/network/if-post-down.d/03-wireless
+++ b/package/base-files/src/etc/network/if-post-down.d/03-wireless
@@ -1,5 +1,4 @@
-#!/bin/sh
-set -e
+#!/bin/sh
[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
@@ -11,7 +10,7 @@ case "$IF_WIRELESS_MODE" in
sta)
[ "$IF_WIRELESS_SECURITY" != "none" ] && {
logger -t wireless "Killing wpa_supplicant"
- pkill wpa_supplicant
+ kill -9 $(cat /var/run/wpa_supplicant.pid)
}
;;
*)
diff --git a/package/base-files/src/etc/network/if-post-down.d/04-bonding b/package/base-files/src/etc/network/if-post-down.d/04-bonding
new file mode 100755
index 000000000..0b9c9f362
--- /dev/null
+++ b/package/base-files/src/etc/network/if-post-down.d/04-bonding
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+case "$IF_BOND_PORTS" in
+"")
+ exit 0
+ ;;
+none)
+ INTERFACES=""
+ ;;
+*)
+ INTERFACES="$IF_BOND_PORTS"
+ ;;
+esac
+
+for IF in $INTERFACES; do
+ ip link set $IF nomaster
+ ip link set $IF down
+done
+ip link del $IFACE
+exit 0
diff --git a/package/base-files/src/etc/network/if-pre-up.d/02-vlan b/package/base-files/src/etc/network/if-pre-up.d/02-vlan
index 26b33ca80..f153df564 100755
--- a/package/base-files/src/etc/network/if-pre-up.d/02-vlan
+++ b/package/base-files/src/etc/network/if-pre-up.d/02-vlan
@@ -1,13 +1,7 @@
#!/bin/sh
-which vconfig || {
- echo "vconfig executable not found, aborting"
- exit 0
-}
-[ -d /proc/net/vlan ] || {
- echo "no kernel support for 802.1q found, aborting"
- exit 0
-}
+which vconfig >/dev/null || exit 0
+[ -d /proc/net/vlan ] || exit 0
case "$IFACE" in
vlan*)
diff --git a/package/base-files/src/etc/network/if-pre-up.d/04-wireless b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
index ebcec5a12..ef070c5bc 100755
--- a/package/base-files/src/etc/network/if-pre-up.d/04-wireless
+++ b/package/base-files/src/etc/network/if-pre-up.d/04-wireless
@@ -1,18 +1,17 @@
#!/bin/sh
-set -e
[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
[ "$IF_WIRELESS_SSID" ] || exit 1
-[ "$IF_WIRELESS_CHANNEL" ] || exit 1
[ "$IF_WIRELESS_HWMODE" ] || IF_WIRELESS_HWMODE=g
[ "$IF_WIRELESS_EXTENSION" ] || IF_WIRELESS_EXTENSION=0
-rfkill unblock wlan 2>/dev/null
+[ -x /usr/sbin/rfkill ] && rfkill unblock wlan 2>/dev/null
wpa=0
wpa1=0
wpa2=0
+pairwise=""
case "$IF_WIRELESS_SECURITY" in
none)
@@ -24,10 +23,12 @@ case "$IF_WIRELESS_SECURITY" in
wpa)
sec=1
wpa1=1
+ pairwise=TKIP
;;
wpa2)
sec=1
wpa2=1
+ pairwise=CCMP
;;
wpa+wpa2)
sec=1
@@ -38,6 +39,8 @@ case "$IF_WIRELESS_SECURITY" in
;;
esac
+[ "$IF_WIRELESS_PAIRWISE" ] || IF_WIRELESS_PAIRWISE=$pairwise
+
case "$IF_WIRELESS_MODE" in
ap)
logger -t hostap "Creating hostapd configuration"
@@ -56,14 +59,14 @@ case "$IF_WIRELESS_MODE" in
logger -t hostap "using WPA for security"
echo "wpa=1" >> /tmp/hostapd.conf
echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
- echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf
+ echo "wpa_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
}
[ $wpa2 -eq 1 ] && {
logger -t hostap "using WPA2 for security"
echo "wpa=2" >> /tmp/hostapd.conf
echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf
- echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
+ echo "rsn_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
}
[ $wpa -eq 1 ] && {
@@ -74,8 +77,12 @@ case "$IF_WIRELESS_MODE" in
echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
}
+ [ -f /etc/hostapd.conf.post ] && \
+ cat /etc/hostapd.conf.post >> /tmp/hostapd.conf
;;
sta)
+ # need to wait for wlan drivers to settle down
+ sleep 1
ip link set up dev ${IFACE}
[ $IF_WIRELESS_EXTENSION -eq 1 ] && {
[ -x /usr/sbin/iwconfig ] || {
@@ -90,8 +97,11 @@ case "$IF_WIRELESS_MODE" in
exit 1
}
driver=nl80211
- iw dev ${IFACE} set channel $IF_WIRELESS_CHANNEL
- iw dev ${IFACE} connect $IF_WIRELESS_SSID
+ [ $sec -eq 2 ] && {
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" key d:0:$IF_WIRELESS_PASSPHRASE
+ } || {
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" 2>/dev/null
+ }
}
[ $wpa2 -eq 1 ] && {
[ -x /usr/sbin/wpa_supplicant ] || {
@@ -105,7 +115,7 @@ case "$IF_WIRELESS_MODE" in
echo " psk=\"$IF_WIRELESS_PASSPHRASE\"" >> /tmp/wpa_supplicant.conf
echo " priority=5" >> /tmp/wpa_supplicant.conf
echo "}" >> /tmp/wpa_supplicant.conf
- wpa_supplicant -B -D${driver} -i${IFACE} -c/tmp/wpa_supplicant.conf
+ wpa_supplicant -B -D${driver} -i${IFACE} -P/var/run/wpa_supplicant.pid -c/tmp/wpa_supplicant.conf
}
;;
*)
diff --git a/package/base-files/src/etc/network/if-pre-up.d/05-bonding b/package/base-files/src/etc/network/if-pre-up.d/05-bonding
new file mode 100755
index 000000000..489a2fcad
--- /dev/null
+++ b/package/base-files/src/etc/network/if-pre-up.d/05-bonding
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+INTERFACES=""
+BONDOPTS=""
+for var in $(env | grep '^IF_BOND_'); do
+ val="${var#*=}"
+ opt="${var%%=*}"
+ if [ "$opt" == "IF_BOND_PORTS" ]; then
+ case "$val" in
+ none)
+ INTERFACES=""
+ ;;
+ *)
+ INTERFACES="$val"
+ ;;
+ esac
+ continue
+ fi
+ opt="$(tr '[A-Z]' '[a-z]' <<< ${opt#IF_BOND_})"
+ BONDOPTS+=" $opt"
+ [ -n "$val" ] && BONDOPTS+=" $val"
+done
+
+[ -n "$INTERFACES" ] || exit 0
+
+ip link add $IFACE type bond ${BONDOPTS} || exit 1
+for IF in $INTERFACES; do
+ if ! grep -q $IF /proc/net/dev; then
+ echo "Error: interface '$IF' does not exist!"
+ ip link del $IFACE
+ exit 1
+ fi
+ ip link set $IF master $IFACE
+ ip link set $IF up
+done
+
+exit 0
diff --git a/package/base-files/src/etc/network/if-up.d/02-wireless b/package/base-files/src/etc/network/if-up.d/02-wireless
index cd9d2af3f..1ec73fed2 100755
--- a/package/base-files/src/etc/network/if-up.d/02-wireless
+++ b/package/base-files/src/etc/network/if-up.d/02-wireless
@@ -1,5 +1,4 @@
#!/bin/sh
-set -e
[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
diff --git a/package/base-files/src/etc/network/interfaces b/package/base-files/src/etc/network/interfaces
deleted file mode 100644
index dbde94b80..000000000
--- a/package/base-files/src/etc/network/interfaces
+++ /dev/null
@@ -1,59 +0,0 @@
-auto lo
-iface lo inet loopback
-
-auto eth0
-iface eth0 inet dhcp
-
-## static network configuration
-#auto eth0
-#iface eth0 inet static
-# address 192.168.1.1
-# netmask 255.255.255.0
-# broadcast +
-# gateway 192.168.1.254
-##
-
-## bridge configuration
-#auto br0
-#iface br0 inet static
-# address 192.168.99.1
-# netmask 255.255.255.0
-# broadcast +
-# bridge-ports eth0 eth1
-##
-
-## pppoe configuration
-#auto ppp0
-#iface ppp0 inet ppp
-# use-template pppoe
-# provider isp
-# ppp-mtu 1412
-# ppp-username foo
-# ppp-password bar
-# ppp-device eth1
-##
-
-## wireless client configuration
-#auto wlan0
-#iface wlan0 inet dhcp
-# wireless-ssid myap
-# wireless-channel 11
-# wireless-mode sta
-# wireless-security wpa2
-# wireless-passphrase xxxxxx
-##
-
-## wireless accesspoint configuration
-#auto wlan0
-#iface wlan0 inet static
-# address 192.168.40.10
-# netmask 255.255.255.0
-# broadcast +
-# wireless-ssid myap
-# wireless-channel 8
-# wireless-mode ap
-# wireless-security wpa2
-# wireless-passphrase xxxxxx
-##
-
-# for more special cases see: http://www.openadk.org/doku.php?id=network