Paolo wrote:
"... hashlimit uses hash buckets to express a rate limiting match (like the limit match) for a group of connections using a single iptables rule. Grouping can be done per-hostgroup (source and/or destination address) and/or per-port. ..."
hashlimit implements a packet based token bucket filter, where as for traffic shaping you want something bit based. there is a hack way to archive this with hashlimit however.. if you setup rules using the length module to group packets first by size then pass them through to separate hashlimit rules each with the appropriate rate in packets for the size of the expected packets you could attempt to achieve this goal however it would be a hack and poor substitute for the power of tc and htb.
however with tc you setup classes for how you want bandwidth to be split up like class1 - 100-200k class2 - 20-200k class3 - 20-100kwhere we can say all voice goes over class1, subnet a goes over class2 and subnet b goes over class 3 the only way 2 give individual machines their own limit is to setup individual classes for them which inst practical .. at least as far as i am aware and have used tc, somebody please correct me on this as i too have longed for a solution to this problem.
-- Mark Chong System Administrator Quick Knowledge p: 03 9804 2130 f: 1800 657 778 mail: mchong@qk.com.au web: www.qk.com.au