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.
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... My main problems so far are: - which code-base should I use? Should I start with 1.5 oder should I take code from CVS? CVS means shooting on a moving target... - how to handle the garbage collection? Is it really necessary or is the code leak-free? Is there any interest here to support that project? We will do it because it is out assignment - and we will finish it :) Thank you for your help! Christian -- +-------------------------------------------------------+ | Christian Daniel | | Drechselblick 5 Mariannhillstraße 6 / App. 220 | | D-97816 Lohr am Main D-97074 Würzburg | +-----------------------+---------------+---------------+ | http://www.cdaniel.de | c...@cdaniel.de | ICQ: 95896119 | +-----------------------+---------------+---------------+