X-Git-Url: http://git.sameswireless.fr/l2tpns.git/blobdiff_plain/9c77145f71b0e669421d00ae0b34680f875121ae..f648d5a7c30d8218c47af5a3c5dc056cc2650672:/l2tpns.c?ds=sidebyside diff --git a/l2tpns.c b/l2tpns.c index 114981f..9a5c5cc 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -132,6 +132,7 @@ config_descriptt config_values[] = { CONFIG("ppp_restart_time", ppp_restart_time, INT), CONFIG("ppp_max_configure", ppp_max_configure, INT), CONFIG("ppp_max_failure", ppp_max_failure, INT), + CONFIG("ppp_keepalive", ppp_keepalive, BOOL), CONFIG("primary_dns", default_dns1, IPv4), CONFIG("secondary_dns", default_dns2, IPv4), CONFIG("primary_radius", radiusserver[0], IPv4), @@ -3780,8 +3781,10 @@ static void regular_cleanups(double period) } // No data in ECHO_TIMEOUT seconds, send LCP ECHO - if (session[s].ppp.phase >= Establish && (time_now - session[s].last_packet >= config->echo_timeout) && - (time_now - sess_local[s].last_echo >= ECHO_TIMEOUT)) + if (session[s].ppp.phase >= Establish && + ((!config->ppp_keepalive) || + (time_now - session[s].last_packet >= config->echo_timeout)) && + (time_now - sess_local[s].last_echo >= ECHO_TIMEOUT)) { uint8_t b[MAXETHER]; @@ -4600,6 +4603,7 @@ static void initdata(int optdebug, char *optconfig) // Set default value echo_timeout and idle_echo_timeout config->echo_timeout = ECHO_TIMEOUT; config->idle_echo_timeout = IDLE_ECHO_TIMEOUT; + config->ppp_keepalive = 1; // Set default RDNSS lifetime config->dns6_lifetime = 1200; @@ -5386,8 +5390,8 @@ static void update_config() // reset MRU/MSS globals MRU = config->l2tp_mtu - L2TP_HDRS; - if (MRU > PPPoE_MRU) - MRU = PPPoE_MRU; + //if (MRU > PPPoE_MRU) + // MRU = PPPoE_MRU; MSS = MRU - TCP_HDRS;