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