Assembla home | Assembla project page
 

Changeset 4

Show
Ignore:
Timestamp:
08/26/07 05:39:51 (1 year ago)
Author:
evdowizard
Message:

added keepalive maximum packet loss setting to webif

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/imagebuilder/files/bin/keepalive

    r1 r4  
    1010echo $$ > $lock 
    1111 
    12 # Server that will be pinged 
    13 TARGET=$(nvram get wwan_keepalive_ip) 
     12# Server that will be pinged, if no IP is specified, use the local IP 
     13target=$(nvram get wwan_keepalive_ip) 
     14peer=$(/sbin/ifconfig ppp0 | grep 'P-t-P:' | cut -d: -f3 | awk '{print $1}') 
     15target=${target:-$peer} 
    1416 
    15 # If no IP is specified, use the local IP 
    16 if [ "$TARGET" = "" ]; then 
    17         TARGET=$(/sbin/ifconfig ppp0 | grep 'P-t-P:' | cut -d: -f3 | awk '{print $1}') 
    18 fi 
    19  
    20 # Maximum packet loss percentage 
    21 MAX=65 
     17# Maximum packet loss percentage, if none is specified use 75 
     18max=$(nvram get wwan_keepalive_maxfail) 
     19max=${max:-75} 
    2220 
    2321# Keep the last log 
     
    2725 
    2826# Startup message 
    29 echo "$(echo $old; echo "$(date '+%H:%M:%S'): Keepalive daemon started, maximum packet loss set to ${MAX}%")" > /tmp/keepalive.log 
    30 logger -p user.notice -t keepalive "Keepalive daemon started, maximum packet loss set to ${MAX}%" 
     27echo "$(echo $old; echo "$(date '+%H:%M:%S'): Keepalive daemon started, maximum packet loss set to ${max}%")" > /tmp/keepalive.log 
     28logger -p user.notice -t keepalive "Keepalive daemon started, maximum packet loss set to ${max}%" 
    3129 
    3230# Wait 10 seconds before initializing 
     
    3735do 
    3836 
    39         PACKETLOSS=$(ping -c 10 -q $TARGET | grep 'packet loss' | awk -F',' '{ print $3 }' | awk -F'%' '{ print $1 }') 
     37        packetloss=$(ping -c 10 -q $target | grep 'packet loss' | awk -F',' '{ print $3 }' | awk -F'%' '{ print $1 }') 
    4038        # If packet loss exceeds the maximum 
    41         if [ $PACKETLOSS -gt $MAX ]; then 
     39        if [ $packetloss -gt $max ]; then 
    4240        # Make sure that the blue light is still on 
    4341        [ "$(cat /proc/diag/led/3g_blue)" = "1" ] && { 
    4442                # Reconnnect 
    45                 echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Reached ${PACKETLOSS}% packet loss, reconnecting...")" > /tmp/keepalive.log 
    46                 logger -p user.notice -t keepalive "Reached ${PACKETLOSS}% packet loss, reconnecting..." 
     43                echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Reached ${packetloss}% packet loss, reconnecting...")" > /tmp/keepalive.log 
     44                logger -p user.notice -t keepalive "Reached ${packetloss}% packet loss, reconnecting..." 
    4745                ifdown wwan 
    4846                sleep 10 
     
    5149exit 
    5250else 
    53         echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Responding with ${PACKETLOSS}% packet loss")" > /tmp/keepalive.log 
     51        echo "$(cat /tmp/keepalive.log | tail -n 100; echo "$(date '+%H:%M:%S'): Responding with ${packetloss}% packet loss")" > /tmp/keepalive.log 
    5452fi 
    5553 
  • trunk/imagebuilder/files/www/cgi-bin/webif/network-wan-lan.sh

    r1 r4  
    9898        FORM_wwan_type=${wwan_type:-$(nvram get wwan_type)} 
    9999        FORM_wwan_redial=${wwan_redial:-$(nvram get wwan_redial)} 
    100         FORM_wwan_keepalive=${wwan_keepalive:-$(nvram get wwan_keepalive)} 
     100        FORM_wwan_keepalive_ip=${wwan_keepalive_ip:-$(nvram get wwan_keepalive_ip)} 
     101        FORM_wwan_keepalive_maxfail=${wwan_keepalive_maxfail:-$(nvram get wwan_keepalive_maxfail)} 
    101102        FORM_wwan_idletime=${wwan_idletime:-$(nvram get wwan_idletime)} 
    102103 
     
    210211 
    211212                                # These can be blank 
    212                                 save_setting network wwan_keepalive "$FORM_wwan_keepalive" 
     213                                save_setting network wwan_keepalive_ip "$FORM_wwan_keepalive_ip" 
     214                                save_setting network wwan_keepalive_maxfail "$FORM_wwan_keepalive_maxfail" 
    213215                                save_setting network wwan_network "$FORM_wwan_network" 
    214216                                save_setting network wwan_passwd "$FORM_wwan_passwd" 
     
    292294        set_visible('field_wwan_redial', v); 
    293295        set_visible('wwan_network_settings', v); 
    294         set_visible('opendns_form', v); 
    295         set_visible('field_wwan_keepalive', v && !isset('wwan_redial', 'demand')); 
    296         set_visible('help_keepalive', v && !isset('wwan_redial', 'demand')); 
     296        set_visible('field_wwan_keepalive_ip', v && !isset('wwan_redial', 'demand')); 
     297        set_visible('field_wwan_keepalive_maxfail', v && !isset('wwan_redial', 'demand')); 
    297298        set_visible('field_wwan_idletime', v && isset('wwan_redial', 'demand')); 
    298299 
     
    327328option|persist|@TR<<Always Connected>> 
    328329option|manual|@TR<<Connect Manually>> 
    329 field|@TR<<Custom Keepalive IP>>|field_wwan_keepalive|hidden 
    330 text|wwan_keepalive|$FORM_wwan_keepalive 
     330field|@TR<<Custom Keepalive IP>>|field_wwan_keepalive_ip|hidden 
     331text|wwan_keepalive_ip|$FORM_wwan_keepalive_ip 
     332field|@TR<<Maximum Packet Loss %>>|field_wwan_keepalive_maxfail|hidden 
     333text|wwan_keepalive_maxfail|$FORM_wwan_keepalive_maxfail 
    331334field|@TR<<Auto Disconnect (Min.)>>|field_wwan_idletime|hidden 
    332335text|wwan_idletime|$FORM_wwan_idletime