Daniel Berger wrote:

I assume you need the following patch:

diff -urN linux-2.4.26.org/net/core/dev.c linux-2.4.26/net/core/dev.c
--- linux-2.4.26.org/net/core/dev.c     Wed Apr 14 15:05:41 2004
+++ linux-2.4.26/net/core/dev.c Thu Apr 15 18:54:01 2004
@@ -619,8 +619,12 @@

        /*
         * If you need over 100 please also fix the algorithm...
+        *
+        * Maybe it's never needed but just to be sure we allow
+        * up to 1000 tun/tap devices.
+        *
         */
-       for (i = 0; i < 100; i++) {
+       for (i = 0; i < 1000; i++) {
                snprintf(buf,sizeof(buf),name,i);
                if (__dev_get_by_name(buf) == NULL) {
                        strcpy(dev->name, buf);


I just look at the code in FreeBSD, it handles 1000 tunnel by default:
case MOD_LOAD:

/* intitialize device */
               mtx_init(&tapmtx, "tapmtx", NULL, MTX_DEF);
               SLIST_INIT(&taphead);

               clone_setup(&tapclones);
eh_tag = EVENTHANDLER_REGISTER(dev_clone, tapclone, 0, 1000);
               if (eh_tag == NULL) {
                       clone_cleanup(&tapclones);
                       mtx_destroy(&tapmtx);
                       return (ENOMEM);
               }
               return (0);

Sit back and relax. :)
sam

can this info be added to http://openvpn.sourceforge.net/install.html
so that everyone knows it in the future?

How is this with Kernel 2.6? I checked the source of 2.6.7, but could'nt find this codefragment in
/net/core/dev.c
Anyone knows the limint in 2.6?

Dani


Reply via email to