diff --git a/l2tpns.c b/l2tpns.c index ad25a1d..baa1a50 100644 --- a/l2tpns.c +++ b/l2tpns.c @@ -3846,14 +3846,6 @@ static void regular_cleanups(double period) s_actions++; } - // Send periodic RA - if (session[s].ppp.phase == Network && session[s].ppp.ipv6cp == Opened && - (time_now - sess_local[s].last_ra >= RtrAdvInterval)) - { - send_ipv6_ra(s, t, NULL); - sess_local[s].last_ra = time_now; - } - // Drop sessions who have reached session_timeout seconds if (session[s].session_timeout) { @@ -3967,6 +3959,14 @@ static void regular_cleanups(double period) cluster_send_session(s); } + // Send periodic RA + if (session[s].ppp.phase == Network && session[s].ppp.ipv6cp == Opened && + (time_now - sess_local[s].last_ra >= RtrAdvInterval)) + { + send_ipv6_ra(s, t, NULL); + sess_local[s].last_ra = time_now; + } + // RADIUS interim accounting if (config->radius_accounting && config->radius_interim > 0 && session[s].ip && !session[s].walled_garden