From 888f04322ba3487e0771548ec7008f4e237c542d Mon Sep 17 00:00:00 2001 From: Manuel Munz Date: Sat, 26 Jan 2013 23:11:04 +0000 Subject: [PATCH] contrib/freifunk-policyrouting: Remove olsrd rttable options when wan goes down, thx xlizard --- .../files/etc/hotplug.d/iface/30-policyrouting | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/contrib/package/freifunk-policyrouting/files/etc/hotplug.d/iface/30-policyrouting b/contrib/package/freifunk-policyrouting/files/etc/hotplug.d/iface/30-policyrouting index d5136841b..f8c59a637 100644 --- a/contrib/package/freifunk-policyrouting/files/etc/hotplug.d/iface/30-policyrouting +++ b/contrib/package/freifunk-policyrouting/files/etc/hotplug.d/iface/30-policyrouting @@ -1,5 +1,16 @@ [ "$INTERFACE" != "wan" ] && exit 0 [ -f /proc/net/ipv6_route ] && has_ipv6=1 + +olsrd_rmtables() { + # Remove custom routing tables from olsrd + if [ "`uci -q get olsrd.@olsrd[0].RtTable`" == "111" ] || [ "`uci -q get olsrd.@olsrd[0].RtTableDefault`" == "112" ]; then + uci delete olsrd.@olsrd[0].RtTable + uci delete olsrd.@olsrd[0].RtTableDefault + uci commit + /etc/init.d/olsrd restart + fi +} + case $ACTION in ifup) pr="`uci get freifunk-policyrouting.pr.enable`" @@ -77,18 +88,13 @@ case $ACTION in [ "$fallback" = 1 ] && ip -6 rule add lookup olsr-default prio 16420 fi else - # Remove custom routing tables from olsrd - if [ "`uci -q get olsrd.@olsrd[0].RtTable`" == "111" ] || [ "`uci -q get olsrd.@olsrd[0].RtTableDefault`" == "112" ]; then - uci delete olsrd.@olsrd[0].RtTable - uci delete olsrd.@olsrd[0].RtTableDefault - uci commit - /etc/init.d/olsrd restart - fi + olsrd_rmtables fi ;; ifdown) logger -s -t policyrouting "Deleting ipv4 policy rules for $INTERFACE" + olsrd_rmtables ip rule del fwmark 1 lookup olsr-default > /dev/null 2>&1 ip rule del lookup olsr-default > /dev/null 2>&1 ip rule del lookup olsr > /dev/null 2>&1 -- 2.11.0