Re: New HTB-derived qdisc for accounting?

Linux Advanced Routing and Traffic Control

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

 



Patrick McHardy schrieb:
> Carl-Daniel Hailfinger wrote:
> 
>>Proposal:
>>----------------------------------
>>Another idea would be to create a qdisc HTBQ (HTB with quota)
>>derived from HTB with the following characteristics:
>>
>>htb_rate=min(htbq_rate, (alreadysent=>htbq_squota)?((htbq_quota-alreadysent)/remtime):htbq_rate)
> 
> 
> Why do you want to decrease speed as the quota is approached?

We have two phases (simplified):
1. Already sent traffic is less than htbq_squota
     -> Do not limit anything.
2. Already sent traffic is more than htbq_squota
     -> Limit the rate to something which allows the quota
        to be filled completely in the remainig time.

Most people stay below htbq_squota and do not notice
anything at all, i.e. they get full wire speed. Power users
will cause more traffic than htb_squota and be limited so
they can't get over htbq_quota. Since it is impossible to
send faster than htb_rate, htb_rate will stay constant if
it is fully utilized. If htb_rate is not fully utilized,
the speed will actually *increase* over time.

> Wouldn't a simple per-class quota or a quota-ematch work as
> well?

That would be easier, but I can't see how to realize the
process above with a quota-ematch. Especially the dynamic
rate adaption needs something more than just quota.
Probably one could combine quota-ematch with some userspace
hackery to achieve what I want, but it would require to
statically set up 65536 classes for a /16 network. Hm.
The only difference to my solution would be that we need
a quota ematch instead of a htb_quota qdisc and rate control
would be done in userspace.

So where can I find code doing a quota ematch?


Regards,
Carl-Daniel
-- 
http://www.hailfinger.org/
_______________________________________________
LARTC mailing list
LARTC@xxxxxxxxxxxxxxx
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux