All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Furniss <andyqos@ukfsn.org>
To: lartc@vger.kernel.org
Subject: Re: Ingress filter is overly aggressive
Date: Tue, 19 Feb 2013 15:32:21 +0000	[thread overview]
Message-ID: <51239B05.2070209@ukfsn.org> (raw)
In-Reply-To: <000e01ce0e5f$674748d0$35d5da70$@JAMMConsulting.com>

Neil Aggarwal wrote:
> Hello:
>
> I have these rules set up for an interface:
>
> IP=a.b.c.d
> DEV=v1208
> /sbin/tc qdisc del dev $DEV root
> /sbin/tc qdisc add dev $DEV root handle 1: htb default 30
> /sbin/tc class add dev $DEV parent 1: classid 1:1 htb rate 5mbit
> /sbin/tc class add dev $DEV parent 1: classid 1:2 htb rate 5mbit
> /sbin/tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip dst
> $IP flowid 1:1
> /sbin/tc filter add dev $DEV protocol ip parent 1:0 prio 1 u32 match ip src
> $IP flowid 1:2
> /sbin/tc qdisc del dev $DEV ingress
> /sbin/tc qdisc add dev $DEV ingress handle ffff:
> /sbin/tc filter add dev $DEV parent ffff: protocol ip prio 50 u32 match ip
> src 0.0.0.0/0 police rate 5mbit burst 500k drop flowid :1
>
> According to these rules, the ingress police rate should be 5 mbit/sec, but
> I am barely
> getting 50 kbits/sec through the interface.
>
> If I remove the filter, the interface operates at full line rate.
>
> Any ideas why the ingress filter is being so aggressive?

Hmm, I just tested and got the same.

It seems the problem is that you don't specify mtu adding mtu 3100 fixed 
for me.

I think there is an issue with policer and kernel receive offload - 
which on my box at least makes it look like double size packets are 
arriving (you can turn it off with ethtool).

Last time I looked with ifb it seemed that anything on that actually saw 
the packets as normal size (1514 on eth).

Testing above policer with mtu 1600 doesn't work though (well it works 
slowly as I guess tcp is eventually beaten into sending one packet at a 
time), so it seems policer is seeing double size phony packets as mtu 
3100 does work.

Policers can be over aggresive even when working eg. though 500k burst 
seemed to work for one file testing on 100mbit eth I don't know if It 
would be too big for many connections - but then setting too small is 
also likely to hurt - needs lots of testing with real workloads I guess.






  parent reply	other threads:[~2013-02-19 15:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-19  5:10 Ingress filter is overly aggressive Neil Aggarwal
2013-02-19  8:18 ` Aleš Rataj
2013-02-19 15:00 ` Neil Aggarwal
2013-02-19 15:32 ` Andy Furniss [this message]
2013-02-19 16:33 ` Neil Aggarwal
2013-02-19 23:01 ` Neil Aggarwal
2013-02-20  9:45 ` Andy Furniss

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51239B05.2070209@ukfsn.org \
    --to=andyqos@ukfsn.org \
    --cc=lartc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.