[lkml]   [2005]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectadding more than 100 network devices -- problems

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



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: Email:

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-09-12 15:05    [W:0.020 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site