All of lore.kernel.org
 help / color / mirror / Atom feed
* The "tc filter .. police" command does not have parameter "limit"
@ 2014-07-28  5:14 Fengyu Gao
  2014-08-03 22:06 ` Andy Furniss
  2014-08-03 22:25 ` Dave Taht
  0 siblings, 2 replies; 3+ messages in thread
From: Fengyu Gao @ 2014-07-28  5:14 UTC (permalink / raw)
  To: lartc

Hi,

I have a question about the "tc filter ... police" command. This
command is similar to the token bucket filter. Under Linux, ingress
traffic can be redirected to an imq or ifb, then you can apply a tbf
there.

However, tbf has an important parameter "limit", which is the size of
the buffer for waiting packets, and it is different from the "burst"
parameter. In the "tc filter ... police" command, there does not seem
to be a "limit" parameter, and there seems to be no document or
discussions about it. Digging into the Linux kernel might be a bit
difficult for me. So my question is what is the buffer size in this
case?

Thanks

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: The "tc filter .. police" command does not have parameter "limit"
  2014-07-28  5:14 The "tc filter .. police" command does not have parameter "limit" Fengyu Gao
@ 2014-08-03 22:06 ` Andy Furniss
  2014-08-03 22:25 ` Dave Taht
  1 sibling, 0 replies; 3+ messages in thread
From: Andy Furniss @ 2014-08-03 22:06 UTC (permalink / raw)
  To: lartc

Fengyu Gao wrote:
> Hi,
>
> I have a question about the "tc filter ... police" command. This
> command is similar to the token bucket filter. Under Linux, ingress
> traffic can be redirected to an imq or ifb, then you can apply a tbf
> there.
>
> However, tbf has an important parameter "limit", which is the size
> of the buffer for waiting packets, and it is different from the
> "burst" parameter. In the "tc filter ... police" command, there does
> not seem to be a "limit" parameter, and there seems to be no document
> or discussions about it. Digging into the Linux kernel might be a
> bit difficult for me. So my question is what is the buffer size in
> this case?

Policers do not buffer and as a result can be a bit aggressive.

IIRC the burst parameter is like a virtual buffer but policers
never hold the packets  - just pass or drop.

Personally I would rather shape but then you have to consider latency
added by buffering. To avoid this you may need to classify traffic to
give latency sensitive priority.

fq_codel could be worth investigating as a single qdisc alternative to a
policer.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: The "tc filter .. police" command does not have parameter "limit"
  2014-07-28  5:14 The "tc filter .. police" command does not have parameter "limit" Fengyu Gao
  2014-08-03 22:06 ` Andy Furniss
@ 2014-08-03 22:25 ` Dave Taht
  1 sibling, 0 replies; 3+ messages in thread
From: Dave Taht @ 2014-08-03 22:25 UTC (permalink / raw)
  To: lartc

On Sun, Aug 3, 2014 at 6:06 PM, Andy Furniss <adf.lists@gmail.com> wrote:
> Fengyu Gao wrote:
>>
>> Hi,
>>
>> I have a question about the "tc filter ... police" command. This
>> command is similar to the token bucket filter. Under Linux, ingress
>> traffic can be redirected to an imq or ifb, then you can apply a tbf
>> there.
>>
>> However, tbf has an important parameter "limit", which is the size
>> of the buffer for waiting packets, and it is different from the
>> "burst" parameter. In the "tc filter ... police" command, there does
>> not seem to be a "limit" parameter, and there seems to be no document
>> or discussions about it. Digging into the Linux kernel might be a
>> bit difficult for me. So my question is what is the buffer size in
>> this case?
>
>
> Policers do not buffer and as a result can be a bit aggressive.

+1

http://www.bufferbloat.net/projects/cerowrt/wiki/Wondershaper_Must_Die

>
> IIRC the burst parameter is like a virtual buffer but policers
> never hold the packets  - just pass or drop.
>
> Personally I would rather shape but then you have to consider latency
> added by buffering. To avoid this you may need to classify traffic to
> give latency sensitive priority.
>
> fq_codel could be worth investigating as a single qdisc alternative to a
> policer.

What I am doing with reasonable success is using act_mirred, with an
inbound ifb device, + htb + fq_codel

A simple example here: http://wiki.gentoo.org/wiki/Traffic_shaping

(note that the fq_codel target and interval should be increased to account for
 an MTU's worth of packets at below 3mbit)

A more complex example can be had in various qos scripts, the sqm
scripts in cerowrt also do inbound diffserv squashing and a few other
tricks.

https://github.com/dtaht/ceropackages-3.10/tree/master/net/sqm-scripts/files/usr/lib/sqm

While somewhat openwrt specific by default they can be easily used with any
modern linux kernel.

>
> --
> To unsubscribe from this list: send the line "unsubscribe lartc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Dave Täht

NSFW: https://w2.eff.org/Censorship/Internet_censorship_bills/russell_0296_indecent.article

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-08-03 22:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-28  5:14 The "tc filter .. police" command does not have parameter "limit" Fengyu Gao
2014-08-03 22:06 ` Andy Furniss
2014-08-03 22:25 ` Dave Taht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.