adding more than 100 network devices -- problems

From: Abraham van der Merwe
Date: Mon Sep 12 2005 - 08:03:14 EST


Hi!

I would like to use Linux for egress shaping in an ISP environment. I just
want to make sure client X doesn't get more than Y bandwidth, i.e. I'm not
interested in dividing the bandwidth up into chunks (i.e. HTB, CBQ, etc),
but rather limit clients' bandwidth.

I would like to avoid using ingress policing because I don't want to drop
clients' packets, rather do egress shaping.

As far as I can see, the only way to do this in Linux is to attach tbf to an
interface which means I need 2 interfaces for each client and enqueuing
their traffic to these devices. I am using IMQ for that.

The problem is that network devices are currently limited to 100
(dev_alloc_name() in net/core/dev.c).

Now I don't mind waiting a bit to initialize these devices at boottime, so
increasing this is no problem for me (and tweaking the masks in
include/linux/imq.h), but several problems (that I know or can think about -
there's probably many more) arise when you go above a couple of hundred
devices, all related to kmalloc failures.

Does anyone know

(a) in which parts of the networking code I'm going to run into problems?
(b) what I would need to change/fix in order to work around those problems?
(c) of any better ways to do egress shaping for lots of clients in Linux
(i.e. some way to avoid having an interface(s) per client)?

--

Regards
Abraham

TODAY the Pond!
TOMORROW the World!
-- Frogs (1972)

___________________________________________________
Abraham vd Merwe - Frogfoot Networks CC
1st Floor, Albion Springs, 183 Main Road, Newlands
Phone: +27 21 689 3876 Cell: +27 82 565 4451
Http: http://www.frogfoot.net/ Email: abz@xxxxxxxxxxxx

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/