summaryrefslogtreecommitdiff
path: root/data/templates/wwan/ip-down.script.tmpl
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/wwan/ip-down.script.tmpl')
-rw-r--r--data/templates/wwan/ip-down.script.tmpl56
1 files changed, 26 insertions, 30 deletions
diff --git a/data/templates/wwan/ip-down.script.tmpl b/data/templates/wwan/ip-down.script.tmpl
index 5ce61f9b1..e9c518433 100644
--- a/data/templates/wwan/ip-down.script.tmpl
+++ b/data/templates/wwan/ip-down.script.tmpl
@@ -1,30 +1,26 @@
-#!/bin/sh
-
-tty=$2
-ipparam=$6
-
-# Only applicable for Wireless Modems (WWAN)
-if [ -z "$(echo $tty | egrep "tty(USB|ACM)")" ]; then
- exit 0
-fi
-
-# device name and metric are received using ipparam
-device=`echo "$ipparam"|awk '{ print $1 }'`
-metric=`echo "$ipparam"|awk '{ print $2 }'`
-
-# Determine if we are enslaved to a VRF, this is needed to properly insert
-# the backup default route
-if [ -d /sys/class/net/${device}/upper_* ]; then
- # Determine upper (VRF) interface
- VRF=$(basename $(ls -d /sys/class/net/wlm0/upper_*))
- # Remove upper_ prefix from result string
- VRF=${VRF#"upper_"}
- # Configure VRF default route
- vtysh -c "conf t" -c "vrf $VRF" -c "no ip route 0.0.0.0/0 ${device} ${metric}"
-else
- # No VRF, use default routing table
- vtysh -c "conf t" -c "no ip route 0.0.0.0/0 ${device} ${metric}"
-fi
-
-DIALER_PID=$(cat /var/run/${device}.pid)
-logger -t pppd[$DIALER_PID] "removed default route via $device metric $metric"
+#!/bin/sh
+
+tty=$2
+
+# Only applicable for Wireless Modems (WWAN)
+if [ -z "$(echo $tty | egrep "tty(USB|ACM)")" ]; then
+ exit 0
+fi
+
+# Determine if we are enslaved to a VRF, this is needed to properly insert
+# the default route
+VRF_NAME=""
+if [ -d /sys/class/net/{{ intf }}/upper_* ]; then
+ # Determine upper (VRF) interface
+ VRF=$(basename $(ls -d /sys/class/net/wlm0/upper_*))
+ # Remove upper_ prefix from result string
+ VRF=${VRF#"upper_"}
+ # Populate variable to run in VR context
+ VRF_NAME=" -c vrf ${VRF_NAME} "
+fi
+
+# Remove default route to either default or VRF routing table
+vtysh -c "conf t" ${VRF_NAME} -c "no ip route 0.0.0.0/0 {{ intf }} {{ metric }}"
+
+DIALER_PID=$(cat /var/run/{{ intf }}.pid)
+logger -t pppd[$DIALER_PID] "removed default route via {{ intf }} metric {{ metric }}"