just to correct some wrong information i gave, imq _does_ use that function indirectly
through alloc_netdev, the caller sets the format string not the name. Must have been
too late. Anyway, this patch should fix your problem.
Bye Patrick
Patrick McHardy wrote:
Hasso Tepper wrote:
But there is problem though - router can handle more, but I'm running out of IMQ devices. Default is 16 devices, but it is possible to change it in linux/include/imq.h. Theoretical maximum is 127. There is bug is imq module btw, it refuses to accept bigger number of numdevs argument than 99. But router really can handle more.The default is 2 devices. I can not imagine why there should be a 99 device
limit, there is one such limit in net/core/dev.c:dev_alloc_name, but imq
doesn't use that function. I can't really imagine alloc_netdev calling dev_alloc_name
because the caller chooses it's own name, but i haven't checked. if you want
to make sure, change dev_alloc_name to support more than 100 devices (trivial)
and try again. Please inform me in case of success.
Bye, Patrick
===== net/core/dev.c 1.36 vs edited ===== --- 1.36/net/core/dev.c Fri May 23 19:59:51 2003 +++ edited/net/core/dev.c Wed Jul 9 13:29:21 2003 @@ -620,7 +620,7 @@ /* * If you need over 100 please also fix the algorithm... */ - for (i = 0; i < 100; i++) { + for (i = 0; i < 128; i++) { snprintf(buf,sizeof(buf),name,i); if (__dev_get_by_name(buf) == NULL) { strcpy(dev->name, buf);