From 1dd5728a0612658107d9a9afa5b99702d0bd6c51 Mon Sep 17 00:00:00 2001 From: Christian Poessinger Date: Sat, 4 Apr 2020 13:54:40 +0200 Subject: wwan: T2219: use Jinja variables rather then Bash args --- data/templates/wwan/ip-down.script.tmpl | 56 ++++++++++++++---------------- data/templates/wwan/ip-up.script.tmpl | 56 ++++++++++++++---------------- data/templates/wwan/peer.tmpl | 60 ++++++++++++++++----------------- 3 files changed, 82 insertions(+), 90 deletions(-) (limited to 'data/templates/wwan') 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 }}' -- cgit v1.2.3