summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-04 13:54:40 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-04 14:06:31 +0200
commit1dd5728a0612658107d9a9afa5b99702d0bd6c51 (patch)
tree09bc18c2034c08f0bc3767695c97b80b8bbf2dbf
parent8dcf042a7f58dfac590b28174dc1d9b87ce5a893 (diff)
downloadvyos-1x-1dd5728a0612658107d9a9afa5b99702d0bd6c51.tar.gz
vyos-1x-1dd5728a0612658107d9a9afa5b99702d0bd6c51.zip
wwan: T2219: use Jinja variables rather then Bash args
-rw-r--r--data/templates/wwan/ip-down.script.tmpl56
-rw-r--r--data/templates/wwan/ip-up.script.tmpl56
-rw-r--r--data/templates/wwan/peer.tmpl60
3 files changed, 82 insertions, 90 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 }}"
diff --git a/data/templates/wwan/ip-up.script.tmpl b/data/templates/wwan/ip-up.script.tmpl
index a63042989..3ae3e5e7d 100644
--- a/data/templates/wwan/ip-up.script.tmpl
+++ b/data/templates/wwan/ip-up.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 "ip route 0.0.0.0/0 ${device} ${metric}"
-else
- # No VRF, use default routing table
- vtysh -c "conf t" -c "ip route 0.0.0.0/0 ${device} ${metric}"
-fi
-
-DIALER_PID=$(cat /var/run/${device}.pid)
-logger -t pppd[$DIALER_PID] "added 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
+
+# Apply default route to either default or VRF routing table
+vtysh -c "conf t" ${VRF_NAME} -c "ip route 0.0.0.0/0 {{ intf }} {{ metric }}"
+
+DIALER_PID=$(cat /var/run/{{ intf }}.pid)
+logger -t pppd[$DIALER_PID] "added default route via {{ intf }} metric {{ metric }}"
diff --git a/data/templates/wwan/peer.tmpl b/data/templates/wwan/peer.tmpl
index 7de1c8764..04ab4f844 100644
--- a/data/templates/wwan/peer.tmpl
+++ b/data/templates/wwan/peer.tmpl
@@ -1,30 +1,30 @@
-### Autogenerated by interfaces-wirelessmodem.py ###
-
-{% if description %}
-# {{ description }}
-{% endif %}
-ifname {{ intf }}
-ipparam "{{ intf }} {{ metric }}"
-linkname {{ intf }}
-{% if name_server -%}
-usepeerdns
-{%- endif %}
-# physical device
-/dev/{{ device }}
-lcp-echo-failure 0
-115200
-debug
-logfile {{ logfile }}
-nodefaultroute
-ipcp-max-failure 4
-ipcp-accept-local
-ipcp-accept-remote
-noauth
-crtscts
-lock
-persist
-{% if on_demand -%}
-demand
-{%- endif %}
-
-connect '/usr/sbin/chat -v -t6 -f {{ chat_script }}'
+### Autogenerated by interfaces-wirelessmodem.py ###
+
+{% if description %}
+# {{ description }}
+{% endif %}
+ifname {{ intf }}
+ipparam {{ intf }}
+linkname {{ intf }}
+{% if name_server -%}
+usepeerdns
+{%- endif %}
+# physical device
+/dev/{{ device }}
+lcp-echo-failure 0
+115200
+debug
+logfile {{ logfile }}
+nodefaultroute
+ipcp-max-failure 4
+ipcp-accept-local
+ipcp-accept-remote
+noauth
+crtscts
+lock
+persist
+{% if on_demand -%}
+demand
+{%- endif %}
+
+connect '/usr/sbin/chat -v -t6 -f {{ chat_script }}'