Hi,
we (openwisp.it) are an open source wireless ISP using openvpn's tap devices 
to bridge access points with our main servers.

We recently ran into a problem with openvpn's internal routing table getting 
filled up by "old and stale" routes.
Some routes are kept for months (till the vpn gets restarted). This and the 
--max-routes-per-client option makes
the internal routing table fill up and never let newer clients add new internal 
routes.

Since we were unable to find a way to clean stale routes by reading the 
manpages, we began exploring openvpn's
code to create a patch that would clean old and inactive routes. The patch is 
working but, by looking through code,
we found some reference to MULTI_ROUTE_AGEABLE and ageable_ttl_secs in the 
multi_route_defined method (multi.h).

Are those in any way meant to clean, in any way (maybe yet to implement), aged 
routes?
We tried using multi_route_defined to keep track of such routes without success.

Should we keep trying with MULTI_ROUTE_AGEABLE or find other ways (we 
implemented the patch by using a dedicated
timer that triggers a function that does something similar to what happens on 
teardown)?

We are currently patching OpenVPN 2.1.0


Regards,
Matteo Latini

Reply via email to