At 06:10 PM 09/07/2000 +0100, Colin Watson wrote: >Hi, > >Having won my small fight with the iproute2 userspace tools, I've >managed to set up a script that does roughly what I want in the way of >traffic shaping. However, what I have at the moment is something of a >sledgehammer solution to a nut problem, and I'm wondering if anyone has >any suggestions as to how to streamline things. > >What I would like to be able to do, for benchmarking purposes, is to >rate-limit the outgoing traffic on each TCP connection. What I'm doing >now is using one filter and one (TBF) qdisc for each port, with an >associated tree of CBQ classes. Naturally, when you want to do >something like limit all your ephemeral ports, forking tc this many >times takes quite a while (not to mention going all the way round my pid >numbers :)). > >It also feels clunky. All the qdiscs have exactly the same parameters, >but I need loads of separate ones because, as I understand it, qdiscs >limit the total flow of traffic passing through them, whereas I want to >limit each individual connection (and just multiplying up the rate isn't >good enough, since I lose bounding and isolation that way). If I could >have a connection-oriented qdisc (or class), then I could just have a >single filter matching the relevant port range pointing to a single >qdisc, and my kernel would probably be a lot happier about it all. You realize of course that CBQs efficiency diminishes with each added connection? Its not designed for a high volume of "classes" Its pretty good with just a few monodirectional streams.... DB Emerging Technologies, Inc. ---------------------------------------------------------------------------- --------- http://www.etinc.com ISA and PCI T1/T3/V35/HSSI Cards for FreeBSD and LINUX Multiport T1 and HSSI/T3 UNIX-based Routers Bandwidth Management Standalone Systems Bandwidth Management software for LINUX and FreeBSD - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org