On Mon, 1 Mar 2004, James Yonan wrote:
> Christian Daniel <c...@cdaniel.de> said: > > > Hello everybody! > > > > For a student research project I'm trying to add multi instance capability > > to > > OpenVPN. The basic idea is to rip the main openvpn()-function apart, put all > > variables in a struct and then have only one select()-call for all open > > tunnels at once. > > It's already been done :) > > See the BETA20 branch in the CVS. > > Having said that, I think it's great that you want to contribute to the code, > and there's still a lot of work yet to be done. > > > Then there should be one unix-socket which can be connected by some > > to-be-written control-application, which manages the tunnels. In detail it > > should be possible to add and remove tunnels on demand just by sending the > > appropriate config down that unix-socket. > > > > Each tunnel should have it's own tun/tap-device open - the linux kernel has > > no > > problem to cope with so many interfaces... I don't think, that it's a good > > idea, to create only one tun-device and then have some kind of internal > > routing-engine... > > The current plan for 2.0 is to also handle the case of multiple tunnels > through a single tun/tap interface. This will scale better overall, and will > be necessary on some platforms such as Windows which cannot efficiently handle > a large number of tun/tap interfaces.