diff options
Diffstat (limited to 'package/6to4/files/6to4.hotplug')
-rw-r--r-- | package/6to4/files/6to4.hotplug | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/package/6to4/files/6to4.hotplug b/package/6to4/files/6to4.hotplug new file mode 100644 index 0000000..037abd4 --- /dev/null +++ b/package/6to4/files/6to4.hotplug @@ -0,0 +1,29 @@ +#!/bin/sh + +if [ "$ACTION" = ifup ]; then + . /etc/functions.sh + + include /lib/network + scan_interfaces + + update_tunnel() { + local cfg="$1" + + local proto + config_get proto "$cfg" proto + [ "$proto" = 6to4 ] || return 0 + + local wandev + config_get wandev "$cfg" wan_device "$(find_6to4_wanif)" + [ "$wandev" = "$DEVICE" ] || return 0 + + local wanip=$(find_6to4_wanip "$wandev") + + [ -n "$wanip" ] && { + uci_set_state network "$cfg" ipaddr "$wanip" + ( ifup "$cfg" )& + } + } + + config_foreach update_tunnel interface +fi |