diff options
-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-x | src/conf_mode/interfaces-wirelessmodem.py | 19 |
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 |