diff options
Diffstat (limited to 'package/network/config/netifd/files/etc')
-rw-r--r-- | package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate | 8 | ||||
-rwxr-xr-x | package/network/config/netifd/files/etc/init.d/network | 47 |
2 files changed, 55 insertions, 0 deletions
diff --git a/package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate b/package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate new file mode 100644 index 000000000..c50cda6ea --- /dev/null +++ b/package/network/config/netifd/files/etc/hotplug.d/iface/00-netstate @@ -0,0 +1,8 @@ +[ ifup = "$ACTION" ] && { + uci_toggle_state network "$INTERFACE" up 1 + uci_toggle_state network "$INTERFACE" connect_time $(sed -ne 's![^0-9].*$!!p' /proc/uptime) + [ -n "$DEVICE" ] && { + uci_toggle_state network "$INTERFACE" device "$(uci -q get network.$INTERFACE.ifname)" + uci_toggle_state network "$INTERFACE" ifname "$DEVICE" + } +} diff --git a/package/network/config/netifd/files/etc/init.d/network b/package/network/config/netifd/files/etc/init.d/network new file mode 100755 index 000000000..429f33dd9 --- /dev/null +++ b/package/network/config/netifd/files/etc/init.d/network @@ -0,0 +1,47 @@ +#!/bin/sh /etc/rc.common + +START=20 +STOP=90 + +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +start() { + stop + [ -e /proc/sys/kernel/core_pattern ] && { + ulimit -c unlimited + echo '/tmp/%e.%p.%s.%t.core' > /proc/sys/kernel/core_pattern + } + service_start /sbin/netifd + + setup_switch() { return 0; } + + include /lib/network + setup_switch + + sleep 5 + + /sbin/wifi down + /sbin/wifi up +} + +restart() { + ifdown -a + sleep 1 + start +} + +shutdown() { + ifdown -a + stop +} + +stop() { + service_stop /sbin/netifd +} + +reload() { + ubus call network reload + /sbin/wifi down + /sbin/wifi up +} |