Browse Source

net/mwan3: add hotplug script for hidden self interface generation

Add new globals config section with option local_source.

With this config option the self interface generation will be done now
automatically on hotplug event. You can specify which interface (ip)
sould be used for router traffic. To replace the self intereface in the
config set local_source to "lan".

The default option is none, so it will not change default behavior if a
"self" interface is configured in the network section.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
lilik-openwrt-22.03
Florian Eckert 7 years ago
parent
commit
c872189d66
1 changed files with 45 additions and 0 deletions
  1. +45
    -0
      net/mwan3/files/etc/hotplug.d/iface/14-mwan3

+ 45
- 0
net/mwan3/files/etc/hotplug.d/iface/14-mwan3 View File

@ -0,0 +1,45 @@
#!/bin/sh
. /lib/functions.sh
. /lib/mwan3/mwan3.sh
. /lib/functions/network.sh
[ "$ACTION" = "ifup" -o "$ACTION" = "ifdown" ] || exit 1
[ -n "$INTERFACE" ] || exit 2
if [ "$ACTION" = "ifup" ]; then
[ -n "$DEVICE" ] || exit 3
fi
config_load mwan3
config_get local_source globals local_source 'none'
[ "${local_source}" = "none" ] && {
exit 0
}
[ "${local_source}" = "$INTERFACE" ] || {
exit 0
}
mwan3_lock
src_ip=$(uci -q -P /var/state get mwan3.globals.src_ip 2>/dev/null)
[ "${src_ip}" != "" ] && {
ip route del default via "${src_ip}" dev lo 1>/dev/null 2>&1
ip addr del "${src_ip}/32" dev lo 1>/dev/null 2>&1
}
usleep 10000
[ "$ACTION" = "ifup" ] && {
network_get_ipaddr src_ip "${local_source}"
if [ "${src_ip}" = "" ]; then
$LOG warn "Unable to set source ip for own initiated traffic (${local_source})"
else
ip addr add "${src_ip}/32" dev lo
ip route add default via "${src_ip}" dev lo
uci -q -P /var/state set mwan3.globals.src_ip="${src_ip}"
fi
}
mwan3_unlock
exit 0

Loading…
Cancel
Save