Traffic shaping per connection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Does such a thing exist? If so, could someone point me at the relevant
bit of documentation or source code and I'll go off and do some reading?

Thanks,

-- 
Colin Watson                                     <cjw44@flatline.org.uk>
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux