Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Sebastian Moeller <moeller0@gmx.de>
To: leetminiwheat <LeetMiniWheat@gmail.com>
Cc: cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] squash/ignore DSCP and mangle table questions
Date: Mon, 13 Apr 2015 23:39:41 +0200	[thread overview]
Message-ID: <AF9B04C8-BBB3-4730-B383-BFCAF1CB68C2@gmx.de> (raw)
In-Reply-To: <CAGHZhqFv8FoqNsz7hJuBLz9pr+pUNLEMfDum+fz9916pezxnXg@mail.gmail.com>

Hi there,

On Apr 13, 2015, at 18:48 , leetminiwheat <LeetMiniWheat@gmail.com> wrote:

> 
> 
> On Mon, Apr 13, 2015 at 10:23 AM, Sebastian Moeller <moeller0@gmx.de> wrote:
> 
> >         Could you post the output of calling the following commands on your router please:
> >
> > /etc/init.d/sqm stop
> > /etc/init.d/sqm start
> > tc -d qdisc
> 
> I had some tweaks in /etc/rc.local I had to remove, so this is the output after a fresh reboot and running those commands:

Thanks.

> 
>  ~ # /etc/init.d/sqm stop
>  ~ # /etc/init.d/sqm start
>  ~ # tc -d qdisc
> qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
> qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 1 ver 3.17 direct_qlen 1000
> qdisc fq_codel 110: dev ge00 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 120: dev ge00 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 130: dev ge00 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------
> qdisc mq 1: dev sw10 root
> qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms
> qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms
> qdisc mq 1: dev sw00 root
> qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms
> qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms
> qdisc htb 1: dev gw00 root refcnt 5 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 1000
> qdisc fq_codel 110: dev gw00 parent 1:11 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc fq_codel 120: dev gw00 parent 1:12 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc fq_codel 130: dev gw00 parent 1:13 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc ingress ffff: dev gw00 parent ffff:fff1 ----------------
> qdisc htb 1: dev ifb4ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 32
> qdisc fq_codel 110: dev ifb4ge00 parent 1:11 limit 1001p flows 1024 quantum 500 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 120: dev ifb4ge00 parent 1:12 limit 1001p flows 1024 quantum 1500 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 130: dev ifb4ge00 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc htb 1: dev ifb4gw00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 32
> qdisc fq_codel 110: dev ifb4gw00 parent 1:11 limit 1001p flows 1024 quantum 500 target 10.9ms interval 105.9ms ecn
> qdisc fq_codel 120: dev ifb4gw00 parent 1:12 limit 1001p flows 1024 quantum 1500 target 10.9ms interval 105.9ms ecn
> qdisc fq_codel 130: dev ifb4gw00 parent 1:13 limit 1001p flows 1024 quantum 300 target 10.9ms interval 105.9ms ecn

	This looks reasonable.

> 
>  ~ # ifconfig
> ge00        Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5D
>                collisions:0 txqueuelen:1000
> 
> gw00       Link encap:Ethernet  HWaddr 22:4E:7F:91:9F:5C
>                collisions:0 txqueuelen:1000
> 
> 
> ifb4ge00   Link encap:Ethernet  HWaddr C2:00:73:A7:1E:30 
>                collisions:0 txqueuelen:32
> 
> 
> ifb4gw00  Link encap:Ethernet  HWaddr 9A:BA:17:27:79:A5     
>                collisions:0 txqueuelen:32
> 
> lo            Link encap:Local Loopback
>               collisions:0 txqueuelen:0
> 
> se00       Link encap:Ethernet  HWaddr 22:4E:7F:91:9F:5C
>               collisions:0 txqueuelen:1000
> 
> sw00      Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5C
>              collisions:0 txqueuelen:1000
> 
> sw10      Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5E
>              collisions:0 txqueuelen:1000

	I had a look at my cerowrt router and I also see txqueuelen at 1000, but IIRC that does not matter much anymore, since the wndr37/800 support BQL:
cat /sys/class/net/ge00/queues/tx-0/byte_queue_limits/limit_max
3000
So even with txqueuelen = 1000 the tx queue will only hold 3000 bytes. For fib and friends it does not really matter as far as I can tell.

> 
> and after rebooting and running my commands (still testing different values. should the IFBs txqueuelen be left alone? I left at default):
>  ~ # ifconfig ge00 txqueuelen 8
>  ~ # ifconfig se00 txqueuelen 8
>  ~ # ifconfig gw00 txqueuelen 4
>  ~ # ifconfig sw00 txqueuelen 4
>  ~ # ifconfig sw10 txqueuelen 4
> followed by a sqm restart
>  ~ # /etc/init.d/sqm stop
>  ~ # /etc/init.d/sqm start
>  ~ # tc -d qdisc
> qdisc fq_codel a: dev se00 root refcnt 2 limit 1000p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn
> qdisc htb 1: dev ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 8
> qdisc fq_codel 110: dev ge00 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 120: dev ge00 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 130: dev ge00 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc ingress ffff: dev ge00 parent ffff:fff1 ----------------
> qdisc mq 1: dev sw00 root
> qdisc fq_codel 10: dev sw00 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms
> qdisc fq_codel 20: dev sw00 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 30: dev sw00 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 40: dev sw00 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms
> qdisc mq 1: dev sw10 root
> qdisc fq_codel 10: dev sw10 parent 1:1 limit 800p flows 1024 quantum 500 target 10.0ms interval 100.0ms
> qdisc fq_codel 20: dev sw10 parent 1:2 limit 800p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 30: dev sw10 parent 1:3 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 40: dev sw10 parent 1:4 limit 1000p flows 1024 quantum 300 target 5.0ms interval 100.0ms
> qdisc htb 1: dev gw00 root refcnt 5 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 4
> qdisc fq_codel 110: dev gw00 parent 1:11 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc fq_codel 120: dev gw00 parent 1:12 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc fq_codel 130: dev gw00 parent 1:13 limit 1001p flows 1024 quantum 300 target 8.0ms interval 103.0ms
> qdisc ingress ffff: dev gw00 parent ffff:fff1 ----------------
> qdisc htb 1: dev ifb4ge00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 32
> qdisc fq_codel 110: dev ifb4ge00 parent 1:11 limit 1001p flows 1024 quantum 500 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 120: dev ifb4ge00 parent 1:12 limit 1001p flows 1024 quantum 1500 target 5.0ms interval 100.0ms ecn
> qdisc fq_codel 130: dev ifb4ge00 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn
> qdisc htb 1: dev ifb4gw00 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 32
> qdisc fq_codel 110: dev ifb4gw00 parent 1:11 limit 1001p flows 1024 quantum 500 target 10.9ms interval 105.9ms ecn
> qdisc fq_codel 120: dev ifb4gw00 parent 1:12 limit 1001p flows 1024 quantum 1500 target 10.9ms interval 105.9ms ecn
> qdisc fq_codel 130: dev ifb4gw00 parent 1:13 limit 1001p flows 1024 quantum 300 target 10.9ms interval 105.9ms ecn
> 
> 
>  ~ # ifconfig
> ge00        Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5D
>                collisions:0 txqueuelen:8
> 
> gw00       Link encap:Ethernet  HWaddr 22:4E:7F:91:9F:5C
>                collisions:0 txqueuelen:4
> 
> 
> ifb4ge00   Link encap:Ethernet  HWaddr C2:00:73:A7:1E:30 
>                collisions:0 txqueuelen:32
> 
> 
> ifb4gw00  Link encap:Ethernet  HWaddr 9A:BA:17:27:79:A5     
>                collisions:0 txqueuelen:32
> 
> lo            Link encap:Local Loopback
>               collisions:0 txqueuelen:0
> 
> se00       Link encap:Ethernet  HWaddr 22:4E:7F:91:9F:5C
>               collisions:0 txqueuelen: 8
> 
> sw00      Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5C
>              collisions:0 txqueuelen: 4
> 
> sw10      Link encap:Ethernet  HWaddr 20:4E:7F:91:9F:5E
>              collisions:0 txqueuelen: 4
> 
> 

If you have time and netperf-wrapper it would be good to convince yourself and us again, that txqueuelen really does not matter for BQL’d interfaces by running RRUL tests with and without your modifications….

Best Regards
	Sebastian



  reply	other threads:[~2015-04-13 21:39 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-13  6:37 leetminiwheat
2015-04-13  7:36 ` Sebastian Moeller
2015-04-13 10:27   ` leetminiwheat
2015-04-13 10:36     ` leetminiwheat
     [not found]     ` <ECC39EB0-9C54-4C17-9285-2484AD08ACF3@gmx.de>
2015-04-13 13:43       ` leetminiwheat
2015-04-13 14:16         ` leetminiwheat
2015-04-13 14:23           ` Sebastian Moeller
2015-04-13 16:48             ` leetminiwheat
2015-04-13 21:39               ` Sebastian Moeller [this message]
2015-04-15  1:35                 ` leetminiwheat
2015-04-15  9:05                   ` Sebastian Moeller
2015-04-22  0:19                     ` leetminiwheat
2015-04-22  0:28                       ` leetminiwheat
2015-04-22  9:19                         ` Sebastian Moeller
2015-04-22  9:03                       ` Sebastian Moeller
2015-04-22 10:17                         ` leetminiwheat

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

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

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

  git send-email \
    --in-reply-to=AF9B04C8-BBB3-4730-B383-BFCAF1CB68C2@gmx.de \
    --to=moeller0@gmx.de \
    --cc=LeetMiniWheat@gmail.com \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox