summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-04 11:40:06 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-04 11:40:08 +0200
commitfec5b40244520b8455abd2fdcd8ce347a27fd7f4 (patch)
treeff8088073a441c81ed9dc06fd8575d0240f728ab
parentb250b233ec136cfe2655c4de8d18468cd1959083 (diff)
downloadvyos-1x-fec5b40244520b8455abd2fdcd8ce347a27fd7f4.tar.gz
vyos-1x-fec5b40244520b8455abd2fdcd8ce347a27fd7f4.zip
wwan: T1988: move default route scripts to Jinja templates
-rw-r--r--[-rwxr-xr-x]data/templates/wwan/ip-down.script.tmpl (renamed from src/etc/ppp/ip-down.d/0020-wirelessmodem)36
-rw-r--r--[-rwxr-xr-x]data/templates/wwan/ip-up.script.tmpl (renamed from src/etc/ppp/ip-up.d/0020-wirelessmodem)36
-rwxr-xr-xsrc/conf_mode/interfaces-wirelessmodem.py19
3 files changed, 54 insertions, 37 deletions
diff --git a/src/etc/ppp/ip-down.d/0020-wirelessmodem b/data/templates/wwan/ip-down.script.tmpl
index c93c7cabe..1c5b8a749 100755..100644
--- a/src/etc/ppp/ip-down.d/0020-wirelessmodem
+++ b/data/templates/wwan/ip-down.script.tmpl
@@ -1,18 +1,18 @@
-#!/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 }'`
-
-vtysh -c "conf t" -c "no ip route 0.0.0.0/0 ${device} ${metric}"
-
-DIALER_PID=$(cat /var/run/${device}.pid)
-logger -t pppd[$DIALER_PID] "removed default route via $device metric $metric"
+#!/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 }'`
+
+vtysh -c "conf t" -c "no ip route 0.0.0.0/0 ${device} ${metric}"
+
+DIALER_PID=$(cat /var/run/${device}.pid)
+logger -t pppd[$DIALER_PID] "removed default route via $device metric $metric"
diff --git a/src/etc/ppp/ip-up.d/0020-wirelessmodem b/data/templates/wwan/ip-up.script.tmpl
index 95549387b..c40f3ba9d 100755..100644
--- a/src/etc/ppp/ip-up.d/0020-wirelessmodem
+++ b/data/templates/wwan/ip-up.script.tmpl
@@ -1,18 +1,18 @@
-#!/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 }'`
-
-vtysh -c "conf t" -c "ip route 0.0.0.0/0 ${device} ${metric}"
-
-DIALER_PID=$(cat /var/run/${device}.pid)
-logger -t pppd[$DIALER_PID] "added default route via $device metric $metric"
+#!/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 }'`
+
+vtysh -c "conf t" -c "ip route 0.0.0.0/0 ${device} ${metric}"
+
+DIALER_PID=$(cat /var/run/${device}.pid)
+logger -t pppd[$DIALER_PID] "added default route via $device metric $metric"
diff --git a/src/conf_mode/interfaces-wirelessmodem.py b/src/conf_mode/interfaces-wirelessmodem.py
index 7a10b9c43..d00259bf5 100755
--- a/src/conf_mode/interfaces-wirelessmodem.py
+++ b/src/conf_mode/interfaces-wirelessmodem.py
@@ -143,8 +143,11 @@ def generate(wwan):
config_wwan = f'/etc/ppp/peers/{intf}'
config_wwan_chat = wwan['chat_script']
script_wwan_pre_up = f'/etc/ppp/ip-pre-up.d/1010-vyos-wwan-{intf}'
+ script_wwan_ip_up = f'/etc/ppp/ip-up.d/1010-vyos-wwan-{intf}'
+ script_wwan_ip_down = f'/etc/ppp/ip-down.d/1010-vyos-wwan-{intf}'
- config_files = [config_wwan, config_wwan_chat, script_wwan_pre_up]
+ config_files = [config_wwan, config_wwan_chat, script_wwan_pre_up,
+ script_wwan_ip_up, script_wwan_ip_down]
# Ensure directories for config files exist - otherwise create them on demand
for file in config_files:
@@ -181,8 +184,22 @@ def generate(wwan):
with open(script_wwan_pre_up, 'w') as f:
f.write(config_text)
+ # Create script for ip-up.d
+ tmpl = env.get_template('ip-up.script.tmpl')
+ config_text = tmpl.render(wwan)
+ with open(script_wwan_ip_up, 'w') as f:
+ f.write(config_text)
+
+ # Create script for ip-down.d
+ tmpl = env.get_template('ip-down.script.tmpl')
+ config_text = tmpl.render(wwan)
+ with open(script_wwan_ip_down, 'w') as f:
+ f.write(config_text)
+
# make generated script file executable
chmod_x_file(script_wwan_pre_up)
+ chmod_x_file(script_wwan_ip_up)
+ chmod_x_file(script_wwan_ip_down)
return None