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);
